Position Overview
The Software Developer position is responsible for designing, developing, and maintaining software applications that meet client requirements and enhance the functionality and performance of existing systems. This role requires a strong understanding of software development principles, proficiency in various programming languages, and experience with Agile methodologies. We are seeking a candidate who is passionate about solving complex problems and can work effectively in a fast-paced, collaborative environment.
Responsibilities
- Design and develop software solutions to meet client requirements and enhance the functionality and performance of existing systems.
- Analyze user needs and requirements to create detailed software designs and specifications.
- Implement software solutions using various programming languages and technologies, including Java, Python, and React.
- Collaborate with cross-functional teams, including designers, product managers, and other developers, to ensure effective communication and alignment on project goals.
- Contribute to the Agile development process by providing input on design decisions and participating in sprint planning and retrospectives.
- Continuously improve code quality, efficiency, and maintainability of the codebase.
- Provide technical support and troubleshoot issues related to software applications.
- Contribute to the development of documentation and user guides to enhance the user experience of the applications.
Requirements
- Proficiency in at least two programming languages: Java, Python, and JavaScript.
- A strong understanding of software development principles, including Object-Oriented Programming, Design Patterns, and Algorithms.
- Experience with Agile methodologies, including Scrum, Kanban, and Lean principles.
- Excellent problem-solving skills and ability to work effectively in a fast-paced, collaborative environment.
- Strong communication skills and the ability to effectively present complex technical concepts to non-technical stakeholders.
- Bachelor's degree in Computer Science, Engineering, or related field.
- 2+ years of experience in software development, preferably in a team environment.
- Experience with version control systems, such as Git.
- Experience with testing frameworks, such as JUnit and Selenium.
Preferred Skills
- Experience with database management, including SQL and NoSQL databases.
- Experience with cloud computing services, such as AWS or Azure.
- Experience with web development frameworks, such as Angular or React.
- Experience with front-end development technologies, such as HTML, CSS, and JavaScript.
- Experience with mobile application development, including native iOS and Android development.
- Experience with DevOps practices, including CI/CD, and familiarity with tools like Jenkins, Docker, and Kubernetes.
Education and Experience
Minimum Bachelor's degree in Computer Science, Engineering, or related field.
Minimum 2+ years of