Thursday, 29 September, 2016 UTC


Summary

In last week’s article, I presented the new path to you. I also announced a concluding article about soft-skill, leadership, and career topics. These topics will be continued on my new website, devcareermastery.com.
Dev Career Mastery
Many people are stuck in their careers. Beyond a certain level of experience, we software developers tend to reach an imaginary plateau in our careers. I call this plateau imaginary, as we tend to make these barriers up ourselves. There is always a way to get to the next level. There is always a way to prosper, even if there is a market crash, and even if it seems that better roles are beyond our reach.
People who move towards their goals tend to be happier. Think about it, don’t you enjoy life more if you know there is something you can reach? Even if your goals are distant, persistance creates miracles.
For instance, in my own life, I never thought I would reach a hundred thousand unique pageviews when I started writing my blog on GitHub. I was focused on writing the next article, and finding topics my audience is interested in. As more and more people started sharing my articles, I felt that there was an empowering meaning in creating these articles, as I knew I affected other peoples’ point of view.
When I paused blogging, I reached a plateau in my career. Some of my articles got viral, others got less than a thousand views. Writing articles was not as important as writing good articles. I felt, in order to write good articles, I had to focus on reaching the next level.
The exact same thing happens to our careers. When you get promoted, you get a new set of responsibilities. At first, these responsibilities seem to be hard. Yet, after a while, some quick wins make you comfortable.
After a promotion, you can either choose to target comfort, or target growth. If you target comfort, you might not have many options to grow further. If you target growth, you consciously move towards your next target by becoming a better professional.
The question arises, if we keep improving our technical skills, is it enough for a prospering career?

Hard skills are not enough

Let’s face it: the answer is a definite no. You can easily become a senior software developer without much emphasis on soft-skills. However, in order to become a team lead, a product manager, an architect, or a CTO, technical skills are not enough.
According to Dr. Marshall Goldsmith, author of the book What Got You Here Won’t Get You There, beyond a certain skill level everyone is good enough. The decisive factor in getting access to more responsiblity, more autonomy, and a more fulfilling career is soft skills.
If a top coder lacks soft-skills, he may be working on wrong problems for days. He may burn bridges with communication, he may fail to cooperate with his colleagues, and may act as a developer requiring high emotional maintenance. He may fail to mentor his colleagues, fail to document his solution properly, and fail to explain his solution in an understandable way.
At the same time, a below average coder, working four times slower, may have enough empathy to put himself in the shoes of his clients, and suggest changes to the requirements that save days of work, and create more revenue. The same coder may communicate better, and appear more reliable when it comes to handling emergencies.
If the two people were in the same team, guess who would get promoted? My bet is that the slower coder would get promoted. If the faster coder also wanted the promotion, what do you think, what would the faster coder do as a response? The faster coder with this attitude would most likely blame his manager, and start disliking his colleague because of his soft-skills. The faster coder would think that he has to become an even better coder to get promoted. He would put even less emphasis on soft-skills. As a result, his chances of a future promotion would decrease further.
Needless to say, I have seen the above story in real life, and in hindsight, I would have chosen the slower developer too.
Before some of my readers start narrating the above story in a way that I am implying that top coders have a lack of soft-skills, and you have to be a below average coder to get promoted, think again! There is limited correlation between your technical skills, and your soft-skills, and in fact, better craftspeople have a better chance of realizing that soft skills are also important.
Excellent developers with excellent soft-skills also exist, as well as developers with negative performance, having below average soft-skills. The difference between the two combination is that the first group of people establish companies, give lectures and conference presentations, while the members of the second group often becomes unemployed.
Fact is, technical skills are like the engine of a racecar. No cars run without an engine. The winning car does not only need a good engine. It also has the best grip, allowing higher cornering speed. Without fast and stable cornering, you either make it to the finish line slowly, or you spin and crash during the race.
If you are in the same position for years, ask yourself if you just need a better engine, better grip, or both.

When lack of soft-skills cost you a lot

I interview about two people a week, and we hire only the top 5% of developers according to our criteria. I can see all types of developers apply.
We may reject excellent developers, if their resume is not targeted to the position they are applying for. You may disagree with me, but fact is, an IT Operations Engineer may not be as good of a Senior Software Developer, as the applicant who has been using the framework of our choice for years.
Imagine you attend an interview with a hiring manager, and you face the question of what you know about the company. If you laugh at the interviewer, and say nothing, smiling as if you were proud of it, guess what would happen to you next.
Imagine you misunderstood the time of the interview, and you arrived three hours early. Once you found out that you had to wait another three hours, you got bored, went to the nearest pub, and got drunk. You came back to the interview a bit illuminated. Even if you had answered all the technical questions correctly, what would have been your chances of getting hired?
Finally, imagine that you are an AngularJs fan, and you have to write an application using React. Would sending us your blog post on how much you hate React help your cause?
These are not the weirdest stories that I have seen, heard, or experienced. Even if you get hired, you can either get allies, or you can start insulting your colleagues, consciously, or unconsciously.
You can either greet everyone with a confident Hello, or you may just sneak in the office, avoiding eye contact, and start work without talking to anyone. Yes, I know, if the office is big enough, you have to say Hello at least 3-4 times before you get to your seat. But guess what! If you are confident enough, sooner or later, people will greet you back, even if no-one else greets them the same way you do. When I came in the office, and said hello to a team I never worked with, I can hear 4-5 people answering with a clear hello.
One person I greet regularly once told me that I inspired her with my energy without even talking to her. Once I got to know this, it made me clear how important it is to pay this energy forward. You have the chance of shaping the lives of people you work with to the better, creating a positive spiral. Working among smiling faces feels a lot better than working among people who feel of getting shouted at.
If you are interested in the monetary consequences of low energy, imagine you sneak to your place, and your lead notices it. Even though you may not face any consequences, this action may cost you a promotion, as you just proved you were not the most suitable person to motivate a small team.
These little things matter, and often times, there is more at stake than your reputation.

Wait a minute, you aren’t a career guru, why are you writing on careers?

Exactly because I am not a career guru. Exactly because the more I read, the more I felt that this advice is geared towards making you more narcissistic. Studies show that narcissistic confidence is fake, as it is based on lack of real confidence.
Advice of career gurus have also cost me money. Have you heard of the advice that the first person revealing a number during salary negotiation loses? I have tried to hide my expectations, sometimes with success, other times I felt awkward. It once cost me a job offer. The answer of the CEO was that he wanted mature developers, who take responsibility for researching their value. If I played these games this early in a professional relationship, what could he expect from me later?
What are you trying to achieve with not revealing your expectations? First to delay this information until you have proven your value by advancing in the interview. Second, to use the budgeted range against your future employer. I admit, there are some companies, where this is a strategy with positive expected return, and there are a few companies, where this strategy is inevitable. However, selling this advice as the holy grail of salary negotiations is flawed.
Often times, information is widely available, there are no secrets about budgeted ranges. By revealing your expectations first, you show maturity. The more you are in demand due to your specialization, the more playroom you have for setting your prices. The less you are in demand, the more information is available to you on salary ranges. Either way, taking the initiative often makes sense.
Freelancers and companies also set their prices. If you want to provide a quality service, you show maturity by determining the amount you charge for it.
Companies will either cooperate with you, or you end the interview right there, if you realize that the company is not interested in a win-win situation. In the latter case, I am not interested in working with them either.
If you play the game of not revealing your expectations, people may start judging you. Buyers always buy in the hope of a brighter future with your services than without them. If the company senses that you are tough nut, and you cannot offer enough grey matter in return, you provide a gloomy future for them, and they won’t be willing to buy your services.
A career guru tried to sell me FBI hostage negotiation techniques for interviews. Of course I need these hidden weapon in my arsenal to get better than any developers at the negotiation table. Obviously, my future employers are people who threaten the lives of hostages, right?
Another career guru specializes in writing professional resumes for about $700. Sure enough, I was curious, and started reading her sample resumes for similar positions than mine. I compared them with mine, and guess what! My HR manager friend also told me that my resume was significantly better structured, addressed, and tailored.
How can someone who has never worked as a software developer give cutting edge advice on resumes? I admit, you can give very good advice even if you have never worked as a software developer. The resume I saw was in fact very good. You still have to make slight modifications to that resume each time you target a company. If you forget this small detail, your chances of getting hired will not increase much.
I have concluded that advice often focuses on the wrong things. The key to a successful career is not hostage negotiation techniques, and not a professional resume writer.
People want quick solutions. If something hurts, people want pain killers. You take a pill, and your pain is gone. The problem is though, that as soon as the pain killer stops tricking your senses, the pain will come back.
You can learn cutting edge hostage negotiation techniques. What will you achieve with it when the foundations are missing? Not much. The question is, how do you learn the foundations?

Revealing The Developer’s Edge

If you just take one idea away from this article, let it be the following: do your best to give more value than anyone else around you, and make your efforts visible.
This is easier said than done. It is very easy to give up your progress when you face hard obstacles. Especially if your emotions distract you. Alternatively, you might not even believe in yourself.
This is why I read book after book on understanding how to
  • raise your self-esteem,
  • motivate yourself,
  • eliminate your fears and beliefs,
  • form habits that support you,
  • understand how your brain works and how it can support you.
The above topics are both backed by science, as well as self-help literature. Self-help is often far too shallow to my liking. The target audience of books like The Secret is as wide as possible. In order to target the masses, you have to sacrifice content, and make it marketable.
Therefore, when it comes to our emotions, I chose credible resources, and started studying experts like Nathaniel Branden, Albert Ellis, or Carol Dweck. Motivational videos are not bad, they are just not meant to fix the root cause of motivation problems.
Once your emotions, limiting beliefs, and habits are improved, there are more materialistic forms improving your career. Your personal brand, your resume, your side projects, and even your blog matters on some level.
Communication, professionalism at the workplace also matters. In fact, several authors have written great books about it. Robert Martin’s book, The Clean Coder, is one I can highly recommend in this aspect.
Can you lead a team without becoming a good communicator? Are you promoted without a professional attitude? Can you improve your skills without giving and receiving feedback? Are others noticing your efforts at all? These are all essential factors in careers of software developers.
Ultimately, knowing how to ask for a raise, and knowing how to reach your dream job are both topics that are worth researching.
Your daily activities as a software developer have not much to do with negotiation or marketing. You are mostly on your own when you face that too many companies reject your resume.
If you are stuck in your career, you may have a hard time knowing how to get started. If your career advancement is important to you, the logical step is to collect as much information about it as possible. This is what I did myself too. As this journey has been very enjoyable to me, and I have made a lot of conclusions worth sharing, I started writing a book about it. Check out The Developer’s Edge – How to Double Your Career Speed with Soft Skills.
The Developer’s Edge
The book has just been pre-published in a lean publishing platform. At the time of writing this article, 180 pages of packed information have been written. Even though the book is not ready, it is already available at a 75% discount for the first hundred readers. I will continuously increase the price of the book as it reaches its completion.
By purchasing the book before it’s completed, you will get all future updates. If you are interested in shaping the contents of this book, this is the time to jump in. You will not only benefit from seeing how the book is shaped, but you will also have a chance to influence its contents. Once the book reaches a completion rate of 100%, this opportunity will be gone.

Is Career Mastery Worth Pursuing?

Anyone can learn soft skills. The question is if you think it is worth the effort.
According to my own experience, it is more than worth it. When I finished university, I had no idea about how to be assertive, how to negotiate, and how to present myself. Without these skills, I would have stayed on my own career plateau for life. Reality is, that great things happened to me. See my last article for more details.
If you have doubts, check back in a couple of years, and see my current plan unfold. We are facing interesting times, and a lot of opportunities are wide open for everyone.
In the article I Am a Software Developer with a Bad Job, Get Me Out of Here, you can see how badly some software developers are treated by their company. It blows my mind that there is an increasing gap between demand for excellent software professionals, and qualified workforce, and some companies can simply not value their developers enough.
Managers already know that their best developers will leave them in no time if they are not treated well. My job in this process is to help developers like you in becoming better both on technical level, and with soft skills. This combination will help you make the right moves to get or create the job you deserve.
What are good software developer jobs like? Read my article Find the Workplace of Your Dreams, and think about your own criteria.
The article Design Your Career – Become So Good They Can’t Ignore You helps you raise awareness of the importance of career choices.
If you have read the book So Good They Can’t Ignore You, there is a twist in this article. Unlike Cal Newport, I don’t think following your passion on some level is bad. Things are not black or white. When passion meets expertise, miracles are born. I have witnessed such miracles multiple times in my life.
As you make progress, you will have to attend some interviews. The article http://devcareermastery.com/secrets-of-a-successful-tech-interview/ compares and contrasts the right and the wrong attitude when it comes to interviewing.
The above four articles may change your thoughts about your career a bit. I will later publish the first chapter of my book for free, and link it in this article. Expect more articles and surprises on www.devcareermastery.com.