Job summary:
Senior Programmers must balance between direct programming execution and leadership responsibilities. Ideal candidates must not only be able to create and maintain computer programs, program documentation, and operating instructions, and participate in the systems design process, but also provide mentorship and guidance to other junior programmers assigned to their team. They must be able to work with designers, project managers, and clients, create a robust plan to ensure timely and quality execution, and distribute work to their team.
Responsibilities:
- Lead a software development team to build high quality software systems (opportunities available for projects related to web frontend, mobile applications, and backend).
- Design and create scalable and robust software systems.
- Provide technical guidance to junior team members and set good technical work culture/best practices.
- Work with a team of designers, project managers, and clients to understand problem requirements, design software that satisfies those specifications, and help the team break down problems into technical tasks.
Preferred requirements & competencies:
- Bachelor’s degree or higher in software engineering, computer engineering, computer science, information technology or related fields
- At least 5 years of experience as a software engineer/programmer
- Experience in leading a software development project (usually as a technical lead or manager)
- Has a working and current knowledge of programming (must be able to write programs). Can design, write, and review code at high quality.
- Strong analytical and troubleshooting skills
- Can work as a team, is diligent, and has excellent communication skills
- Eager to learn new technologies