Agile for Engineering Students - Why?
Less than two months later here I am, back with a review of the “Master Agile Sofware Development” Learning Path by LinkedIn. If you are interested in the previous post about my opinion on Learning Microsoft Excel as a Student in 2021, you can find it here.
There is a continuing trend nowadays to include communication, teamwork, adaptability, resourcefulness and many many other soft skills as desirable in job applicants, even in technical positions. So, you may be an engineering student looking to pick up a new soft skill to make your resume more marketable to potential employers but don’t know where to start.
Let’s look into some great perks that come with learning Agile Principles that you won’t find in courses focusing on narrower skills and why you should prioritize it in your technical career.
You don’t have to be a Project Manager
A common misconception about Agile is that most assume the project manager is supposed to be the one learning the Agile Principles. This stems from the association we already have about project management frameworks - there is one person who understands the framework and instructs the rest of the team.
Agile, in contrast, is not a framework but a mindset. It relies on the ability of the team to self-organize and has complete control over the “how” of the project execution. Having a team with vast experience working in an Agile environment and an inexperienced Scrum Master (the person responsible to facilitate the team’s Agile processes) is more valuable and delivers faster than a Scrum Master working with an inexperienced Agile team.
In a perfect world, an Agile team doesn’t need to be told how to get its work done. You are as valuable as a team member that understands Agile as an expert Scrum Master.
Agile focuses on people - not processes. Become a valuable employee to your company by knowing how to work in an Agile environment.
Long term job security
To build on the point above, understanding Agile as someone doing the work is crucial. Working in the tech sector means innovating constantly. For this reason, a lot of companies shift towards Agile approaches that are much more lightweight and need less supervision from management. Such an environment encourages experimentation and innovation.
If your company starts their transition they will most probably experiment with one team before deciding how to implement it on a larger scale. Understanding Agile will be a great advantage to get a spot on that team. You won’t require much training and resources to get started.
Being put on such projects usually also means working with new exciting technologies and securing a firm position as one of the first Agile practitioners in your company for the years to come.
Encourages good working practices
If your work is writing code, Agile goes really well with new and popular coding practices like Test Driven Development, Behaviour Driven Development, Peer Programming or frameworks like Extreme Programming.
Of course, you can work with these in traditional frameworks but usually, you don’t have that much liberty to choose how to work. Agile is much less prescriptive and open the doors to alternative methods.
Getting started
For anyone looking to learn about Agile Methodologies and make yourself more employable, I completed 33 Agile themed courses on LinkedIn Learning (a learning platform available to many US and UK students through their university or LinkedIn Premium users) and here are my top picks:
Software Development Life Cycle (SDLC) by Shashi Shekhar
Get to know the history of traditional and Agile software development in less than 2 hours. It is a great course to get started as it provides an overview of what is to come in the next courses and gives an idea of how we got to where we are today.
Agile Foundations by Doug Rose
It’s hard to beat this course when it comes to explaining the basics of agile. It walks you through all you need to know to start working in an Agile team in no time.
Agile Software Development: Refactoring by Richard Kasperowski
A good introduction to refactoring in Java. If you are writing code and are dealing with other’s people code, get used to cleaning it up. If you are interested in a Python introduction check out this post on my blog.
DevOps Foundations by Ernest Mueller and James Wickett
Continuing with the technical side. This course introduces DevOps in the context of Agile and teaches a good attitude when it comes to collaborating with other technical departments.
Agile Software Development: Pair and Mob Programming by Lynn Langit and Chiu-Ki Chan
A mix of soft and technical skills, this course introduces an exotic software development methodology good to know about for both programmers and management.
Learning Jira Software by Robert Anthony
This is a more practical course explaining how to use project management software (Jira) in an Agile context. Understanding how it works will help you a lot at the workplace regardless of role or framework.
Bonus - Agile at Work course series by Doug Rose
This series provides more details on each topic covered in Agile Foundations. Pick the one you are interested in.
Conclusion
Learning Agile Principles as a student is one of the best set of technical and soft skills to get into. It’s easy and gives results immediately when applied. While it may lack focus like other soft skill courses it teaches how to interact with or build a work environment that encourages the team to develop leadership and communication skills in each member.
Note that the whole learning path may be overkill for such a lightweight set of principles and at times quite repetitive. Picking up a few courses on the topic will help you quickly get accustomed to the Agile processes and terminologies.
Recommended for any future managerial or technical role!