Engineering
·
Singapore
Ruby on Rails Software Engineer (Full-stack)
If you believe in delighting customers, have high standards and are resourceful, we want to hear from you.
Mission
Write production-ready software designed for supporting business growth and bringing Grain's' delightful experiences to customers through teamwork and discipline.
Outcomes
- Contribute to the backend service performance and reliability, including our Ruby on Rails servers, GCP deployments, and Cloudflare workers.
- Write high-quality code that is accompanied by robust and meaningful tests.
- Be proficient with profiling and solve performance bottlenecks.
- Create scalable and informative documentation to scale knowledge and communication.
Competencies
- Proficient in writing Ruby.
- Proficient in writing tests with RSpec.
- Proficient in writing Javascript / Typescript.
- Experienced with Ruby on Rails framework.
- Proficient in writing SQL.
- Experienced with Postgres.
- Strong understanding of command line and toolchains (e.g. Zsh, Vim, Tmux).
- Have a good grasp of serverless paradigms including deployments, scaling and security.
- Experienced in GraphQL or is willing to learn.
Responsibilities
- To lead the engineering team by setting high standards and creating scalable processes.
- Own the engineering team outcomes and support product management efforts.
- Be responsible for the technical interview process of hiring new engineers.
- Design and architect existing or new systems and platforms.
- Be responsible for creating a culture of code reviews and pair programming.
- Coach and mentor the team to be proficient in testing and completing the work by documenting all necessary information to the product manager or stakeholder.
What’s in it for you
- Work with a fast growing, at the same time, lean and mean team, to make real world impact.
- Have a lot of ownership and drive your own results and progression.
- Smart people who sweat the details and push for the highest standards.
- Training and in-house opportunities to help you grow.
- Other benefits include a competitive compensation package and birthday leave.
You should include these in your application:
- CV or LinkedIn profile
- Tell us about a time you had to work on a highly challenging task. How did you overcome it?
- What motivates you?
- What's your favourite food and where do you get it? Why?
- Department
- Engineering
- Locations
- Singapore
- Employment type
- Full-time
WHAT’S THE INTERVIEW PROCESS LIKE?
The process can differ between roles, but we usually start with a quick screening call followed by in-person interviews to be sure we’re on the same page and a good fit for each other.
1. Quick 45 minute screening interview to make sure we are on the same page. Here, we try to briefly understand cultural fit, where you’re at, what you’re optimising for, strengths and weaknesses, relevant experience, etc.
2. 1–1.5 hour deeper interview with the functional lead. There may be some overlapping questions here — we don’t compare notes between interviews to keep the process independent.
3. [Only certain roles] 3–4 hour practical interview.
4. [Only certain roles] Interview with CEO/COO.
5. Reference check.
If you have read this far, some useful tips:
• Always follow up after each interview - tell us things you learned, what you enjoyed, why you would be a good fit, ask more questions, supplement your answers — this will go a long way!
• This is a basic detail but people fail at it and we are the kind of company that likes helping you out — reply all in your emails. Make sure everyone that needs to be in the loop (especially your champions in this case!) are to/cc-ed in each thread.
• “Any questions for me?” → The right answer is always yes. And belt out the 3 questions you prepared for this interview. Some good questions: “How did I do in this interview? Please give me brutal feedback.”, “Pre-mortem: If I joined Grain and I was no longer with you all in 6-12 months. Why?”, “What do you think are the most important traits for this job?”
• Pro tip for sales interviews: Sales is more about asking questions, instead of talking. Learn this in 1:38 minutes here.