Expanding your DevOps team can sometimes feel like defeating a demogorgon—or demodogs for that matter (R.I.P., Dart)—without Eleven. You may have a paladin, a cleric, a bard, and a ranger. But without the mage, or at least a little truesight, it’s tough to know how to make the most of your resources and expand your capabilities. (Can you tell we’ve binged on Stranger Things 2?)
It’s true, though. To grow your app, you need more resources. Many startup teams simply lack the money and time it takes to hire new team members. And even if they do have the resources, finding the right talent is the real issue. It’s not that there’s a major talent shortage in the Ruby on Rails world—you just need to know how and where to find the right people. This means refining your recruiting and hiring process.
Before you begin, it’s important to outline necessary DevOps skills
Creating candidate profiles can help answer the following questions:
- What are you looking for in a candidate?
- What specific skills must he or she bring to the table?
- How will this individual operate in your current organizational structure?
There’s a reason you’re bringing on new resources. To ensure you’re making the right decision, let’s outline some core competencies and soft skills your candidate should possess.
1. Core Competencies
Let’s open with the “hard stuff,” or the core competencies. These are the bare necessities of the role. For starters, most roles require at least a bachelor’s degree in computer science or equivalent project-based experience. You’re hiring a developer—and any ambitious young gun worth his or her salt should be able to prove his or her open-source chops.
According to The New Stack, there are six core competencies of DevOps engineers:
- Continuous integration
- Continuous testing
- Continuous delivery
- Continuous monitoring
As you build a team, it’s important to consider if development and IT individuals can work in conjunction. Most DevOps roles are built on the idea of applying automation—so it’s important that your team members are familiar with tools and technology (more on this later). And from integration, testing, delivery, and monitoring, it’s essential that your team members are constantly iterating and improving—and monitoring to spot performance problems before they ever reach production.
2. Soft Skills
Qualifications are important, but cultural fit is just as important in the Ruby world. You’re building a team, after all. At its core, DevOps skills combine development and operations to break down silos and encourage a culture of communication. The application process is collaborative in these environments. And while technical chops are essential, candidates must also embrace your company’s community-first viewpoint and identify with your mission and vision.
Ask yourself if innovation and forward thinking are important to your business (they probably are). Ideal candidates must be well-versed and educated in Ruby but also up to speed with trends. You want your candidates to be just as interested in self-improvement. They must display a desire to stay up to speed on, well, everything. And you want individuals who will drive your application or software to the next level.
3. Technical Prowess
DevOps skills are highly technical. In addition to core competencies, your new hires must have experience operating and managing in environments like yours. Establishing a list of technical requirements sets the bar for your required skill and experience levels. It lays out expectations for candidates and outlines if they’re qualified. Finally, it should weed out underqualified or overqualified individuals.
Below are some examples of required skills and experience levels:
- Proficient in high-level script languages such as Python and Ruby
- Experience administering Linux (Centos, RHEL, Ubuntu) systems
- Strong experience building and maintaining production systems on AWS using EC2, RDS, S3, ELB, Cloud Formation, etc.
- Experience with hardware and software firewalls, IPS, WAF, and additional security layers (LDAP, SSO, 2Factor)
- Experience with continuous integration, testing, and deployment
- Understanding of ITIL terminology such as “incident” and “problem”
- Experience with RDBMS (PostgreSQL and MySQL)
Regardless of the specifics of your role, most DevOps roles will require at least an understanding of configuration management concepts; a knowledge of script languages; and experience with continuous integration, testing, and deployment.
Hiring new DevOps roles is always risky. Putting in the work yields the best candidates, but teams often lack the time or capacity to do so. Using full-stack Ruby on Rails DevOps experts such as Engine Yard enables teams to deploy rapidly without additional people.