Company Apply Now
Java developer roles and responsibilities include managing Java/Java EE application development while providing expertise in the full software development lifecycle, from concept and design to testing.
Job Requirements & Qualifications
- BS/MS degree in Computer Science, Engineering or a related subject or equivalent experience.
- Good knowledge of: Java, Software Requirements, Software Development Process, Object-Oriented Design (OOD);
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc.);
- Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate);
- Implementing automated testing platforms and unit tests;
- Proficient understanding of code versioning tools, such as Git;
- Familiarity with build tools such as Maven and Gradle;
- Knack for writing clean, readable Java code;
- Understanding fundamental design principles behind a scalable application;
- Basic understanding of the class loading mechanism in Java.
- 3 years’ experience on a similar position;
- Experience in the Spring Framework;
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC);
- Experience with test-driven development;
- Proven hands-on Software Development experience;
- Proven working experience in Java development;
- Experience with both external and embedded databases.
- Ability to work in a fast-paced dynamic work environment;
- Fast learner of new and emerging technologies;
- Self-motivated with the ability to drive features to delivery;
- Solid written and verbal communication, presentation, and listening skills with the ability to present complex technical information in a clear and concise manner to a variety of audiences;
- Demonstrated ability to work well with others in a cross-functional team environment;
- A great attitude that enjoys working in a close, highly energized, team-oriented environment;
- Present ideas, expectations and information in a concise and well-organized way;
- Manage time well, correctly prioritizing tasks;
- Proactive and details oriented.
- Develop new software applications from concept to finish, with regular tests and maintenance;
- Build reusable code and libraries for future use;
- Optimize applications for maximum speed and scalability;
- Recommends system solutions by comparing advantages and disadvantages of custom development and purchase alternatives;
- Updates job knowledge by researching new technologies and software products, participating in educational opportunities, reading professional publications, maintaining personal networks etc.;
- Enhances organization reputation by accepting ownership for accomplishing new and different requests; exploring opportunities to add value to job accomplishments.
If you think this it’s the job for you, please send us your resume at [email protected] and let’s have a talk!