It's not only about being a leet coder

Rather than ask for advice, I’m giving some advice based on some very recent real-life changes that happened to me. You are of course under no obligation to listen. Besides, you catch up later when my book comes out.

I completely understand that when you are new to this industry and don’t have a lot of experience then you need to prove to a potential employer that you have the skills to do the job. The better your skills, the better your chance of getting a job. So by all means, please work as hard as you are able to become the best coder you can be. But let’s be realistic, until you’ve had years of experience and become a highly sought after expert, there will always be someone who can code at least as well as you competing for the job you really want. Thus, you’ll need to rely on other skills to separate yourself from the rest.

Even before Covid, more work in this industry was being done remotely, and that trend will probably continue. That means more communication is being done in writing and your ability to communicate clearly and professionally in your writing will definitely be a factor in getting and keeping a job. None of us are born as natural writers, it’s a skill you need to learn. If you’re in school then take advantage of those writing classes. There are plenty of books and online resources that can help you become a better writer. If you know other people who are good writers then have them review your writing. My wife is an excellent writer and I will often ask her to review something before I send it off, and I learn something from her every time. (Maybe I should have had her review this post?)

Of course remote work also includes video meetings and verbal communication, so it is important to present yourself in a professional manner and to be able to articulate clearly through your words. Practice zooming with other people. Record yourself in a zoom and then do a self-evaluation. Have people you trust give you feedback. Even little things count, like your posture, overall demeanor, the tone and quality of your voice, your facial expressions. Yes, I know a lot of this sounds petty and maybe shouldn’t be a determining factor in whether you have a job, but you are dealing with human beings here, not computers, so these things do matter.

And then there are the “soft skills” or “people skills”. Those intangibles that make people want to work with you. I think a lot of people in our industry downplay these. It’s all about the code, right bro? I’m here to tell you that they are dead wrong. Programming computers is only half the job. The other half is dealing with people. And believe me, working with people is much more difficult. Computers will always do exactly what you tell them to do. People, on the other hand, will often do the exact opposite for unknown reasons. The better you are able to deal with difficult people the more likely you will succeed. People skills may be the hardest skills to develop because you will have to use different tactics for different people in different situations. There is no one size fits all solution here. It takes a lot of practice and experience.

I’m not claiming to be an expert on any of these skills, but I have tried to be better than average throughout my career and I think I am to some extent. And I am 100% convinced that I have landed several jobs because of my people skills, and I want you to have that same advantage. My goal here is to remind you that these skills can be just as important as learning how to code and you shouldn’t overlook them if you want to succeed in this, or really, any industry.

One last thing, I know that everything I’ve said above is coming from my own personal experience and that my experience has been shaped by the advantages I have enjoyed in life that others may not have. I realize that not everyone is capable of doing everything I have mentioned above. We are all unique and no one can do everything. Just concentrate on what you can do and try to do it to the best of your ability. Even the smallest advantage can work in your favor.

9 Likes

This is 100% in line with my experience.

Sure there are certain technical and practical skills that are a requirement, but that’s a pretty clear pass/fail with job applicants. When I’ve been part of interviews (and I’ve been part of A LOT of interviews), a huge part of the “technical interview” that we give has been about testing “Do I want this person on my team?” We try to talk to candidates the way that we talk every day with our collegues and see how well the conversation goes.

I call these “professional skills”. Historically, the standard for these were so low in our field that being able to hold a pleasant conversation was like being able to cheat at an interview. Now that programming skills are growing in a more diverse range of people, we can actually add “Not an asshole” as a job requirement. (You’d think I’m joking, but that’s actually the kind of conversations I’ve had with other interviewers when reviewing a candidate.)

2 Likes

I don’t think you are joking at all. Now that computers and education are much more accessible, the talent pool is much larger and thus there is no need to put up with the spoiled egotistical adult-child who creates a toxic work environment. At my previous job they hired just such a person and within six months he was gone. I couldn’t have been happier.

2 Likes