Purpose of the job:
The Senior Software Developer is responsible for developing specifications for moderately complex software programming applications.
This position participates in design and coding activities with the rest of the team members.
Duties
Accountabilities and Duties
Software DevelopmentDeliver releases within stipulated timeframes and according to design and specification.Communicate effectively current status of code deliverables and raise risks early that timeframes could be missed.Develop product/solution logic within an iterative development lifecycle.Maintain and modify existing applications ensuring adherence to standards.Push and pull data interfaces using the latest web and data sharing technologies and project needs Learn quickly and with passion extend their coding skill set as the project requires.Work closely with other teams to ensure product/solution readiness for releaseSupport associates and developers and mentor them whenever needed in tasks.Identify production and non-production application issuesTake part in software Design and architectural development activities.Implement functional enhancements and application specifications to ensure a satisfactory level of both functional and nonfunctional requirements, such as performance, security, scalability, and usability.Collaborate with QA team to ensure that the system follows the organization coding convention.Conform and adhere to testing strategy of an application.Conducts unit-testing tasks and fix any defects which may ariseSoftware Documentation Develop the technical documentation.
Principal Software Developer / Software Development Specialist positions are subject to additional tasks / responsibilities depending on experience and performance.
Key Results Areas
Coding QualityCode Writing and Readability. Code naming and convention. Code Extensibility and maintainability Unit tested
Quality checkNumber of errors (bugs) in testing phase.Severity of errors (bugs)Number of repeated errors and rework.
Time management and accuracy of the codeTimely completion of software development tasks.
Adherence to standardsTeam members support and mentoring
Experience and Qualifications Required:
Bachelor degree of computer science, or equivalentMinimum 3-5 years of experience in software development.Excellent knowledge of OOP concepts.Excellent Knowledge of Java and JEE internals (Class loading, Memory Management, Transaction management etc.)Excellent Knowledge of Java based web servicesVery good knowledge Java frameworks (Spring/ Spring Boot/EJB)Very good Knowledge of in Relational Databases Oracle (Preferred) or SQL Server and ORM technologies (JPA2, Hibernate)Good knowledge of microservice Architecture Good Knowledge of J2EE Design Patterns.Good knowledge of API and API GatewayGood knowledge of application server (Mule/tomcat)Java Certifications are a plus.ITI Graduate is a plusVery good English language is a preferred.