Hi. I haven’t talked about career stuff as of recent, so that’s what this post is about.
When you want to get not just a job, but a well-paying and “fun” job, you want to flip every possible lever to get you the leverage to get that interview and get that job offer. Everybody talks about resumes and skills and courses and portfolios and certifications, but there are a few things that aren’t talked about. We’ll call these “lesser known”.
These skills aren’t just for those “in the hunt”, they are also useful for “upward mobility” in your job. If you’re consistently improving your skillset, you may be able to work in a nice promotion and salary increase.
I should also preface that the following is my opinion. I am just a cartoon crawfish on the internet.
Let’s dive in.
Communication and Writing
This is undoubtedly the most boring of the 3. But, I believe that this is also the most important of them. You need to be able to talk and write.
Sounds easy, but I went to college and went to computer science class. A lot of people don’t know how to be social. A lot.
There are 2 parts to this, so we’ll first discuss communication in general.
First of all, you need to learn English. If you’re reading this without a translator, so far so good. English is the global business language, so you want to make sure you can both understand it and also speak it. Use Duolingo if you have to. It is important to be able to communicate with people who may want to hire you, and I bet they speak English.
Be social.
Look, I get it, you’re a nerd. I’m a nerd too, but that doesn’t give us an excuse to be incapable of holding a normal conversation with a stranger. You could be the greatest programmer or security analyst on the planet, but if you grumble and mumble your way through an interview, don’t make eye contact, and forget to shower? No way you’re getting an offer.
Your mouth is a muscle, or, well, an assortment of muscles. Exercise them. I know it’s hard. I’m an introvert too. But you have to be able to talk to people, hold a conversation, and maybe even be entertaining or dazzling. I’m not saying you have to be an extrovert, but you need to be capable of handling a 1:1 conversation with a stranger.
A lot of communication isn’t verbal, too. Try to figure out your nervous habits like hair twirling, “um”s or “uh”s, etc. Record yourself answering an interview question and try to figure out how you look when you are under stress. There are surely online tools to help you with this.
A lot of this ties into the Interview Tips post that I made a few months ago, so you can read that, and we’ll leave it there.
Moving away from an interview scene, it is also important to be able to communicate with people who are not technical at all.
Let’s imagine a scenario, you find a bug in a program that you are QA testing. To disclose this, you book a meeting with a representative of the studio who produced the program. This representative might not be the most technically gifted person. They might not even know how to code. So if you jump into this meeting and start talking about buffer overflows and session token stealing, you’re going to get a blank stare. Odds are, they’ll include an engineer in the meeting alongside to help bridge the knowledge gap, but to summarize you need to know how to translate complex subjects and topics into understandable language.
This extends beyond just high complexity → low complexity. Let’s say you are giving a report to your boss or someone in the C-suite. Those people like to talk about numbers and their time is precious, so be sure to summarize and talk numerically. Code switching, in the technical sense, is a good skill to have in your repertoire.
Training this skill is easy. All you have to do is talk to different people.
The second part of communication is writing.
This is an extremely important skill to have. I cannot stress this enough. You need to learn how to write well. Not write “good” ;).
When you work a tech job, you will have reports to write. This is why I have the Report Writing series as a nice overview of what one looks like.
An excellent way to practice this is to make a portfolio and write. Go to hackthebox.com, do a few challenges, and make a write up for them. If you’re strictly a programmer, document your code.
A benefit if you aren’t very vocally skilled is to have great writing abilities. A lot of people who are above you in the employee hierarchy may not directly communicate with you, but they may see what you write and they will certainly notice if you are a good (or poor) writer.
If all else fails, you can always ask ChatGPT to write for you, but don’t be too reliant on it. I, for one, can sometimes tell when people use ChatGPT in their writing. There are also tools for detecting AI generated language. So be careful. Did I use ChatGPT in this post? Try and find out :).
Funding Your Future
This is overlooked quite a bit, but I think this is a great tool to use.
Employers see you as an inherent worth. You are (hopefully) worth more to them than what they pay you. If you aren’t, then, well, you’ve got some work to do. Because of this, they wouldn’t exactly be opposed to you being more skilled at your job, so they might be willing to help train you and make you worth even more. Therefore, you might be able to have your employer pay for trainings and certifications.
We can first think about this from a numbers perspective. Let’s say you make $100,000 a year gross salary. Your employer is paying you (before taxes) ~$8,000 a month, $2000 a week, $400 a day. A Security+ certification is, as of this writing, $392 for an exam voucher, and just under $1000 for the full training package. That is less than a week’s worth of wages (or less than a day if you just purchase the voucher) for a tremendous amount of content. If you’re gunning for something more expensive like a SANS course, which are upwards of $4000, then you might have to pull some strings. But then again, that’s just 2 weeks worth of wages.
If your employer agrees to foot the bill for a training or certification, they might ask for something in return (e.g. 1 year tenure contract or something similar). Perhaps not, since, if you think about it, it’s a win-win for both you and your employer. You get a fancy new cert to stick onto your resume, and your employer knows that you are more skilled than you were before. I was fortunate enough to have employer just pay for the training in full for me, no questions asked.
The worst that can happen is that they say “no”. Even then, it shows that you are trying to improve your skillset.
The aforementioned communication and writing skill is also very important here. You will probably have to draft a proposal for someone who manages money to read. Here’s your chance to flex those writing skills.
Learn to Code, and Show It!
Okay this one isn’t undervalued. BUT, a lot of people that I graduated with suck at coding. This is rather mean of me, but it’s true. I don’t think many of them would be winning any CodeWars or LeetCode challenges anytime soon. I guess I’m biased.
Anyways, you need to not only know how to code, but know how to code well. This is going to become more important as AI advances. Basic, remedial coding tasks can be automated away with a single prompt. Sure, you can use ChatGPI or Copilot to help you write code, but if it’s doing everything for you, then you’re replaceable.
I’m not trying to scare you, especially if you’re a beginner. But you need to be an efficient coder. The only way you can reach that point is by coding. A lot. Over and over again. Multiple times. Multiple languages if possible.
Then, when you finish coding whatever it is that you’re creating, put that code somewhere for people to see it. Go to github.com, create an account, and start throwing up repositories. Once you finish uploading all of your code, then you can create a ReadMe and even write documentation. Now you’re deriving communication and writing skills from your code.
If you’re able to write niche and useful code that is publicly available, well written, and well documented, and then put that on your resume? You will shine like the brightest star in your job applications.
I used my GitHub account as a portfolio, and it worked out due to how much stuff (that I thought was cool) that I had on it. Because, 1: it is an excellent talking point, and 2: it is showing, not telling your possible future employer that you are capable of doing the job they need you to do. Even if your code and projects are unrelated to what you’re applying for, it shows that at a basic level, you are a problem solver, and that’s what your employer wants; you to solve their problems.
So, to practice this, just write code. If you’re a college student, any assignments or homework that you have, put it on your portfolio. Any sort of code that you write, even if it already exists somewhere, should be put up on your portfolio. Turn it into a game. In fact, make a game; breakout, snake, pong, anything. Make it and throw it up on your portfolio. Be imaginative and creative.
To review, you need to be able to communicate, you need be willing to further your education and knowledge, and you need to be an efficient coder. Sounds easy enough, right? I know you can do it.
That’s all for this post. Have a great weekend.
Go!
-BowTiedCrawfish.