The incumbent is responsible for the software development and maintenance for high transaction rate applications. The Software developer is able to independently design, develop, code, test and debug new software and to make significant enhancements to existing software using Java or other programming languages; to design and develop secure scalable and fault tolerant solutions across a distributed architecture.
Key Responsibility Areas
- A technical job, which is concerned with software. Focus is on detail.
- This is a senior position usually requiring knowledge and experience in the following areas: logic and flow diagrams; testing and debugging; or an applications programming language. Technical documentation and System design.
- Conceive, design, and test logical structures for problem solving.
- Analysis of relevant standards.
- Understand and/or Write project requirements
- Produce and review baseline documentation that collectively defines the solution.
- Review requirements, specifications related to the proposed solution.
- Provide input and Follow the software development plan
- Develop, test, and maintain software programs
- Develop applications according to the specifications
- Code detailed designs from design specifications, according to best practices and software coding standard.
- Perform the testing and debugging.
- Ongoing support throughout lifecycle of the product (or until the support responsibility has been re-allocated), to all departments and customers as and when required.
- Build, test and implement the software solution, including any amount of coding that may be necessary. A small project may require end to end detail involvement.
- Be thoroughly familiar with company standards and procedures.
- Maintain all development documentation under configuration and source control as per company standards (incl. Source, documentation, assembly drawings, etc.)
- Ensure completion of deliverables by prescribed milestones, with proactive feedback.
- Ensure the documentation is completed according to the best practices guidelines and the content is adequate and appropriate
- Participate in project definition and project planning giving detailed input in Statements of Work to the project manager as and when requested.
- Operations and rollout support
- General Administration as and when required
The incumbent displays the following competencies:
- Appropriate technical domain
- Be familiar with Systems Concepts and Standards.
- Software Engineering
- Systems Design
- Technical Documentation
- Project Management
- Be familiar with company policies and procedures relating to software development.
- Develop and understanding of the complete testing life cycle, including developing test cases and test plans.
- Software exposure:
- C#; .Net- Preferable
- Relational Databases and SQL
- SVN, GIT
- XML, HTML, REST, JSON, web-services, and ISO8583,
- Spring - Preferable
- Design Patterns
- Architecture Patterns
Education & Qualification
- Accredited National Diploma or Bachelor’s Degree (with computer science related subject as a major)
- 3-5 Years relevant experience