Software Engineer
Skills Preferred
Job Description
As a company, we believe in end-to-end ownership of projects. For any given project, we have one person on point. While they don't necessarily have to do all the work themselves, it's their job to make sure all the work gets done. We launch betas and prototypes as early as we can. This helps ensure that we're building what users actually want. We contribute back to the community, often by building things we think are cool and by releasing open-source software.
Responsibilities
Work on cross-functional projects, directly collaborating with other engineers. Give meaningful feedback on code reviews and technical designs. Ensure that the systems your team operates continue running well and can scale to meet the needs of our users. Build the skills to own a project from beginning to end, learning project management and technical leadership skill.
Job Requirements
Minimum requirements: A Bachelorβs, Masterβs, or PhD degree in computer science or a directly related field, obtained by summer 2024, or equivalent work experience. Some experience and familiarity with programming, either through side projects or classwork. We work mostly in Java, Ruby, JavaScript, Scala, and Go. We believe new programming languages can be learned if the fundamentals and general knowledge are present. Experience from either previous internships or working collaboratively on multi-person coding projects (in a university or professional setting). Ability to learn unfamiliar systems and form an understanding of those systems, through independent research and working with a mentor and subject matter experts. Preferred qualifications: One or more areas of specialized knowledge balanced with general skills and knowledge, such as knowing more frontend technologies and, at a high level, how a service handles an HTTP request. Experience in code review practices, and an understanding of how to safely update production systems. Familiarity with navigating and managing work in large code bases.