Java Software Engineer at Techie Planet

Full Time6 months ago
Employment Information

Job Description

We are looking for a highly skilled software engineer with experience in building web applications in Java.
This role involves analyzing user requirements and business objectives, determining application features and functionality, implementing enterprise application logic, back-end services, web services, algorithms, database integration, among other duties.
Ample experience working on open source software code is a preferable quality for the role.
Proficiency with Spring boot is a must.

Responsibilities

Translate application requirements, use cases and user stories into functional applications
Design, implement, and maintain efficient, reusable, and reliable Java based applications
Develop efficient, well-tested and reusable Java codes and modules
Ensure the best possible performance, quality, and responsiveness of the applications developed
Integration with databases (SQL and NoSQL)
Integration of user-facing elements developed by front-end and mobile app engineers
Collaborate with other team members in brainstorming sessions to define, design, test and ship application features
Identify, correct bottlenecks and fix bugs on new and existing applications
Help maintain code quality and organization by doing code reviews.

Required Skills

3 years of working experience in a role using similar technologies
Highly proficient in the Java programming language for solving complex algorithmic and information system problems
Extensive experience developing with the Spring Boot Java web application framework
Solid understanding of object-oriented programming and principles
Familiarity with various design and architectural patterns such as MVC, REST, Observer, Factory pattern, etc.
Familiarity with core Java and Spring boot engineering concepts such as JPA, Dependency management, IoC,lambdas, optionals, among others
Experience in using Spring boot with both SQL and NoSQL databases especially while making use of an ORM technology e.g. Hibernate
Comfortable with usage of data structures for solving algorithmic problems
Knowledge of concurrency and multi-threading in Java
Understanding of database migration and seeding in Java/Spring boot
Creating database schemas that represent and support complex business models
Good understanding of programming conventions for writing secure, easily readable, and maintainable Java code
Familiarity with automated testing libraries like Junit and Mockito
Proficiency with code versioning with Git and build tools such as Maven and Gradle
Intermediate understanding of front-end technologies, such as AngularJS, ReactJs or VueJS
A good grasp of other languages such as PHP or Node.js is a distinct advantage.

You will stand out if you have:

Experience with implementation, customization and extension of open source software
Full stack software development skills e.g. proficiency with Angular.js and/or React.

CLICK APPLY NOW TO APPLY 

Skills
WordpressData EntryGraphic DesignTroubleshooting