Mid Level Software Developer
Mid-level software developer who designs, builds, tests, and maintains applications and services across the full SDLC — writing code in a modern language (Java, C#, Python, JavaScript/TypeScript), building APIs and integrations, working with databases, automated testing, Git, and agile practices; cloud and container experience preferred.
- Compensation
- Not disclosed
- Location
- Hyattsville, US
- Work setup
- Hybrid
- Seniority
- Middle
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Professional experience in software development or a related engineering role
- Proficiency in at least one modern programming language (Java, C#, Python, JavaScript, or TypeScript)
- Experience building, testing, and maintaining software applications or services
- Understanding of software development principles, data structures, algorithms, and design patterns
- Experience with relational or non-relational databases and writing queries
- Familiarity with REST APIs, application integrations, and data formats such as JSON
- Experience using version control systems, such as Git, in a collaborative environment
- Understanding of automated testing and experience writing or maintaining unit/integration tests
- Strong analytical and problem-solving skills
- Ability to communicate technical concepts clearly and collaborate across disciplines
- Good organisation and time management skills, delivering work to agreed timelines
- Commitment to writing secure, reliable, and maintainable software
Nice to have
- Experience developing cloud-based applications (AWS, Azure, or Google Cloud)
- Familiarity with containerisation (Docker) and orchestration (Kubernetes)
- Experience with CI/CD pipelines and automated deployment
- Knowledge of front-end technologies (HTML, CSS, modern JavaScript frameworks)
- Experience with message queues, event-driven systems, or microservices architecture
- Familiarity with application monitoring, logging, and performance analysis tools
- Experience working in an agile software development team
- Relevant degree, professional qualification, or equivalent practical experience
Full description
Position Summary
We are seeking a Software Developer to design, build, test, and maintain reliable software applications. In this role, you will work with product, design, and engineering colleagues to understand requirements, deliver high-quality features, and improve existing systems. The ideal candidate has practical software development experience, strong problem-solving skills, and the ability to contribute effectively within a collaborative development team.
Key Responsibilities
- Design, develop, test, and maintain software applications and services in line with project requirements and engineering standards
- Work with product managers, designers, and other stakeholders to clarify requirements and translate them into technical solutions
- Write clear, maintainable, and efficient code using appropriate programming languages, frameworks, and tools
- Contribute to the full software development lifecycle, including planning, implementation, testing, deployment, and ongoing support
- Build and maintain APIs, integrations, and software components that support application functionality
- Develop and maintain automated tests, and participate in code reviews to support software quality and consistency
- Investigate and resolve software defects, performance issues, and production incidents in collaboration with the team
- Identify opportunities to improve application performance, reliability, security, and maintainability
- Work with databases and data services to implement, maintain, and improve data access and storage solutions
- Use version control and team development practices to manage code changes and coordinate work effectively
- Contribute to technical documentation, implementation notes, and knowledge sharing within the team
- Participate in agile ceremonies, including planning, estimation, reviews, and retrospectives
- Work with quality assurance and operations colleagues to support releases, deployments, and application monitoring
- Keep up to date with relevant software development practices, technologies, and security standards
Required Qualifications
- Professional experience in software development or a related engineering role
- Proficiency in at least one modern programming language, such as Java, C#, Python, JavaScript, or TypeScript
- Experience building, testing, and maintaining software applications or services
- Understanding of software development principles, data structures, algorithms, and common design patterns