The most common questions from engineering candidates during interviews at CloudBolt revolve around one theme—how do Software Developers at CloudBolt work? We eventually decided to share this with candidates in our job postings (hey—did you know we’re hiring in Engineering?), but that made them overly verbose. So, we launched the CloudBolt Engineering blog to regularly share different CloudBolt engineers’ perspectives on how we work here and the interesting things we’re working on. In this post, I’ll answer some of the most common questions about how developers work here.*
What team will I be joining?
It depends! Today we have a few different teams focused on different areas of the product:
- Content Engineering: A team that infrequently touches our codebase but regularly develops blueprints, plug-ins, and UI extensions (which our customers can then additionally extend) atop our Python-based platform to integrate with a swath of tools in the DevOps ecosystem.
- Third-Party Integrations: This team is focused on building in-product solutions for those same tools—they work with the APIs and SDKs for public clouds, hypervisors APIs, SDKs, and Configuration Management tools like Puppet and Chef, as well as Kubernetes, Terraform, ServiceNow, and many more.
- Core Platform: These are the folks building and improving our sophisticated Orchestration and Jobs Engines, which tie together the myriad third-party tools that allow end-users to easily order complex application stacks via our Catalog and Content Library.
When you apply, the name of the team is in the job posting, but you’ll be interviewing with members of every engineering team.
What does onboarding look like?
To effectively integrate you into the team, you’ll be paired with an onboarding partner—a fellow developer who is tasked with making you successful in your first several months and beyond. In the first week, you’ll be setting up your development environment and working towards getting your first git commit. Over your first month, you’ll gradually work on more complex stories, and within your first few months, you’ll have worked on a larger project. You’ll be encouraged to explore the product, sit in on customer demos, and familiarize yourself with the rest of the company. Throughout this process, you’ll have your dedicated onboarding partner, your manager, and your entire team to guide you along the way.
What does an average week look like?
Each week here is a whole sprint. We start Monday by picking stories or features to work on with our team, then collaborating on that throughout the week, and reviewing and merging our work by Friday. We also do a Show & Tell (AKA Demo Day) every Friday for the whole company where you’ll have the opportunity to share your improvements with folks in the company who can go share your improvements with our customers. Retrospective is on Thursdays, where we meet to reflect on successes and challenges over the past week, as well as use the time to express gratitude towards our fellow developers. You will regularly partner with customer support engineers to help (and mentor) them while they triage and diagnose technical support requests. You will regularly work with customers directly on support tickets on a rotation basis.
Will I get to make design decisions about my features?
Yes! You will implement your features and fixes end-to-end. User stories become living design specs that you implement in an iterative approach that takes customer feedback into account. However, you will have the final decision-making authority on implementation-level details. This will be balanced by the responsibility to confer with your partner and internal & external customers to solicit their perspectives and keep them up-to-date.
How do you review code?
Every improvement gets a peer partner who is responsible for peer programming with you (as appropriate) and ultimately reviewing and testing the work. Smaller improvements and bugfixes get committed directly to master, where they are automatically tested by our CI/CD platform and your partner can review them in-situ. Larger contributions get submitted as a Pull Request, where we have a checklist of merge criteria that we use to make sure the improvements are tested and functional.
How is work selected?
A product management group meets every week to prioritize our roadmap along with other strategic work. You will work with your manager and others on the team to select your sprint payload, balancing both longer-term and shorter-term requests. From time to time, a customer may escalate a request via our support or sales channels and our support team will bubble that request up to your team, where the team can discuss the best way to address that request quickly.
How will I be able to grow at CloudBolt?
You will be able to work ion areas outside of product development. Some developers enjoy visiting customers and prospects to demo the product or help them during setup. Others have practiced their product management skills or written blog posts about our technology, product, or team. Your opportunity to attend conferences (100% paid for by us), speak at meetups, or engage with our community of software and IT professionals will also help you level up your skills and career.
Also: We’re Hiring!
Are you a passionate software developer with a history of success working on commercial products? Do you and your team deliver services or products in an MVC framework like Django or Ruby on Rails or back-end services in languages like Python or Go? Are you looking for the opportunity to immediately impact customer adoption and use of a product?
If so, we’d love to talk with you!. We are growing our team of software developers in Portland, OR to meet the increased requests from our rapidly-growing customer base. We built our product in Django and Python and it runs on a CentOS + Apache + MySQL appliance that our customers run in their data centers or in the cloud. Our product team ships improvements in weekly sprints that roll up into a 6-week release cadence. We value smart, conscientious, collaboration-focused individuals with excellent communication skills and openness to new experiences.
Interested? Head on over to our careers page and check out the positions we have open. We’d love to chat!
*: Caveat! This article reflects how we work today, but our practices are constantly evolving as we find the best way to build the product we’re so passionate about. Be sure to follow our Engineering Blog as we share more about how we work. ↑TO TOP↑