Do you do your own dishes? We've got a job for you (and it's not dishwashing ;-) ).
Do you put them in the sink and expect someone else to do them? Move on, please.
Do you get pissed (in a professional way) when someone else leaves their dishes in the sink? Please apply!
TrainerRoad is looking to expand our engineering group. We're looking for smart software engineers who "get things done." We’re interested in remote candidates in the USA or candidates interested in working in our Reno office.
Areas of work include React, TypeScript, Electron and React Native.
We're moving our apps from cross-platform Xamarin to Electron/React Native. You'd be involved in this process and would work with an experienced engineer(s) to rebuild a section of the app.
Our goal is to increase the speed of app development. We do this through HRM, fast computers, a great build chain, automated testing, clear and well-defined issues and a dedicated QA team that tests every PR.
We track what our users do, learn from that and improve the product. We want this loop to be a quick as possible.
Our website is built in Angular 2+. With our move to React on the app side we'll be making new elements in React on the web.
This job is primarily for Electron (using React) and React Native app development, but there's room for someone to move to the web in the future or split their time between web/app.
Engineering Principals we believe in
- Write good code, but not necessarily great code.
Good code ships, great code gets "tinkered" with and debated about ad nauseam.
- Good code is understandable.
We admit it, we've made things too complex in the past. We've had complex class hierarchies and really shown off our CS skills.
Sure, there's fewer lines of code, but it takes someone a few days to figure out what's going on and it's easy to write bugs.
We believe in a few more lines of code for the sake of clarity and debugging ease.
- Good code is testable, and we're pragmatic about testing.
You don't get the same testing ROI for every line of code. We believe to test the areas that are most likely to break, are tricky or are likely to be changed. We still run thousands of unit tests per build, but we're not testing 1+1 = 2.
- Quick builds will set you free!
To be a successful engineer, you need to get into "flow" (more on that below) as often as you can. That's why we love HRM.
- We want just enough process to be awesome, and nothing more.
We have engineers review issues before a sprint for clarity and completeness. When they submit a PR there's always code review, UI/Unit tests run, then QA manually tests.
For the web, we automatically push every PR that's merged into Master.
For the app, we do weekly releases where there's a final regression test with all merged PRs from the previous week.
Our process prevents bugs/regressions and ultimately saves a lot of time.
- Long-running branches are the devil
Often times projects will take weeks/months before they are launched.
Instead of experiencing a merge/testing hell at the end of the project we encourage small PRs into master with a "feature flag" on the new project that allows employees to use the feature in production but not our users.
Cool Things we Do
- Every PR has a set of unit tests and automated UI tests run against it.
- Every PR is code reviewed.
- We have a dedicated QA team to manually check your PR (it requires four testers to sign off).
- Every web PR that is approved is automatically deployed (CI).
- We've got a beta system that has a flow of production data that helps you develop and test your code without worry of breaking things.
- Everything is hosted on Azure. There's plenty of dev/beta/test servers and databases to use.
- The web and app team have their own Product Managers.
- We run two-week sprints. The web/app team reviews, estimates, and discusses all sprint issues before they are free to be worked.
- We often pair program.
- The majority of our engineers are remote.
- We have a skilled design team that handles the HTML/LESS for app and website.
Who We're Looking For
We want smart engineers who get shit done! Not only do you have to be smart, but you also have to be pragmatic.
Let's say you need to paint a room white.
Smart and Pragmatic Engineer: A pragmatic engineer fills up a sprayer (rather than use a paintbrush), gets to work, and makes sure they don't paint themselves into a corner.
Smart Engineer (but not pragmatic): A smart engineer who's not pragmatic might design a system to change the color of the room in just 30 seconds. Sure, it would take 2 months to build the system but we could change colors so quickly! It's totally optimized for repainting!
If the second example sounds like you, please do not apply. We know it's fun to go hog wild in projects but we need to "get shit done". There's a whole line of other engineers and designers waiting for that room to get painted so they can do their own work on it.
We're a Team, not a Family
It sounds harsh to say, but we're not a Family. I know lots of businesses call themselves a family, but I think it's BS. If you get drunk at work and yell at someone, we're going to let you go (although we would give Grandma a pass at Thanksgiving).
It's better to think of TrainerRoad like a sports team. Everyone has their role and their jobs. It's our jobs as managers to bring new hires up to speed, train them in our system, and coach them to be successful.
If someone is not performing, we need to talk to them, coach them, find out what's going wrong and where we can improve. If someone just can't perform to the standard level of the team and we can't coach them to get better, we have to let that person go.
Another clear sign that you have a high-performance team is that if everyone would "enthusiastically rehire" each other for their current roles. It really makes work wonderful when you respect, trust and value your co-workers.
Required Technology Experience
Web Application Experience (interactive web pages)
Optional Technology Experience
C# (We use this on our web backend)
Web Charting Libraries
Work Remote or in Reno, Nevada
We're looking for the best candidate we can find in the US. Three-quarters of our development team work remotely. It works very well with the help of Slack and Github.
We expect remote employees to overlap at least 6 hours with the Reno, Nevada office (we're there 8am-5pm Pacific time).
We're looking to hire engineers for $100k/year. If you ask for more, we'll reject your application. If you're interested in the company please subscribe to our RSS feed at jobs.trainerroad.com for when a higher level job posting is open.
- Unlimited Vacation
- 401k with 4% company matching
- 99% of employees individual health care paid (I know 99% is weird...it's an ACA thing, and it ends up being just a few dollars per paycheck) You can see a preview of what you'd pay here: https://www.zenefits.com/benefits-preview/?token=3733c1ac-fc72-420a-b224-d9a25bcc1e27
- Flexible schedule
- Access to the latest fitness devices (power meters, trainers, sensors, etc.)
Your Resume should have:
- Links to any open source projects you've contributed to (not required)
- Github/StackOverflow username if you'd like
- Examples of experience in the "Optional Technology Experience" area
Your Cover Letter should have:
- Let us know why you want to work for TrainerRoad
We also Require
The best engineers only want to work with other great engineers. We've found that the best way to find great engineers is to have them code, not just answer trivia questions during an interview.
That's why we require applications to do a refactoring exercise as part of their job submission. The right candidate won't find this a pain in the ass; it should be enjoyable.
This also weeds out the vast majority of candidates who just fire off resumes everywhere.
You can find the refactoring exercise here: https://github.com/trainerroad/RefactoringChallenge
It has a README.md with instructions.
Excited about our Company?
In your application let us know why you want to work with us and why you think you'd be a good fit for our company.
Do I have to be a cyclist to apply?
Nope! Not everyone in the company is a cyclist. It helps if you're an active racer but it's not required. If you are a racer or TrainerRoad user, let us know!
What's unlimited vacation mean?
The CEO of TrainerRoad used to be an engineer at a Fortune 500 company where life was a grind. We believe employees put out their best work when they are happy and not burnt out.
If your brain just isn't working at 3 pm, we encourage employees to go home and rest up. It does no one any good to sit and stare at the computer screen for another two hours. We don't track that time.
Employees generally shoot for around four weeks of REAL vacation time (no slack checking) but some take more, and some take less. The thing we care about is how productive you can be and how much value you can add to the company. Bottom line, we want people who are passionate and get things done. If you meet those requirements, everything else works itself out.
That being said, if you end up taking massive amounts of vacation, come in late, leave early and aren't producing outstanding work we're going to have a problem.
How do you work?
We're big believers in Deep Work and Flow. If you're not turning off Slack (snooze), going DND on your phone and shutting off the world for multiple hours a day you're probably not being as productive as you could be. The idea is a developer should be able to work on a chunk of work that they understand distraction-free for multiple hours totally. This is the only way the company moves forward.
Development uses Github with a strict pull request process. We test, comment, refactor and improve each other's pull requests.
We have a QA team (we call them the Test Team) that checks every PR and does full regression checks for each App release, and we're continually getting more automated.
We have an Automation Team that only focuses on writing UI tests to speed up testing and find bugs faster.
We can one-click deploy our app on Alpha, Beta, and Production channels.
We can one-click deploy our website to Azure (includes smoke tests and warm up).
We have nightly builds that deploy to Test Flight and Google Play.
We often pair program via Slack.
We work off bi-weekly sprint issue lists on Github.
Developers get the super fast machines and awesome equipment. If it's going to let you be more productive, we want to spend the money on it.
You didn't ask about education, what's required?
Please put your education on your resume, but we're not going to reject someone because they don't have a degree in Computer Science. We understand that some of the best and most passionate engineers are self-taught.
How long until I hear a response from you guys? What's the process?
If you don't follow directions in this job posting, you'll be immediately rejected.
If you did follow directions, our goal is to review your refactoring within a week of submitting your application. All refactoring reviews are done "blind"; meaning the reviewer doesn't know your name, resume or where you're from. Code is code, and it should be reviewed that way without bias.
If we like your refactoring, we'll have you do a coding logic quiz. Nothing super in-depth CS wise. We've found that the candidates who do the best on these exercises are very successful at TrainerRoad.
We'll take the top combined refactoring and coding quiz results and set you up for a team interview.
If the team likes you; we'll then set up a pair programming session with you and an engineer. We'll give you a tour of our codebase and work on a real issue. This gives you a chance to run away from our codebase screaming and also demonstrate that you can communicate with us.
If all of the above is good, you're hired!
I know this sounds like a lot of hoops to jump through, but it works so so well! Once you're onboard, you'll love that everyone else went through the same process and is up to "your level" in terms of "get-shit-doneness".
What's with the dishes analogy?
Doing your own dishes is a GREAT analogy for our culture. Don't leave shit around for someone else to clean up. Do your own dishes. Do you see someone making a mess? Let's discuss it (in a productive manner) so that we can nip that behavior in the bud.
We know we're really doing well when someone points out a manager not "doing their dishes" or causing an extra headache for a process that doesn't add value (it happens). Seriously, we need employees to call managers out on this. I'm the CEO writing this; please oh please tell me if I'm messing up or not walking the talk.
Want more detail about the benefits?
You can see a preview of TrainerRoad's health benefits here: https://www.zenefits.com/benefits-preview/?token=3733c1ac-fc72-420a-b224-d9a25bcc1e27
This is the longest job posting ever, when does it end?
Right now! Congrats if you made it this far! We look forward to looking at your resume and refactoring exercise.
|Seasoned DevOps/ SRE||Platform.sh||allows remote||Dec 14|
|Seasoned Technical Writer (native English speaker)||Platform.sh||allows remote||Dec 14|
|NoSQL Datenbank Entwickler für Start up im Bereich Online-Lernen||karriere tutor GmbH||allows remote||Dec 14|
|Technology Risk Assessor||Direct Line Group (Bromley, UK)||allows remote||Dec 14|
|Sr. Data Architect||Philip Morris International (Neuchâtel, Switzerland)||allows remote||Dec 14|
|IT-Ingenieurinnen / IT-Ingenieure||Bundesanstalt Technisches Hilfswerk (Berlin, Deutschland)||allows remote||Dec 14|
|Senior Back-End Java Developer||GitPrime||allows remote||Dec 13|
|Customer Engagement Engineer||GitPrime||allows remote||Dec 13|
|Automation Test Developer||CineMassive||allows remote||Dec 13|
|Senior iOS Software Engineer and co-creator||Neybox Digital Ltd.||allows remote||Dec 13|
|Senior Level Creative Web Designer/Developer||Jonroc (Richmond, VA)||allows remote||Dec 13|
|Backend Engineer - Passenger Growth (Golang)||Heetch||allows remote||Dec 13|
|Senior Scala / Java Developer||TopDevz (Sacramento, CA)||allows remote||Dec 13|
|Architecte Solutions||CAPGEMINI FRANCE (Paris, France)||allows remote||Dec 13|
|Garmin IQ Developer (m/f)||komoot||allows remote||Dec 13|
|React Native Developer (Remote)||X-Team||allows remote||Dec 13|
|Senior Software Engineer||FineTune Learning||allows remote||Dec 13|
|Experienced C# Developer Who Is Ready to Take the Lead||ClearPoint Federal Bank & Trust (Batesville, IN)||allows remote||Dec 13|
|Sr Demandware/Salesforce Commerce Architect||PFSweb (Allen, TX)||allows remote||Dec 13|
|Cloud- KPI Data Quality Engineer||Elastic||allows remote||Dec 12|
|Cloud- KPI Data Engineer||Elastic||allows remote||Dec 12|
|Remote Software Engineer||Alliance Reservations Network||allows remote||Dec 12|
|Search- Integrations Engineer||Elastic||allows remote||Dec 12|
|Senior Software Engineer - Program Analysis - Elastic CodeSearch||Elastic||allows remote||Dec 12|
|Senior Full-Stack Developer for Blockchain Company, involves Ruby, JS, TS||trade.io||allows remote||Dec 12|
|Junior/Mid-Level Java Developer||Ubiquisoft Technologies (Memphis, TN)||allows remote||Dec 12|
|Front-end Developer||GatherContent (London, UK)||allows remote||Dec 12|
|Full Stack Engineer||Interfolio, Inc (Washington, DC)||allows remote||Dec 12|
|Android Developer (UX/Frontend focused) for fast-growing Cloud Storage Startup||Degoo (Stockholm, Sweden)||allows remote||Dec 12|
|iOS Developer (UX/Frontend focused) for fast-growing Cloud Storage Startup||Degoo (Stockholm, Sweden)||allows remote||Dec 12|
|[Senior] Haskell Software Developer Genius for Network Security Solutions||Secucloud (Hamburg, Deutschland)||allows remote||Dec 12|
|Service Delivery Manager Europe||Open-Xchange GmbH||allows remote||Dec 12|
|Senior Data Engineer - Remote, US-based||Knock.com||allows remote||Dec 12|
|Backend Engineer||OmniSci, Inc (San Francisco, CA)||allows remote||Dec 11|
|Product and UX Focused .NET Developer||Enliven (St. Louis, MO)||allows remote||Dec 11|
|Architect (Remote, USA or Canada)||Phreesia (Ottawa, ON, Canada)||allows remote||Dec 11|
|Back-End Engineer||X-Mode Social (Reston, VA)||allows remote||Dec 11|
|Sr Data Scientist||Wallethub||allows remote||Dec 11|
|Cloud Systems Engineer||WSM International LLC (Saint Clair Shores, MI)||allows remote||Dec 11|
|Front-end React Developer at CrazyGames (REMOTE)||CrazyGames (REMOTE) at Prezly||allows remote||Dec 11|
|Senior DevOps Engineer, Google (Contract) Remote OK||Citrusbyte (Mountain View, CA)||allows remote||Dec 11|
|Technical Program Manager||Prometheum Inc. (New York, NY)||allows remote||Dec 11|
|Full stack (NodeJS) software developer||Prometheum Inc. (New York, NY)||allows remote||Dec 11|
|Technical Solutions Engineer||Scrapinghub||allows remote||Dec 11|
|Fullstack ReactJS/NodeJS developer||Code Careers (Eindhoven, Netherlands)||allows remote||Dec 11|
|Advanced Angular Engineer (f/m/d)||interfacewerk GmbH (München, Deutschland)||allows remote||Dec 11|
|Software Architect||Disy Informationssysteme GmbH (Karlsruhe, Germany)||allows remote||Dec 11|
|Backend Software Engineer - Remote - Global Health Platform||DHIS2 (Oslo, Norway)||allows remote||Dec 11|
|Front-End Software Engineer - Global Health Data Platform||DHIS2 (Oslo, Norway)||allows remote||Dec 11|
|Test Engineer (SDET)||Radix DLT (Stoke-on-Trent, UK)||allows remote||Dec 11|
|Test Analyst||Radix DLT (Stoke-on-Trent, UK)||allows remote||Dec 11|
|Service Asset & Configuration Management Analyst||Direct Line Group (Bromley, UK)||allows remote||Dec 11|
|Full-Stack Developer Java/Web||Disy Informationssysteme GmbH (Karlsruhe, Germany)||allows remote||Dec 11|
|Front End Developer||PeopleDoc (Paris, France)||allows remote||Dec 11|
|Senior Software Engineer - (Backend)||Respondent||allows remote||Dec 11|
|Production DevOps Engineer - Remote (US)||Hazelcast||allows remote||Dec 10|
|Senior Web Developer||Sitebiz (Houston, TX)||allows remote||Dec 10|
|Development Manager (Hands-On)/Pod Leader (Full Stack | Laravel | CakePHP | Vue)||continued||allows remote||Dec 10|
|React Native Engineer||Brushfire||allows remote||Dec 10|
|.NET Lead Developer (Russian speaking)||Dodo Pizza (Moskva, Russia)||allows remote||Dec 10|
|DevOps Engineer (Russian speaking)||Dodo Pizza (Moskva, Russia)||allows remote||Dec 10|
|Senior Software Engineer, Users Directory||Auth0||allows remote||Dec 10|
|Remote - Sr. Enterprise .Net Developer / Build world class Pricing tool||Insights Digital Innovation division, BlueMetal||allows remote||Dec 10|
|Product Designer||Clevertech||allows remote||Dec 10|
|Hands-On Technical Architect||Clevertech||allows remote||Dec 10|
|Senior Java Engineer||Clevertech||allows remote||Dec 10|
|Senior Front End Engineer||Clevertech||allows remote||Dec 10|
|Golang Engineer||Clevertech||allows remote||Dec 10|
|API Engineer||Clevertech||allows remote||Dec 10|
|Angular Ionic Full-Stack JS Engineer||Clevertech||allows remote||Dec 10|
|QA Test Automation Engineer||Interfolio, Inc (Washington, DC)||allows remote||Dec 10|
|Support Engineer United Kingdom||Elastic||allows remote||Dec 10|
|iOS Engineer||MartianCraft||allows remote||Dec 10|
|Mobile QA Engineer||Lonely Planet (Nashville, TN)||allows remote||Dec 10|
|Site Reliability Engineer - Telecommuting Opportunity (U.S./Canada)||MaxMind (Waltham, MA)||allows remote||Dec 10|
|Support Engineer - German Speaking||Elastic||allows remote||Dec 10|
|Kickstarta din karriär med Acando Trainee!||Acando||allows remote||Dec 10|
|DevOps Engineer/Manager||Interfolio, Inc (Washington, DC)||allows remote||Dec 10|
|Frontend Architect||BriteCore||allows remote||Dec 10|
|Mid-Level Frontend Developer||BriteCore||allows remote||Dec 10|
|Ruby on Rail Developer||Baldwin Aviation (Hilton Head Island, SC)||allows remote||Dec 10|
|Engineering Team Lead - Elastic Language Clients - EMEA||Elastic||allows remote||Dec 10|
|Platform Engineer for Containers||Giant Swarm GmbH||allows remote||Dec 10|
|Senior Solidity/Full Stack Developer (Blockchain/Crypto)||Polymath (Toronto, ON, Canada)||allows remote||Dec 10|
|Lead Full Stack Developer||brandboom||allows remote||Dec 10|
|Software Engineer - Full-stack, back-end focused||Motiion||allows remote||Dec 9|
|Data Engineer||Automattic||allows remote||Dec 9|
|Engineer, Services||Wikimedia Foundation, Inc.||allows remote||Dec 9|
|Full Stack Engineer, Engineering Tools||Auth0||allows remote||Dec 9|
|*Remote* Principal Front End Engineer at a progressive education non-profit.||a progressive education non-profit. at Achievement Network (Boston, MA)||allows remote||Dec 9|
|Full Stack Developer||Supermercato24 (Verona, Italy)||allows remote||Dec 9|
|Android Developer||Supermercato24 (Verona, Italy)||allows remote||Dec 9|
|iOS Developer||Supermercato24 (Verona, Italy)||allows remote||Dec 9|
|Service Asset & Configuration Management Analyst||Direct Line Group (Bromley, UK)||allows remote||Dec 9|
|Senior Software Engineer||Tenna LLC. (Edison, NJ)||allows remote||Dec 9|
|Developer in Test Krakow (PL)||Global App Testing (Kraków, Poland)||allows remote||Dec 9|
|WordPress Entwickler für Start up im Bereich Online-Lernen||karriere tutor GmbH||allows remote||Dec 9|
|Join us in our Sustainable Energy Revolution-Medior/ Senior full-stack developer||The Sustainables BV (Amsterdam, Netherlands)||allows remote||Dec 9|
|Technical Writer (f/m) - Remote possible||PROEMION (Fulda, Deutschland)||allows remote||Dec 9|
|Full-stack Engineer (Angular 2/React, Node.js, AWS)||SemanticBits (Washington, DC)||allows remote||Dec 9|
|Data Engineer||SemanticBits||allows remote||Dec 9|
|Data Architect||SemanticBits||allows remote||Dec 9|
|Technical Evangelist, China||Elastic||allows remote||Dec 9|
|Senior Java Developer||Integrated Data Services (IDS) (Los Angeles, CA)||allows remote||Dec 9|
|Senior Oracle PLSQL Developer||Integrated Data Services (IDS) (Los Angeles, CA)||allows remote||Dec 9|
|Senior U/I Developer||Integrated Data Services (IDS) (Los Angeles, CA)||allows remote||Dec 9|
|Senior Backend Engineer||LiveSchool Inc.||allows remote||Dec 8|
|Azure Site Reliability Engineer (US/ Pacific Time Zone)||Stack Overflow||allows remote||Dec 8|
|Backend Engineer - Money (Elixir)||Heetch||allows remote||Dec 8|
|Software Engineer - Full-stack, front-end focused||Motiion||allows remote||Dec 8|
|C++ Developer||Hays plc (Ottawa, ON, Canada)||allows remote||Dec 8|
|Application Security Engineer||Zapier||allows remote||Dec 8|
|Django Web Developer||Crossway (Wheaton, IL)||allows remote||Dec 8|
|Software Developer @ High-Growth Healthcare IT Company||CoverMyMeds (Columbus, OH)||allows remote||Dec 8|
|Backend Python/Django Developer||Self Decode||allows remote||Dec 8|
|ServiceNow Developer||MINDBODY Inc. (San Luis Obispo, CA)||allows remote||Dec 7|
|Senior Java Engineer / Architect||AI Incube (Munich, Germany)||allows remote||Dec 7|
|Lead Interactive Developer (Applied Augmented Reality)||Mav Farm||allows remote||Dec 7|
|Software Engineer, Backend||Mav Farm||allows remote||Dec 7|
|React Developer (React, TypeScript, Redux)||Trainer Road, LLC (Reno, NV)||allows remote||Dec 7|
|Data Science Course Mentor||Thinkful Inc.||allows remote||Dec 7|
|Bloc Mentor (Remote)||Thinkful Inc.||allows remote||Dec 7|
|Technical Coach (Design)||Thinkful Inc.||allows remote||Dec 7|
|Cloud Engineer- Docker Infastructure||Elastic||allows remote||Dec 7|
|Senior Software Engineer/Team Lead (U.S. residents only - Remote position)||StayWell||allows remote||Dec 7|
|CAPGEMINI - Ingenieur développement JAVA J2EE H/F||CAPGEMINI FRANCE (Pérols, France)||allows remote||Dec 7|
|Senior Software Developer - Ecomm||Spencer's (Egg Harbor Township, NJ)||allows remote||Dec 7|
|Trusted Execution Environments instructor for a cryptocurrency entrepreneur||Chorus One||allows remote||Dec 7|
|Front-End Developer/Designer||CoverMyMeds (Columbus, OH)||allows remote||Dec 7|