- Bachelor's degree in computer science or related degree.
- Knowledge of the software development life-cycle.
- Proven experience as a Software Developer, Software Engineer
- Familiarity with Agile development methodologies
- Experience with software design and development in a test-driven environment
- Experience with databases and Object-Relational Mapping (ORM) frameworks
- Ability to learn new languages and technologies
- 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.
- Good knowledge of Databases
Good interpersonal skills
The role of a Software Developer / Application Software Developer shall include, but not limited to the following:
- Responsible for producing high-quality, front-end web code with an emphasis on efficiency, ease of maintenance and compatibility.
- Deliver assigned tasks and projects with little or no supervision required to complete on time and within budget.
- Understands / gather business requirement, and translate business requirements into technical specs, then engineer effective solutions to solve business problems.
- Developing and managing software packages for websites
- Developing and managing installation programs for websites
- Programming web application codes
- Programming content and page links
- Troubleshooting and debugging
- Analysis and testing software packages
- Modifying software to fix errors, adapt it to new hardware, improve its performance, or upgrade interfaces.
- Carryout system testing and validation procedures.
- Carry out documentation development for software developed.
- Working with customers or departments 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.
- Consulting with engineering staff to evaluate software-hardware interfaces and develop specifications and performance requirements.
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 project managers to obtain information on limitations or capabilities.
Developing technical handbooks to represent the design and code of new applications.