To my female audience
Although it may not seem like it, this post is meant to be entirely gender neutral. The use of male figures was necessary to be able to make a comparison with the history of the knights. I did not purposely use a parallel with queens or similar things to avoid diminishing the meaning of the narrative, or worse, to point out a gender difference. I hope you can still find inspiration in reading!
I am going to go over the four stages of becoming a professional developer.
The Squire stage
The first stage of becoming an expert developer is the squire stage. This stage lasts from the first encounter with a computer right up until graduation.
This word comes from the Middle Ages where the squire would assist the Knight. During this stage, the boy dreams of adventure. They dream of becoming a big, powerful Knight one day and how they will change and save the world.
They are very naive and they think they can do everything. Oftentimes, they lack knowledge of best practice and programming patterns so they require guidance. When they cannot do something, they’ll get very frustrated and upset with themselves.
A lot of growth happens during this early stage. The squire’s always trying out different things in order to see what he is good at, he tries to build standalone desktop or mobile apps using heavy and powerful frameworks. The squire discovers many languages and tools and starts to filter them in order to find some favorites.
Near the end of this stage, they will begin to take on Knight-like traits.
The Knight stage
The second stage is the Knight stage. Most of you reading this post are in the Knight stage and it’s one of the most crucial points in your career. This stage lasts from graduation right up until your first work experience (or two).
This is the time of your life where you usually seek challenge, adventure, and fun. You start to select a programming language, stick with a favorite IDE, deepening the knowledge of (distributed/cloud) systems and familiarize with CI/CD. Furthermore, you begin to deepen design patterns and best practices. I like to think of this stage as the burning fiery stage of a developer’s life, where you have this deep desire within you to go out and conquer in all aspects of programming.
But this can also be a very difficult time in a developer’s life because this is the time where you will have to choose between what your company want you to do and what you want to do, and on top of this, you are probably very unsure of what you want to as a career and you’re probably very unsure about your life in general. But these feelings are completely normal, and you should not be worried about feeling like this. In fact, it’s exactly what you should be feeling.
The Prince stage
The next stage is the Prince stage. This is a very interesting part of a developer’s life. As princes, developers are focused on building, establishing, and creating in the digital world. At this time you start to enjoy to have a defined flow to build and deploy applications with automation and security. Business rules and processes begin to make sense to improve work collaboration and achieve standardization.
If you want to start a business, this is usually when it happens. This is where you have a clearly defined purpose in your career. Some of you may be thinking, I don’t know my purpose or what I want to do, and I don’t know if I ever will. A massive difference between the Knight stage and the Prince stage is that the Prince possesses a valuable trait called patience.
A Knight is not patient. He is running wild wanting everything to happen to him right away, whether it is business, success with people, you need to have patience and trust the process.
But a trait that is equally as important as patience is faith. You need to have faith that you will get to where you want to go as long as you take the right steps along the way. A Prince is not overly concerned with the outcome, but he is very concerned with the process, and he is constantly course-correcting and improving the way he does things. A Prince will build his kingdom, and I’m personally in this stage as well.
The King stage
The final stage is the King stage. The King is calm, relaxed, reflective, and more importantly, he possesses wisdom. He masters a language and its caveats, he knows how to optimize resources and all the problems and pitfalls that can be hidden in complex systems. A King possesses excellent communication skills and distinguishes which are the best compromises between what the business requires and what the end user can and must obtain.
You cannot easily change a King, he has strong beliefs (but weakly held!). He knows who he is and what kinds of people he wants to surround himself with so it doesn’t hesitate to listen to them. He leverages his team’s collective wisdom and overcomes his biases. A King has built his kingdom, from his business life to his personal life.
He does not waste his time worrying about small things that don’t really matter because he’s focused on the bigger picture of running his kingdom. If someone is around him who he does not resonate with, he will kick him or her out of his kingdom.
This is also the part of the developer’s life where he wants to give back to the world. The King begins to pass on his knowledge to the knights and princes. He organizes training courses and/or participates in developer’s conferences as a speaker or motivator, entertaining others and having fun.
There is no right or wrong stage to be in. If you are 30 years old and you still feel like you are in the early knighthood stage, this is okay. Everyone’s journey is subjective. It’s not for me to tell you what to do in your career. Do not judge yourself. Reflect on your life and take action to get where you want to go!
A personal thought: always acknowledge from mistakes, because without mistakes you’ll never discover perfection. If you dream to become a King, then you have a duty and a responsibility to yourself to make it became true, it’s up to you!