143
Job Description
We are looking for a highly skilled software engineer with experience in building web applications in Java.
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.
Qualification
- 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 Springboot engineering concepts such as JPA, Dependency management, IoC,lambdas, optionals, among others
- Experience in using Springboot 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/Springboot
- 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
- Fullstack software development skills e.g. proficiency with Angular.js and/or React.
Location: Lagos (Remote)
Apply: Interested and qualified candidates should send their Resume to: careers@techieplanetltd.com using “Java Software Engineer Application” as the subject of the mail.