Junior Software Engineer (x2 roles)
Software Engineer I (Junior Software Engineer) Role Overview
This role reports into an Engineering Manager and is suited to a junior software engineer with a strong foundation in programming and a passion for building scalable, reliable systems. The successful candidate will contribute to production code, collaborate closely with the engineering team, and continuously develop their technical capability in a fast-paced environment.
Key Responsibilities- Write, test, and deploy production-ready code independently
- Review peer code and provide constructive feedback and improvements
- Create and execute unit test plans
- Investigate, troubleshoot, and resolve software defects
- Participate in functional and technical specification reviews
- Monitor services and systems within the technical infrastructure
- Contribute to continuous improvement of system architecture, code quality, scalability, performance, and security
- Strong analytical and problem-solving skills
- Results-driven with a proactive approach to delivery
- Comfortable working collaboratively within a team environment
- Clear and effective communication skills
- Ability to build and maintain professional working relationships
- Degree in Computer Science, Engineering, or equivalent practical experience
- 6 months to 2 years’ professional software development experience
- Proven knowledge of at least one object-oriented programming language
- Understanding of networking, databases, data structures, algorithms, cloud computing, security, distributed systems, and testing
- Familiarity with coding best practices, scalability, performance tuning, and secure system design
Technical Stack (Core & Advantageous)
Core:
- Python or PHP
- Django or Laravel
- Web fundamentals
Advantageous:
- JavaScript frameworks (Node.js, Vue.js, Nuxt.js)
- MySQL
- BigQuery
- Linux fundamentals
- Docker / Kubernetes
- Exposure to e-commerce platforms or systems
Candidate Profile
The ideal candidate is curious, self-motivated, and eager to learn. They are comfortable taking ownership of tasks while working collaboratively with colleagues across different levels of the organisation and are able to translate requirements into practical technical solutions.