Description
We are seeking a motivated and talented Software Developer to join our dynamic engineering team. In this role, you will be responsible for designing, developing, and maintaining high-quality software applications. You will collaborate with cross-functional teams to define, design, and ship new features, working through the entire software development lifecycle. The ideal candidate is a hands-on developer with a passion for building scalable and efficient systems. You will contribute to all phases of the development process, from requirements gathering and system design to implementation, testing, and deployment. Your ability to solve complex problems and write clean, maintainable code will be crucial to our success. This position offers an excellent opportunity to work with modern technologies and make a significant impact on our products.
Requirements
1. Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
2. Proven experience as a Software Developer with proficiency in one or more languages like Python, Java, JavaScript, or C#.
3. Solid understanding of the full software development lifecycle (SDLC).
4. Strong knowledge of data structures, algorithms, and object-oriented design principles.
5. Hands-on experience with version control systems, particularly Git and collaborative workflows (e.g., pull requests, branching).
6. Experience in developing and consuming APIs (e.g., RESTful services).
7. Familiarity with database technologies, both SQL and NoSQL.
8. Experience with setting up or using CI/CD pipelines, preferably with GitHub Actions.
Desirable
1. Experience with cloud platforms such as AWS, Azure, or Google Cloud.
2. Familiarity with containerization technologies like Docker and Kubernetes.
3. Experience working in an Agile/Scrum development environment.
4. Knowledge of automated testing frameworks (e.g., JUnit, PyTest, Jest).
5. Experience with modern front-end frameworks like React, Angular, or Vue.js.