Senior Software Engineer
Type of Job:
Roles & responsibilities
Lead the software architecture design for large systems with a focus on quick iterations and maintainability.
Lead efforts to establish a culture of modern software engineering best practices and design patterns.
Advise domain experts in best practices for software engineering.
Proactively address problems with a research-thinking mindset and critically think about the pros and cons of different approaches.
Lead cross-functional teams that take ownership of the full software lifecycle.
Write clean, maintainable, and well-commented source code.
Bachelor’s degree or higher in computer science or a related field.
5+ years of industry work experience or equivalent.
Expertise in general software engineering principles.
Familiarity with systems programming as well as concurrent and distributed systems.
Proficiency in data structures, algorithm development and software architecture design.
Familiarity with programming language design or compiler design is a plus.
Exceptionally strong understanding of fundamentals and problem solving skills.
Understanding of software development best practices, including coding standards, code reviews, design patterns, source control management, and test automation.