As a recruiter, have you ever had an awkward conversation with an engineer?
If so, you are not alone! Speaking to technical candidates can be challenging. It’s not about a lack of people skills. We know you have that covered. It’s because speaking to someone highly technical about tech is intimidating. Especially when you don’t know whether Angular is a language or framework.
How do we have better conversations with the tech talent we want to hire?
By first understanding their work. Understanding the process an engineer works through when developing software can lay the foundation for a better connection with your candidate. Read on to learn about the workflow of the technical candidates you’re trying to recruit. The more you understand the world of software development, the better conversations you’ll have with engineers in their language.
Let’s get started!
Agile vs. Waterfall Methodology
Before we dig into the details of the SDLC, let’s cover the two main methodologies of software development: Waterfall and Agile.
Here is a pretty well-known visualization of the difference between Waterfall methodology and Agile methodology:
Waterfall methodology follows a sequential process where one stage of the development process is completed before beginning the next. Having its start in manufacturing, Waterfall is less iterative and more constrained in its process as projects only move in a forward direction.
Agile methodology takes the same five stages of Waterfall, but applies them in short, quick cycles. This approach supports iterative design as testing and product feedback happen constantly, rather than simply at the end of the process.
The Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is the engineer’s process for developing, altering, maintaining, and replacing software. It begins with a ticket and ends with live code. Once we understand the process they follow, we can better understand what technical candidates are sharing with us during our interviews with them.
When building or maintaining code, a team will map out and track needed bug fixes and new features. Individual pieces of work will be assigned to tickets, and tickets get prioritized based on product delivery timelines. Developers are either assigned tickets or they simply take the next ticket in the queue.
For the sake of learning, we are going to walk through these stages in a linear fashion (Waterfall). Bear in mind that in modern agile development many of these stages happen concurrently (Agile).
How Software is Built
Working through the process of completing a ticket, the developer follows the five stage process, shown above. Depending on their team’s workflow, their process will be closer to Agile, closer to Waterfall, or some form of both. Regardless of their approach, the workflow will touch all five stages of the process.
Let’s follow along to learn more about each stage of the software development life cycle.
Do you know about our Tech Recruiter Certification?
Our Tech Recruiter Certification Program is an online, on-demand 6-course program designed to help non-technical people build authentic relationships with technical clients, candidates and colleagues. Learn how you can start making better tech hires, faster with our program! LEARN MORE
The Five-Stage Process of Software Development
Research
During the research phase, the developer seeks to understand everything that is expected and needed from the ticket. This includes the requirements or what the code should accomplish, the dependencies or what constraints exist, and the use cases or when the code will be used by the user. In this stage the developer may be reaching out to colleagues in different areas of the product team to gain a full perspective on the ticket.
Design
Once the developer has a full understanding of the expected result of the ticket and all the data inputs and outputs required, they begin the stage of designing a solution. A high-level design is created that outlines the architecture and the technical languages, frameworks, and libraries to be used. Where possible they will plan on re-using existing code in their solution and ensure that all of the use cases and expectations of the ticket will be met with this design.
Build
Now it’s build time! The developer will either solo code or pair program the solution, depending on the coding culture in their workplace. As they develop the code, they are thinking about building for efficiency, reusability and performance. Many developers are now building with a user-centric mindset and consider accessibility throughout their build.
Test
Testing and building go hand-in-hand. The old days of writing a bunch of code and then “throwing it over the fence” to the QA team to test are, thankfully, on their way out. Testing while building speeds up the development process, improves the final product, and helps developers learn from and control the code they are building. The practice of Test Driven Development (TDD) has been gaining traction in the past few years. TDD is the process of building the tests first, then building the code to pass those tests.
In some organizations there are multiple levels of testing. Once the developer has built and tested their code for bugs and performance, the code is then assigned to Quality Assurance (QA). QA tests not only the code, but ensures that the new code will integrate seamlessly with the entire code base. This helps to prevent surprises when the new code is integrated and goes live. Once the tests have passed, the code is approved to be deployed.
Deploy
The deployment stage is when the approved code is integrated with the live code of the platform, app, product, or website. Most companies operate on a standardized schedule of when new code is deployed. This is called a release cycle. A release cycle could be weekly, every two weeks, monthly, or via continuous delivery, depending on the standards of the organization.
The developer will coordinate with DevOps to release the code into the wild.
Once the code is deployed the ticket is closed and the developer is off to another ticket and the cycle begins again!
Understanding the Software Development Life Cycle as a Recruiter
Having a good grasp of the industry you recruit for is critical to success.
Knowing the fundamentals of the SDLC will enable you to quickly understand the technical roles you are recruiting for. More importantly, you’ll be able to successfully engage with technical candidates with confidence.
You can now use your knowledge of the SDLC to improve your interviews with technical candidates.
Check out the next article in this series:
Tech Recruitment Training: Effective Interviews with Tech Candidates.
Continue Your Learning
What we’ve just covered is merely the tip of the iceberg. We’ve created a handy Tech Cheat Sheet to be an additional resource for you. Our Tech Cheat Sheet goes more in depth on what tools engineers are using, definitions you should know, and how to apply your new tech know-how in conversations with candidates. Download our Tech Cheat Sheet and start making better tech placements today.
About Recruiting Innovation
Recruiting Innovation is an industry-leading online tech recruitment training platform. Focused on teaching the technical concepts and key roles in the software development lifecycle to tech recruiters and sales teams, Recruiting Innovation’s online training programs help teams make better tech hires, faster.