Overview
About Microverse
We believe the place where you are born shouldn’t determine your opportunities in life. We provide access to global opportunities by offering a world-class education no matter where you come from.
Microverse is an online school for software developers where students learn to work remotely with people from around the world. Students don’t pay tuition until they get hired and start a global career.
We are backed by amazing global investors including Y Combinator, General Catalyst, and many world-class angel investors, such as Paul Graham, Paul Buchheit (the creator of Gmail), and Kevin Hartz (the founder of Eventbrite). We are a passionate and fast-moving team of global citizens working remotely from 12+ countries.
Being remote-first and transparent, we take pride in the amazing remote culture we are building, while also making time for in-person time with team members around the world (when it is safe to do so). We are a small but mighty team of curious, life-long learners, who love tackling challenges and helping shape the future of education.
Talent is universal, but opportunity is not. We’re on a mission to change that. There has never been a more exciting time to join our growing team.
The Role
We are looking for a Senior Full-Stack Software Developer to join our team and implement new features, fix existing functionality as well as help our architecture evolve and support orders of magnitude more students. To be successful in this role you should have multiple years of experience building and maintaining web applications that use Ruby on Rails but also integrate with 3rd party services via REST APIs and allow for low-code/no-code interactions written by our Operations staff in tools like Zapier, Integromat and Airtable. Being comfortable with Heroku and Google Cloud Platform is a big plus!
At Microverse we use a mix of code, low-code and no-code stacks to provide the software component our students and staff interact with, and as we grow we expect the reliance on code (Ruby on Rails, currently) to increase. As we build out more scalable systems that go from handling thousands of students currently, to tens of thousands and hundreds of thousands in the future, we will face challenges in how maintain our nimble “solve your own problem” current approach with a more stable, less fragile implementation.
We strive for simple, antifragile solutions that iteratively grow to support our needs. Better to experiment and test our assumptions with running code than over-analyze and spend weeks arguing over specs or mockups.
With a keen interest in Open Source technologies, and a desire to involve our students in the running of the school, we foresee a future where we work in a fully transparent manner (FOSS licensed!) allowing our student body to take paid apprentice roles to help us also develop and maintain our infrastructure as well as hone their skills with real-work production systems experience. Are you up to that challenge?
Responsibilities
- Develop features and improvements to the Microverse service in a secure, well-tested, and performant way.
- Fix prioritized issues from the issue tracker. These are typically bugs listed in a GitHub issue with an attached severity and priority label.
- Consistently ship moderately sized features and improvements with minimal guidance and support from other team members. Collaborate with the team on larger projects.
- Craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
- Help define and improve our internal standards for style, maintainability, and best practices for a high-scale web environment. Maintain and advocate for these standards through code review.
- Solve technical problems of high scope and complexity.
- Collaborate with Product Management and other stakeholders within Engineering (UX, Frontend, Backend, etc.) to maintain a high bar for quality in a fast-paced, iterative environment.
- Advocate for improvements to product quality, security, and performance.
- Recognize impediments to our efficiency as a team (“technical debt”), propose and implement solutions.
- Represent Microverse and its values in public communication around specific projects and community contributions.
- Participate in weekday and weekend and occasional night on-call rotations to assist troubleshooting product operations, security operations, and urgent engineering issues.
- Help improve the overall experience of our service through improving the quality of the Frontend features both in your group and features that benefit other groups.
- Help identify areas of improvements in the code base, both specific to your group and outside your group (e.g. component library) and help contribute to make it better
- Learn, collaborate, and teach other Engineers. Everyone can contribute something new to the team regardless of how long they’ve been in the industry.
- Exert influence on the overall vision and long-range goals of your team. This could be technical and/or product focused.
- Experience with performance and optimization problems, particularly at large scale, and a demonstrated ability to diagnose and prevent these problems
- Provide mentorship for Junior and Intermediate Engineers in your section to help them grow in their technical responsibilities and remove blockers.
Requirements
- Significant professional experience with Ruby on Rails
- Professional experience with any other relevant technologies a plus (RDBMS/PostgreSQL, Redis, REST APIs, JavaScript, etc.)
- Professional experience with modern JavaScript web frameworks (any/many! VueJS , React, Angular, Ember, etc.)
- Experience with writing automated tests (e.g. Jest, Karma, Jasmine, Mocha, AVA, tape)
- A solid understanding in core web and browser concepts (e.g. how the browser parses and constructs a web page)
- A solid understanding of semantic HTML, CSS, and core JavaScript concepts
- Experience using Git in a professional/workplace environment. Ability to use GitHub
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems
- Comfort working in a highly agile, intensely iterative software development process
- Demonstrated ability to onboard and integrate with an organization long-term
- Positive and solution-oriented mindset
- Effective communication skills: Regularly achieve consensus with peers, and clear status updates
- An inclination towards communication, inclusion, and visibility
- Experience owning a project from concept to production, including proposal, discussion, and execution.
- Self-motivated and self-managing, with great organizational skills.
- Demonstrated ability to work closely with other parts of the organization
- Share our values, and work in accordance with those values
- Ability to thrive in a fully remote organization
Benefits
- Opportunity to join a fast-growing, mission-driven company
- Make a positive impact on thousands of people’s lives around the world
- Leading remote-first working culture shaping the future of work
- Work from wherever you are the happiest
- International company retreats with our global team once every ~9 months
- Learning and development budget for books, courses, and conferences
- Hardware & office set up stipend
- Unlimited PTO and 12 weeks fully-paid parental leave
- Work alongside our fully distributed team from 12 different countries
- Our team believes in and embodies our core values:
- We are global citizens
- We are passionate about our mission
- We invest in people
- We are eager learners
- We are transparent
- We take ownership of our work
- We live a harmonious life