Job description
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
Qualifications we seek in you!
Minimum Qualifications / Skills
Proficient in Java, with a good knowledge of its ecosystems with relevant experience
Solid understanding of object-oriented programming
Familiar with various design, concurrency and architectural patterns
Skill for writing reusable Java libraries
Familiarity with concepts of MVC, JDBC, and RESTful
Experience with popular web application frameworks, such as Play and Spark
Familiarity with Java frameworks such as Springboot, SWT, and AWT depending on project requirements
Knowledge in Python/NodeJS is a PLUS
Experience with both external and embedded databases
Preferred Qualifications/ Skills
· Understanding fundamental design principles behind a scalable application
Working experience with one of the hyper scalers like Azure/GCP/AWS
Creating database schemas that represent and support business processes
Advanced 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