Front-End Engineer

Job description

Chatterbug is building the Internet’s best way to learn a language by empowering those who speak languages: Humans! Humans build our curriculum, teach our students how to speak in one-on-one lessons, and now we are looking a few more humans to help run our systems.


Check us out at https://chatterbug.com.


About the job

We believe that design and usability are the foundation of an excellent product experience. Our Product/Design and Engineering teams (both of which are small) work together very closely all the way from concept to final implementation. We use an iterative process, release often, and stay open to feedback.


As we release new language curricula and expand the scope of what's possible with Chatterbug, we've found our ambitions have exceeded our ability to turn them into reality. That's where you come in.


All new frontend development at Chatterbug is done in React on top of a Ruby on Rails backend. Within the React universe we use:


  • Babel (ES6)
  • Styled Components
  • Webpack
  • Storybook (for rapid backend-less development)
  • Jest (for testing)


Some existing parts of the site are still written with a more traditional Rails methodology, but we're phasing those out in favor of React, because React is amazing!


This job will be focused primarily on taking design concepts and turning them into reality. But don't worry, all of our engineers participate in the design phase as well, and there are always small changes/improvements to the design during the implementation phase to ensure that design and technology are complementing each other.


Our mobile app is written with React Native using a GraphQL API (on the Rails side) and you will also have the opportunity to work across both mobile and web apps.



About you

You’re a multi-talented engineer who wants to join our team building our language-learning product and infrastructure. You would be part of a small development team and have the opportunity to own major components of our systems.


You’ll ship new features to our students and tutors, you’ll help be in service of our growing curriculum development team building our language learning content, and you’ll assist in digging into technical issues in our stack.


You’re an active learner whose passions may include learning languages. (If you know a language other than English please tell us!)



About us

Although we are a small team, we have a big product. We are an experienced team with backgrounds at GitHub and other major tech companies with funding from top investors in Silicon Valley and Europe. Our team works extremely reasonable hours and we have a strong commitment to work-life balance.


Beyond language learning, we’re on a bigger mission to help make lots of jobs for people who only need one skill: how to speak their native language. We currently teach German and Spanish to English speakers, and we’re nearly ready to launch French for English speakers and English for Spanish speakers. We have an international team and an international product, and we’re proud of it.



Engineering at Chatterbug

Our team is spread across the US and Europe. Here’s what you can expect to see:


  • Weekly standup meetings coordinated across timezones
  • Regular 1-1 meetings with your manager
  • Short iterations with planning, estimation, and retrospectives 
  • Our Stack: Ruby on Rails, GraphQL, React, ES6, PostgreSQL, Redis, Docker
  • WebRTC is at the heart of our business, used for all of our language lessons
  • Continuous integration / continuous deployment of your code from your first day
  • A serious commitment to testing with Minitest, Jest, and Selenium
  • Stress-less on-call rotation spread across all engineers

We’re pushing the boundaries of how humans learn languages online—even if you don’t know all of the above we’d like to hear from you!



Working at Chatterbug

Curious about how the company operates? Here’s a quick overview:


  • Remote focused. Our largest office is in Berlin with ~15 people, but our team is encouraged to travel and work from home when needed. Because of the vast time zone spread (9 hours now!), we focus on asynchronous communication when possible, via Slack and Basecamp.
  • Work/life balance matters. We work a full day then go home, and please set up your Do Not Disturb. That Slack message can wait, can’t it? We think so too.
  • Face time brings us together. Since we’re so split up over the world, we put a lot of value on our weekly in-video “Chattermeet” all-hands meetings. We share what’s happening in the company, our product, our curriculum, and occasionally some tidbits about our lives too.
  • Learning first. We have monthly breakfast meetings at our Berlin office to teach about our systems and we encourage our employees to network and be continual learners at professional events.
  • Pitch us. Ideas for our company and our product can come from all levels or layers of the organization—you just need to write it up or propose it!



Benefits at Chatterbug

  • Health Insurance: Medical / Dental / Vision covered.
  • Maternity / Paternity Leave: In the US, we’ll cover this too if your family is growing.
  • Vacation Time: 26 days per year.
  • Coworking/Home office: We’ll cover a space for you to work or help outfit your own.
  • Learn A Language: We’ll pay you to learn a language - either with us or take a class, on us. You can also elect a friend or family member to learn with us for free too.
  • Conferences: We’ll pay for up to 2 visits a year so you can learn more.
  • Semi-annual travel: Company sponsored travel opportunities (to the Berlin office and our semi-annual company meetups)



Want to apply?

Click the Apply for this Job button! If you have a resume, please feel free to upload it, but we're more interested in why you think Chatterbug might be a good fit for you and what you've done before. The cover letter is your chance to shine! Don't forget to list any relevant links (portfolio, links to side projects, etc). We look forward to hearing from you!

Requirements

  • Experience with React and Javascript (ES6)
  • Have worked on a small team or desire to do so
  • Take pride in clear communication and collaborating with your peers
  • Self-motivated and ability to take initiative

Ideally you will also have:

  • Experience with Babel, Webpack, Styled Components, GraphQL
  • The ability to dig into server code to implement endpoints you may need (Ruby on Rails, GraphQL)
  • Empathy for language learners. You love learning, and are excited to help people learn a new language
  • You live in Berlin or are willing to move there