Senior Software Engineer
Published on December 01, 2022
As a Senior Software Engineer on the Deals team, you will “deal” in all things deals. Our deals pipeline is the beating heart of Scott’s Cheap Flights. We process billions of records from various sources daily to curate only the best flight deals for our members. The Deals team is constantly improving our data ingestion systems to keep deal data flowing across the engineering organization. You will be responsible for maintaining and improving the backend services that comprise our deals ecosystem.
In the short term, you will:
- Become familiar with our code bases, code style, tech stack, development and deployment process, and project management process
- Contribute to the system architecture and design process
- Give direction and oversight to junior engineers on the implementation of the system designs you helped develop as well as being an individual contributor to the execution
- Work with a cross-functional team to support the development of new features
- Refactor, QA, and improve existing code
- Write and maintain robust tests to ensure the stability of our backend systems
In the long term, you will:
- Be an expert with all of our tooling: Bugsnag, Metabase, Heroku, New Relic, and more
- Bring creative solutions to projects to support the continual improvement of Scott's Cheap Flights
- Contribute to scaling our Deals pipeline and data ecosystem to enable machine learning capabilities
- Cultivate relationships across engineering teams within SCF so that we continue to build a highly collaborative environment
- Continue education/training. Everyone should be working in some way at all times toward the next step in their career
- Mentor all engineers on the team and make your experience a valuable resource to everyone
What you bring to the table:
- High autonomy: We don’t like being micromanaged, and we don’t like micromanaging others. Leading developers are those we trust to do what is right without leadership stepping in. You've demonstrated that you can accomplish complex tasks you're assigned without hands-on oversight and direction.
- Intellectual curiosity: You are motivated to try new methods and learn new technologies without direction to do so. You are always thinking of ways to improve existing systems or build better ones.
- Great attention to detail: You have a nose for edge cases and can anticipate potential snags when discussing technical solutions.
- Balance of refinement and pragmatism: We will lean on you to know when to dial in the perfect abstraction vs shipping simple, working code.
- Excellent communication skills: We are a fully remote company that relies heavily on async communication. Staying tuned in to our communications channels will be integral to your success here.
- Resourcefulness: You lean on your experience to drive you to an optimal solution. When you don’t know how to solve a problem, you know how to comprehensively research to find the solution. You are the person that people talk to when they can't figure something out.
- Resilience: No one is perfect. You’ve made some mistakes, but you can acknowledge your failures and take full responsibility for them. By making mistakes, you’ve learned to avoid pitfalls and make architectural decisions that allow you to maneuver through challenges of uncertainty and complexity. You demonstrate and promote a culture of accountability and learning, not a culture of blame.
- 4+ years of professional experience in web application development
- or completion or significant course work towards completion of a Computer Science degree / relevant certification program
- or significant code that can be shown from personal projects and/or open-source contributions.
- Python/Ruby (minimum 2+ years experience)
- Other languages (minimum 2+ years experience)
- Strong knowledge with Unix based systems administration
- Strong Knowledge of Database Systems and SQL
- Strong knowledge of Git
- Strong knowledge of asynchronous job systems (Sidekiq, Celery, etc.)
Nice to have’s:
- MS/MA in Computer Science or related field of Engineering
- Experience maintaining monolithic framework applications (Ruby on Rails, Django, etc.)
- Experience maintaining Go applications
- Extensive Ruby experience
- Strong knowledge of data structures, software design patterns, and relational and non-relational databases
- Experience refactoring/rethinking legacy systems
- Experience web scraping tools (Selenium, Puppeteer, Playwright, Scrapy)
Technologies we use:
- Ruby on Rails is our primary server framework
- React is our primary front-end development framework
- Postgres and Redis are our primary storage engines
- BigQuery for our data warehouse
- Heroku for deployments and infrastructure (migrating to AWS/EKS)
- GitHub for source code management
- Circle CI for continuous integration
- Notion for documentation and collaboration
- Jira for project management
Who you’ll work with:
- You’ll report to Tyler Coles.
- You’ll be on a squad with Greg Koeka, Willis Orlando, Christine Kim, and Rachel Smith.
- You’ll collaborate across all of Engineering - a brilliant team of 13, soon to be 16!
Why you might love working here:
- The salary for the position will be $148,732 + equity.
- 100% remote work environment, so go ahead and bring your dog to work or wear your PJs to the office!
- $500/Quarter Remote Work Stipend
- $75/month Physical & Mental Wellness Stipend
- Open vacation policy, with a 3-week minimum!
- Comprehensive health, vision, and dental insurance
- 401(k) with a 5% match
- Up to 12 weeks of paid family leave
- No Meeting/Flex Fridays
- Meetup stipend when you cross paths with a co-worker
- Continuing education & development reimbursement
- Bi-annual team retreats (In September, we went to Zion National Park. In April we’re headed to Mexico City!)
- Challenging problems to solve and an awesome team to collaborate with every single day
We want you to bring your authentic self to work every single day. We accept you for who you are and consider everyone on an equal opportunity basis without regard to ancestry; age; appearance; color; gender identity and/or expression; genetics; family or parental status; marital, civil union, or domestic partnership status; mental, physical, or sensory disability; national, social or ethnic origin; past or present military service; sexual orientation; socioeconomic status; race; religion or belief.
If you require reasonable accommodation or assistance for any part of the interview and employment process, please contact us at [email protected] and let us know the nature of your request.