Job responsibilities
- Design and implement Java-based applications
- Define application objectives, features, and functionality
- Design and develop user interfaces
- Document technical specifications, test plans, and system architecture
- Troubleshoot and debug existing applications and resolving complex technical issues
- Implement security protocols to protect software applications from malicious attacks
- Analyze existing Java infrastructure and recommend improvements
- Collaborate with other software developers and designers to create scalable applications
Minimum requirements
- Bachelor’s/Master’s Degree in Computer Science (or equivalent experience)
- 3+ years of experience in Java (rare exceptions for highly skilled candidates)
- Good understanding of JVM and Java EE platforms
- Familiarity with Java frameworks such as Spring, Hibernate, and Struts
- Proficiency in Java data structures, algorithms, and software design
- Working experience in version control systems, such as Git
- Experience working with databases such as MySQL and Oracle
- Fluency in English to collaborate with engineering managers
- Ability to work full-time (40 hours/week) with a 4-hour overlap with U.S. time zones
Preferred skills
- Familiarity with build tools like Maven, Ant, and Gradle
- Experience in Unix/Linux, including basic commands and scripting
- Working with web technologies such as HTML, CSS, JavaScript, and XML
- Experience with test-driven development



