As developers, it begins to be very hard to imagine the future of our lives. Should I improve expertise on my flagship technology or I should I learn a new framework? Well, there is one brand new every week. Which one to choose? Should I move from coding to Data science or Artificial Intelligence?
And that’s not all. Beyond my technical skills, recruiters tend to ask me more about my soft and human skills, with questions about creative problem solving, emotional intelligence and other esoteric things for which I cannot find any step by step tutorial.
How to take the good decisions? How to manage the time needed to improve both technical and other skills? What’s the good angle to develop and maintain the “Me” application? Let me introduce you this three-part concept I have made up to help developers with their personal growth.
TECHNICAL KNOWLEDGE: THE CORE DATABASE
We all agree with one point: we are technicians. That’s why I present this as the core of this “Me” application. Without it, no coders nor data scientists. To be efficient, you should be able to rely on a robust knowledge database. But the specificity of our job is that it also has to be in constant evolution.
You cannot specialize in a technology and ignore all the remaining. Firstly, because you need to collaborate. Secondly because every language or framework will get outdated one day. I knew some ActionScript coders who had a very high opinion of themselves ten years ago. They didn’t learn anything else and they have regretted it bitterly.
On the other side, falling in the learner syndrome and trying to understand each one of the weekly emerging frameworks is not an option anymore. There will be a time when you will not be able to keep all this scattered knowledge accurate and up-to-date.
So what to do? My subjective advice is to choose one or two technologies that you feel, but no more, and to become a real expert with it. Dive deeply inside. Experiment. Contribute. Share what you’ve learn to become a reference. Meanwhile, keep time to learn a maximum about other technologies. Code a lot of little study cases applications with various languages, libraries and frameworks. But don’t try to remember everything. The time you play around with will be enough to facilitate collaboration with other specialists and to be ready to switch very quickly the day you will feel it’s time to do.
TRANSVERSAL SKILLS: THE API
Ok now, let’s say we have a good database of technical knowledge, well filled and ready to evolve. For our “Me” application to work, we have to serve it. No problem, we need an API, in other words a collection of protocols able to respond to requests with the good data at the good moment.
This is precisely the purpose of soft and transversal skills. Complex problem-solving, critical thinking, creativity or emotional intelligence will become the most important recruitment criteria in 2020, according to the World Economic Forum. Soft skills are the link layer between your knowledge – the core – and the result of your work – what you serve. Without this “protocol layer”, even a huge knowledge database may stay under-exploited.
BEHAVIORAL SKILLS: THE FRONTEND
So you have a very good database of knowledge. You have implemented a good API with all the skills that will allow you to deliver fabulous products. There is one more thing you should not neglect: the UX and the UI of the “Me” application. How people – customers, employers, collaborators, etc. – perceive you?
Gone are the days of the genius coder building incredible things alone on his own without talking to anyone. If you’re a gifted developer who turns out to be a toxic coworker, you will not go very far. So please treat your frontend.
Be nice with others, share knowledge, try to reduce stress, learn to accept your emotions without being overwhelmed.If it’s difficult and unnatural for you, take the time to get to know yourself better through relaxation, meditation or any other type of personal development techniques. Don’t overthink it, just try. And if it’s really too hard, then let a coach or even a well-chosen mentor help you.
Don’t underestimate personal development. Some employers today don’t hesitate to choose a less skilled but more pleasant candidate against a genius acting like a lone wolf
You are developers, what you know best are applications. So picturing yourself as an application in a marketplace may not be as silly as it seems. If you want people to choose you, your database needs to be strong and not superficial. You also need a very good API to serve it as efficiently as possible. Finally, having a nice frontend will help you do it in a pretty way. Neglect one of these points and you’ll never be starred by your “users”.
Tuning your technical knowledge is fine, but transversal skills and behavior are not to be neglected. Improving the three facets together will make a true difference. Being a great developer is something. But being a great developer with whom it is nice and pleasant to work, that’s really something else.