The software developer's role is to design, code, test, and analyze software programs and applications. This includes researching, designing, documenting, and modifying software specifications throughout the production lifecycle. The software developer will also analyze and amend software errors in a timely and accurate fashion and provide status reports where required.Responsibilities
System Development Planning
- Participate in conceptualizing and developing new software programs and applications.
- Plan phases of the software development life cycle (SDLC) for a variety of projects.
- Assist in the preparation and documentation of software requirements, specifications and release notes.
- Research and document requirements of users.
- Code applications according to specifications on Linux and Windows server environment and mobile platform such as Android, Blackberry and Apple IOS.
- Run and monitor software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging.
- Assist in the development and maintenance of user manuals and guidelines.
- Install software products for end users as required.
- Liaise with network administrators, systems analysts, and software engineers to assist in resolving problems with software products or company software systems. Position Requirements
Formal Education & Certification
- University degree in the field of computer science or software engineering with minimum of 2 years equivalent work experience.
Knowledge & Experience
- Working technical knowledge of programming languages including Java and PHP or ASP .Net
- Familiar with development framework and tools such as ActiveMQ and CakePHP.
- Experience in development environment under Linux and Windows and familiar with shell scripting language such as bash scripting, Perl or Python.
- Moderate to advanced knowledge and experience working with MySQL database.
- Familiarity with the telecommunication industry is an added advantage.
- Hands-on software troubleshooting experience.
- Flexible and adaptable in regards to learning and understanding new technologies.
- Strong written and oral communication skills.
- Strong interpersonal skills.
- Ability to conduct research into software-related issues and products.
- Highly logical.
- Technically proficient.
- Highly self motivated and directed.
- Keen attention to detail.
- Proven analytical and problem-solving abilities.
- Ability to effectively prioritize and execute tasks in a high-pressure environment.
- Ability to work both independently and in a team-oriented, collaborative environment.
- Creativity in the case of Web or interface design.Work Conditions
- Overtime hours may be required to meet project deadlines.
- Some travel may be required for the purpose of off-site software installation and testing.