• 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.