Job Openings Principal / Specialist Java Developer

About the job Principal / Specialist Java Developer

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.

Accountabilities and Duties

  • Software Development
    • Deliver 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 release
  • Support associates and developers and mentor them whenever needed in tasks.
  • Identify production and non-production application issues
    • Take 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 arise
    • Software 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 Quality
      • Code Writing and Readability.
      • Code naming and convention.
      • Code Extensibility and maintainability
      • Unit tested
    • Quality check
      • Number of errors (bugs) in testing phase.
      • Severity of errors (bugs)
      • Number of repeated errors and rework.
    • Time management and accuracy of the code
      • Timely completion of software development tasks.
    • Adherence to standards
    • Team members support and mentoring

    Experience and Qualifications Required:

    • Bachelor degree of computer science, or equivalent
    • Minimum 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 services
    • Very 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 Gateway
    • Good knowledge of application server (Mule/tomcat)
    • Java Certifications are a plus.
    • ITI Graduate is a plus
    • Very good English language is a preferred.