Job Description
Job Purpose
We seek to recruit a senior well-qualified, experienced, self-driven, highly motivated and passionate candidate to fill the following position. The developer will serve as the subject matter expert for the technologies and solutions used in the development of the business applications.
The developer will work closely with project managers, team lead and business analysts in defining requirements/stories for system functions. Provides vision, expertise and technology-based solutions in long range planning in the area of systems design. Utilizes in-depth knowledge of technological alternatives and business requirements to recommend solutions that are user friendly, efficient and scalable. Ability to communicate in-group settings as well as ability to collaborate within team and cross teams.
Responsibilities/ Accountabilities
• Work closely with stakeholders to provide product solutions and technical oversight for multiple concurrent projects, including sharing expertise on standards, guidelines, and design best practices for the solution based on industry accepted practices.
• Choosing the system architecture and each individual component of this system at a high level.
• Choosing the technologies for the implementation of each component and connections between the components.
• The developer will serve as the subject matter expert for the technologies and solutions used in the development of the business application.
• The developer will work closely with project managers, team lead and business analysts in defining requirements/stories for system functions. Provides vision, expertise and technology-based solutions in long range planning in the area of systems design. Utilizes in-depth knowledge of technological alternatives and business requirements to recommend solutions that are user friendly, efficient and scalable. Ability to communicate in-group settings as well as ability to collaborate within team and cross teams.
• Ensure that the solution is in line with the architectural review and Code-review.
• Ensure that the solution developed is in line with the coding standards.
• Expert understanding of object oriented programming and multi-threaded languages.
• Expert understanding of design patterns, object construction, and deployment strategies for multi-tiered applications.
• Translate workflow steps into business process activities and nested processes.
• Tailor user experience screens for each process activity to enable end-users to interact with multiple internal/external systems through a single interface.
• Work with other developers and stakeholders to create and maintain a robust framework to support the mobile and web apps.
• Build proof of concept examples or graphical simulation software. Then maintain product test software and demos for training purposes.
• Maintain and improve the performance of existing software.
• Design and update software database.
• Test and maintain software products to ensure strong functionality and optimization.
• Recommend improvements to existing software programs as necessary.
• Expert understanding of object oriented programming and multi-threaded languages, J Developer and Java Integrations.
• Ability to define and implement business processes at workplace.
• Expert understanding of design patterns, object construction, and deployment strategies for multi-tiered applications.
• Develop software applications according to the technical documentation and designs provided by the Business Analysts.
• Performs Unit testing level regression tests throughout the application development life cycle.
• Ensures that code revisions are maintained in the Group’s source code repository.
• Maintains a coding style that conforms to that specified by the Lead, Software Developer.
• Ensure (as much as is possible) that applications are developed using an Object-Oriented programming language with appropriate coding segments descriptions. This would facilitate easier maintenance for all applications developed by another developer.
• Develop release documentation for completed and tested applications/solution preparatory to go live.
• Collaborates with the Business Analyst to develop operational/technical/support documentation for end users where applicable
• Ensures that the application is ready for the User Acceptance Test (UAT) as per the test plan developed by the Business Analysts.
• Participate in the UAT for the application developed.
• Ensure that all software defects reported during the UAT are corrected before Go-Live.
• Carry out routine maintenance to applications as the need arises on the development environment only and make patches available for production as may be required.
• Submit the administrative username and password of all applications systems developed to the Team Lead, Strategic Control unit. This should include database access usernames and passwords.
• Constantly update technical knowledge and skills by attending in-house and/or external courses, reading manuals and accessing new applications.
• Plan, prioritize and manage workloads and project schedules.
• Perform Other duties / Special Projects as assigned.
Requirements
• Degree in Information Technology or related course
• 5+ years of software development and design experience
• Experience in Python development
• Strong skills on Django framework
• Solid understanding on building and integration with RESTful APIs
• Solid database skills in a relational database (i.e., PostgresSQL, MySQL, etc.)
• Experience in integrating to Kafka, Redis Cache
• Experience in Python telemetry and performance monitoring
• Expert understanding of object oriented programming and multi-threaded languages
• Good understanding of object oriented programming and multi-threaded languages.
• Good understanding of design patterns, object construction, and deployment strategies for multi-tiered applications.
• Exposure to SQL Server, PostgreSQL or Oracle Database and MySQL experience highly desirable
• Solid experience in using design patterns