Mid Level Software Developer
- Hiring from
- United States
- Work type
- Hybrid
- Posted
605,911 remote jobs, straight from company career pages
100% free · New jobs every minute
Show job descriptionHide job 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
Experience working with relational or non-relational databases and writing queries
Familiarity with REST APIs, application integrations, and common data formats such as JSON
Experience using version control systems, such as Git, in a collaborative development environment
Understanding of automated testing practices and experience writing or maintaining unit or integration tests
Strong analytical and problem-solving skills, with the ability to investigate issues and develop practical solutions
Ability to communicate technical concepts clearly and collaborate with colleagues across different disciplines
Good organisation and time management skills, with the ability to manage tasks and deliver work to agreed timelines
Commitment to writing secure, reliable, and maintainable software
Preferred Qualifications
Experience developing cloud-based applications or working with services from AWS, Microsoft Azure, or Google Cloud
Familiarity with containerisation technologies such as Docker and orchestration platforms such as Kubernetes
Experience with continuous integration and continuous delivery (CI/CD) pipelines and automated deployment practices
Knowledge of front-end development technologies, such as HTML, CSS, and 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 in software development
