Java Developer - SSE
- Full-time
Job Description
Java Developer Responsibilities:
- Design, implement and maintain Java-based applications that can be high-volume and low-latency
- Envisioning system features and functionality
- Define application objectives and functionality
- Analysing user requirements to inform application design.
- Analyze user requirements to define business objectives
- Defining application objectives and functionality.
- Aligning application design with business goals.
- Developing and testing software.
- Debugging and resolving technical problems that arise.
- Producing detailed design documentation.
- Recommending changes to existing Java infrastructure.
- Ensuring continuous professional self-development.
- Contribute to all stages of software development lifecycle
- Develop technical designs for application development
- Write well designed, testable code
- Conducting software analysis, programming, testing, and debugging
- Manage Java and Java EE application development
- Develop documentation to help users
- Transforming requirements into stipulations
- Prepare and produce releases of software components
- Support continuous improvement, investigating alternatives and technologies, and presenting for architectural review
Skills
- Proficient in Java, with a good knowledge of its ecosystems
- Solid understanding of object-oriented programming
- Familiar with various design and architectural patterns
- Skill for writing reusable Java libraries
- Knowledge of concurrency patterns in Java
- Should be experienced with Spring MVC, Spring Boot.
- Should be experienced with JPA, and RESTful Webservices.
- Excellent skills in DB Schema design and SQL development
- Excellent knowledge of SQL and hands on experience with ORM frameworks such as Hibernate
- Should be experienced with both external and embedded databases.
- Knack for writing clean, readable Java code
- Experience with both external and embedded databases
- Understanding fundamental design principles behind a scalable application
- Basic understanding of the class loading mechanism in Java
- Creating database schemas that represent and support business processes
- Basic understanding of JVM, its limitations, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git
- Familiarity with build tools such as Ant, Maven, and Gradle
- Familiarity with continuous integration