Responsible for designing, developing, and maintaining a software application, this role involves writing efficient code, collaborating with teams to meet requirements, debugging, conducting code reviews, documenting processes, staying abreast of tech trends, and mentoring juniors.
Requirements
- Advanced level understanding of algorithms and data structures
- Expert of one and advanced in one programming language(s) such as JavaScript, Java, C-Sharp, etc.
- Advanced level experience with software development methodologies such as Agile and Scrum
- Intermediate level knowledge of databases, SQL and NoSQL
- Expert level familiarity with version control systems such as Git
- Expert level understanding of software testing and debugging
- Expert level problem-solving skills
Responsibilities
- Design, develop, and maintain software applications
- Write clean, testable, and efficient code
- Collaborate with cross-functional teams to identify system requirements and design solutions
- Debug and troubleshoot software issues
- Participate in code reviews to ensure quality and adherence to best practices
- Document software design, testing, and maintenance processes
- Stay updated with emerging trends and technologies in software engineering
Other
- Mentor and guide junior engineers in best practices
- Maintain compliance with the knowledge requirements outlined on the department intranet site
- Other duties as assigned.
- Minimum of 6+ years of experience in a related position
- Advanced level ability to work effectively in a team environment