Software Engineer I
- Full-time
Company Description
Who We Are:
Our team builds and improves the interactive environment Twitter engineers use to develop software. We research, develop, operate and support core components of the development environment. We partner with teams that own specific development tools, and help curate the overall interactive development experience. We are part of the Engineering Effectiveness organization, which provides the tools and services all engineers at Twitter need to iterate faster, ship high-quality products, and enjoy doing it!
What We Own:
- We own the development tools distribution and configuration management for Twitter’s software engineering workstations! This is relied on by all engineers to access hundreds of internal tools published by hundreds of engineers. This system is written primarily in Python, integrated with Ansible, shell scripts, and an Objective-C Mac desktop client.
- Vetting new major releases of macOS and Mac hardware, in collaboration with IT and other development tools teams.
- Technical documentation tools used to read, write and update rich docs checked in along with our code. Includes the main site used exclusively to serve internal technical documentation. Based on Sphinx, utilizing MySQL and Python 3.
- Twitter’s intranet search engine, which provides access to documents from many different internal sites. Implemented in Scala and Python, with an ElasticSearch backend.
- Information access utilities used many times a day by all Tweeps. Implemented in Scala.
Job Description
What You’ll Do:
- Be a contributor to one or more major systems owned by the Development Environment team. You will assist in planning, designing, and implementing the future of these systems and more.
- Write backend code primarily in Python, Scala, and shell scripts to run on macOS and Linux.
- Write frontend code primarily for the browser in Javascript/React and HTML
- Raise the quality and performance bars for individual tools and the overall development environment at Twitter.
- Work in an Agile, CI/CD environment.
- Understand and help improve developer workflows through instrumentation, analysis, development, optimization, and working with engineering customers across Twitter.
- Share responsibility with other engineering staff for customer support (during normal business hours) and an on-call rotation to address rare service outages (outside of normal business hours).
- Learn new skills and technologies as part of your growth as an engineer
Qualifications
Who You Are:
- You are interested in working with engineers across Twitter to help improve their software development experience.
- You have good written and verbal communication skills and are comfortable working on a distributed team.
- You have a solid foundation in data structures, algorithms and complexity analysis.
- You are comfortable learning new languages and technologies.
- You want to embrace and enrich Twitter's culture of empathy, collaboration, learning and passion. #GrowTogether
Qualifications:
- 1+ years of industry experience or industry experience via multiple internships.
- Bachelors or higher in Computer Science or a related field or equivalent experience.
- Proficient in standard software engineering best practices, including agile development, unit testing, code reviews, design documentation, debugging, and troubleshooting.
- Previous experience with Scala, Java, Python, or similar programming languages
- Experience with design, deployment and monitoring of reliable services is a plus
- Experience with shell scripting in Bash or Zsh is a plus
- Experience with front end development (Javascript, React) is a plus
A few other things we value:
- Challenge - We solve some of the industry’s hardest problems. Come to be challenged, learn, and thrive as an engineer.
- Diversity - Diversity makes us a better organization and team. We value diverse backgrounds, ideas, and experiences.
- Work, Life, Balance - We work hard, but we believe with hard work should come balance.
Additional Information
Notice (Colorado Equal Pay for Equal Work Act)
The expected salary range for this role to be performed in Colorado is USD$114,000.00 - USD$149,000.00. Starting pay for the successful applicant will depend on a variety of job-related factors, which may include education, training, experience, location, business needs, or market demands. This range may be modified in the future.
This job is also eligible for participation in Twitter’s Performance Bonus Plan and Equity Incentive Plan subject to the terms of the applicable plans and policies.
Twitter offers a wide range of benefits to U.S.-based employees, including medical, dental, and vision insurance, 401(k) program with employer match, generous time off for vacation, sick time, and parental leave. Twitter's benefits prioritize employee wellness and progressive support to our diverse workforce.
We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, ethnicity, color, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran, genetic information, marital status or any other legally protected status.
San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records