Job Description
We are looking for a Java developer responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.
Responsibilities
- Translate application storyboards and use cases into functional applications
- Design, build, and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
- {{Add other responsibilities here that are relevant}}
Skills
Proficient in Java, with a good knowledge of its ecosystemsSolid understanding of object-oriented programmingFamiliar with various design and architectural patternsSkill for writing reusable Java librariesKnowledge of concurrency patterns in JavaFamiliarity with concepts of MVC, JDBC, and RESTfulExperience with popular web application frameworks, such as Play and SparkFamiliarity with Java GUI frameworks {{such as Swing, SWT, and AWT depending on project requirements}}Knack for writing clean, readable Java codeExperience with both external and embedded databasesUnderstanding fundamental design principles behind a scalable applicationBasic understanding of the class loading mechanism in JavaCreating database schemas that represent and support business processesBasic understanding of JVM, its limitations, weaknesses, and workaroundsImplementing automated testing platforms and unit testsProficient understanding of code versioning tools, such as GitFamiliarity with build tools such as Ant, Maven, and GradleFamiliarity with continuous integrationHands-on experience with Spring, Struts