Job Description
Job Summary
The Junior Software Developer will be responsible for building and managing software tools that facilitate the day-to-day operations of the business. This individual will be required to work collaboratively with other departments such as Operations, Technology and Finance to understand the needs of the business and create solutions that meet those needs.
Key Responsibilities
Responsibilities
Software design
- Undertakes complete design of moderately complex software applications or components applying agreed standards, patterns and tools
- Assists as part of a team on design of components of larger software systems
- Specifies user/system interfaces
- Creates multiple design views to address the concerns of the various stakeholders of the design and to handle separately functional and nonfunctional requirements
- Assists in the evaluation of options and trade-offs
- Collaborates in reviews of work with others as appropriate
Programming/software development
- Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services
- Contributes to selection of the software development approach for projects, selecting appropriately from plan driven/predictive approaches or more adaptive (iterative and agile) approaches
- Applies agreed standards and tools, to achieve a well-engineered result
- Participates in reviews of own work and leads reviews of colleagues’ work
Testing
- Reviews requirements and specifications, and defines test conditions
- Designs test cases and test scripts under own direction, mapping back to pre-determined criteria, recording and reporting outcomes
- Analyses and reports test activities and results
- Identifies and reports issues and risks associated with own work
Problem management
- Investigates problems in systems, processes and services
- Assists with the implementation of agreed remedies and preventative measures
Systems integration and build
- Produces software builds from software source code
- Conducts tests as defined in an integration test specification, records the details of any failures
- Analyses and reports on integration test activities and results
- Identifies and reports issues and risks
Data modelling and design
- Applies data analysis, design, and modelling techniques to establish, modify or maintain a data structure and its associated components (entity descriptions, relationship descriptions, attribute definitions)
Job Requirements
Formal Education & Certification
- University degree in the field of computer science or “STEM” major (Science, Technology, Engineering and Math) or related field.
Knowledge & Experience
- Excellent understanding of Algorithms and Data Structures.
- 1+ years of experience with Spring Boot framework.
- 1+ years of experience in software development using Java Programming Language.
- Experience with project management methodologies such as Agile, Scrum, or Kanban.
- Experience with cloud-based technologies such as AWS or Azure.
- Experience with database technologies such as SQL, MongoDB etc.
- Experience with Testing Frameworks like Mockito, Wire Mock e.t.c