- Modifying software to fix errors, adapt it to new hardware, improve its performance, or upgrade interfaces.
- Directing system testing and validation procedures.
- Directing software programming and documentation development.
- Consulting with colleagues on project status and proposals.
- Working with clients on technical issues including software system design and maintenance.
- Analyzing information to recommend and plan the installation of new systems or modifications of an existing system.
- Designing and developing software systems using scientific analysis and mathematical models to predict and measure outcomes and design consequences.
- Preparing reports on programming project specifications, activities, or status.
- Conferring with the project manager to obtain information on limitations or capabilities.
- Bachelor's degree in computer science or related degree.
- Knowledge of the software development life-cycle.
- The desire to work in a fast-paced environment.
- Ability to develop unit testing of code components or complete applications.
- Creativity is always a plus.
- Must be a full-stack developer and understand concepts of software engineering.
- Experience working on a variety of software development projects.
- Deep programming language knowledge.