Reporting To: Enterprise Application Developer (Team Lead) Role Purpose
The Junior Software Developer will work under the supervision of the Team Lead, Enterprise Application Development and will be accountable for developing and maintaining key modules of Integrated Software Solutions that deliver true business value.
The incumbent must be familiar with Java programming.
Responsibilities
Work in a team of software developers to carry out ongoing customization of the company’s integrated application system as well development of other web-based applications to support business processes and functions
Deliver excellent code quality in a collaborative team environment, typically working in small development project groups
Communicate as required with internal and external stakeholders within the company, to capture requirements and troubleshoot issues relating to development and support
Liaise with other members of the software development team to collaborate on, and continuously improve the technical capabilities, processes and knowledge of the development team
Minimum Qualifications
B.Sc. Degree in Computer Science, Computer Engineering or equivalent
Experience building and integrating mobile applications with enterprise application systems
Experience with test-driven development
Technical Competencies:
Proficient in Java, with a good knowledge of its ecosystems
Solid understanding of object-oriented programming
Familiar with various design and architectural patterns
Expert level knowledge of Java, HTML, CSS and JavaScript.
Ability to learn new tools and technologies
Experience in MySQL or PostgreSQL and excellent knowledge of SQL, and optimization
Skill for writing reusable Java libraries
Knowledge of concurrency patterns in Java
Possess a firm grasp of algorithms and data structures
Familiarity with concepts of MVC, JDBC, and RESTful API development and web security
Experience with popular web application frameworks, such as Play, Spring and spark
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
Behavioral Competencies:
Flexible, motivated, able to adapt in a dynamic environment, able to communicate effectively with certain other development team members; pro-active in finding new ways for improvement
go to method of application »
Use the link(s) below to apply on company website.
Apply via :