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 citizensWe are passionate about our missionWe invest in peopleWe are eager learnersWe are transparentWe take ownership of our workWe live a harmonious life