Write software in line with industry standards and design patterns
Complete assigned coding tasks with regular feedback
Produce code in line with project requirements
Follow existing design patterns and architectural decisions
Assist in implementing features as directed by senior developers
Track progress and communicate blockers promptly
Submit code for review regularly & address feedback constructively
Learn and apply test-driven development principles
Assist in functional testing as needed
Apply basic security practices as defined by the company
Ensure software is functioning optimally
Monitor basic application functionality in assigned areas & report observed issues to senior team members
Assist in routine maintenance tasks
Support senior developers in optimisation efforts
Locate the source of reported bugs and issues
Collaborate with QA team to understand bug reports
Fix simple bugs and issues independently
Communicate errors and solutions to product owners
Maintain clear documentation of technical work
Participate in team meetings and stand-ups
Escalate issues appropriately to senior team members
Maintaining software and related repositories and databases
Follow the company's or project's defined version control standards
Make daily, well-documented commits to the remote version repository, ensuring work is backed up and not prone to data loss
Project Participation
Break down simple tasks for estimation & provide basic time estimates for familiar tasks
Track actual time spent on tasks & analyse estimation discrepancies
Seek guidance on complex task estimation
Follow the project's workflow process
Keeping current with the development environment
Understand the core technologies used in current projects
Build foundational knowledge of industry best practices
Proactively research and share new technologies, programming languages, and frameworks to enhance the capabilities of our software solutions.
Develop cutting-edge software using the latest development tools and frameworks
Unit test all software artefacts
Team Collaboration
Collaborate with cross-functional teams, including Product Owners and Test Analysts, to facilitate seamless development, testing, and deployment of system components, ensuring alignment with project goals and requirements.
Assist with technical documentation.
Contribute to technical documentation, ensuring that code, design decisions, and processes are well-documented.
Incident Management
Shadow senior team members during incidents
Assist in gathering initial incident information & follow established escalation protocols
Report potential incidents promptly
Risk Management and Compliance (ISO 27001)
Ensure a thorough understanding of compliance requirements
Maintain required audit trails
Follow established change management processes
Maintain secure development practices