Responsilities
Designing and developing high-volume, low-latency applications for mission-critical systems and delivering high-availability and performance
Contributing in all phases of the development lifecycle
Writing well designed, testable, efficient code
Contribute in all phases of the development lifecycle
Write well designed, testable, efficient code
Ensure designs are in compliance with specifications
Prepare and produce releases of software components
Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
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
Requirements
B.Sc/M.Sc in Computer Science, Engineering or a related subject
Proven hands-on Software Development experience
Proven working experience in Java development
Hands on experience in designing and developing applications using Java EE platforms
Object Oriented analysis and design using common design patterns.
Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc)
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
Skills:
Proficient in Java, with a good knowledge of its ecosystems
Solid understanding of object-oriented programming
Familiar with various design and architectural patterns
Skill for writing reusable Java libraries
Knowledge of concurrency patterns in Java
Familiarity with concepts of MVC, JDBC, and RESTful
Experience with popular web application frameworks, such as Play and Spark
Familiarity with Java GUI frameworks {{such as Swing, SWT, and AWT depending on project requirements}}
Knack for writing clean, readable Java code
Experience with both external and embedded databases
Understanding fundamental design principles behind a scalable application
Basic understanding of the class loading mechanism in Java
Creating database schemas that represent and support business processes
Basic 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
Applicants should send their CV’s, Cover Letter and Portfolio to: careers@novateur.ng
Apply via :
careers@novateur.ng