Junior Software Engineer – Job Description
Role Overview
The Junior Software Engineer contributes to the design, development, testing, and support of software applications. Working under the guidance of senior engineers, this role focuses on building high‑quality code, understanding user and business requirements, and ensuring reliable application performance. The ideal candidate is curious, detail‑oriented, and eager to grow their technical capabilities across the full software development lifecycle.
Key Responsibilities
Requirements Analysis (SFIA: REQM – Foundation)
- Assist in gathering and documenting functional and non‑functional requirements.
- Participate in discussions with stakeholders to clarify needs and constraints.
- Support the creation of simple requirement specifications and user stories.
Software Design (SFIA: DESN – Foundation)
- Contribute to basic software design activities such as defining modules, interfaces, and data flows.
- Support the creation of design documentation under supervision.
- Apply standard design patterns and principles in small components.
AI Agent Design & Deployment (SFIA: DESN/PROG – Foundation)
- Assist in designing AI agent workflows, including prompts, tool use, guardrails, and interaction patterns.
- Support the integration of AI agents with applications, APIs, knowledge sources, and enterprise systems under supervision.
- Help test, deploy, monitor, and refine AI agents to ensure accuracy, reliability, security, and responsible use.
Programming & Coding (SFIA: PROG – Foundation)
- Write clean, maintainable, and well‑structured code in the assigned programming languages.
- Implement features, bug fixes, and enhancements following coding standards.
- Participate in peer code reviews and incorporate feedback.
Version Control (SFIA: VERS – Foundation)
- Use Git or similar tools to manage code repositories.
- Create branches, commit changes, resolve merge conflicts, and follow versioning practices.
- Support continuous integration workflows by ensuring proper commit hygiene.
Software Testing (SFIA: TEST – Foundation)
- Write and execute unit tests, integration tests, and basic automated tests.
- Assist in identifying defects and verifying fixes.
- Support test documentation and contribute to improving test coverage.
Application Support (SFIA: ASUP – Foundation)
- Help troubleshoot application issues reported by users or monitoring tools.
- Assist in root‑cause analysis and provide timely resolutions.
- Support deployment activities and environment configuration under guidance.
Required Skills & Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, or related field.
- Basic proficiency in one or more programming languages (e.g., Java, Python, C#, JavaScript).
- Understanding of software development fundamentals, data structures, and algorithms.
- Familiarity with Git and collaborative development workflows.
- Strong problem‑solving skills and willingness to learn.
- Ability to work effectively in a team environment.
- Basic understanding of AI agents, prompt engineering, model integration, and responsible AI practices.
Preferred Skills (Nice to Have)
- Exposure to Agile/Scrum methodologies.
- Experience with unit testing frameworks (JUnit, pytest, NUnit, Jest).
- Basic knowledge of cloud platforms (AWS, Azure, GCP).
- Understanding of CI/CD tools (GitHub Actions, Jenkins, Azure DevOps).
- Exposure to AI/ML platforms, LLM APIs, agent frameworks, vector databases, or retrieval‑augmented generation concepts.
Success Indicators
- Consistent delivery of high‑quality code.
- Growing independence in handling small tasks and modules.
- Effective collaboration with senior engineers and cross‑functional teams.
- Improved test coverage and reduced defect rates.
- Demonstrated progression across SFIA competencies.
- Successful contribution to the design, deployment, monitoring, and continuous improvement of AI agent solutions.