We're in 2023.
The ability to flex is one of the most important skills a software engineer can have in today's fast-paced IT world. In case you don't know what flexing is, you're probably too old for this guide. You can stop reading.
Flexing means showing off, claiming dominance, or asserting superiority.
So if you are a software engineer who is going through a rough patch, one of the best ways to bolster your self-esteem is to flex on others.
You are aware that as a software engineer, you can only feel one of two ways:
- I am a total failure
- I am a God
So the goal of this guide is to aid you in achieving the title of the world's supreme software engineer. In your very own mental universe.
Here are 7 practical ways that you can flex upon your colleagues and friends:
1) Work tools flex
The first thing you need to get right if you want to be taken seriously is your work tools. The most important of these are your computer and operating system.
As a software engineer, you have only two options:
If your goal is to broadcast your wealth loud and clear, pick a Mac. Envision the astonished stares at the coffee bar when your MacBook, the latest iPhone, and your BMW keys steal the spotlight on your desk.
But let's be serious now. Hardcore code gurus stick to Linux like glue. You can impress most people by simply using Linux Mint.
Eventually, you will find yourself alone at the urinal. A man will walk by.
He will turn his head to look at you and say these 3 words:
I use Arch, btw!
Suddenly, your Linux distro will seem like it's been skipping leg day at the gym, leaving you feeling more pint-sized than anticipated.
But relax, you've simply been flexed by someone who probably spends more time with command prompts than with people.
As we talk about command prompts, you have to get it right from the start. Customizing your terminal is noble art – where developers transform into digital interior designers, meticulously curating the ambiance of their command-line living rooms.
Nothing says "I'm serious" like painstakingly selecting a font that strikes the delicate balance between edgy and readable or ensuring that the color palette of your terminal matches the current phase of the moon.
It's not about functionality. It's about the existential journey of finding the right shade of syntax highlighting that aligns with the cosmic energy of your creative genius.
Besides operating systems and terminals, you must embrace the Vim editor, the holy grail of coding tools.
When you use Vim, it elevates your forehead and vertex chakras, and you can look down on poor lost souls who are using editors like VS Code or IntelliJ.
You won't even have a mouse on your computer for ultimate flex. You will only use a keyboard for navigation.
2) Code flex
As a code composer, your notes are written in the language of code, and your baton is the keyboard. Your brilliance shines brightest in the complexity of your symphony.
With this in mind, you can take something simple, like a perfectly functional feature, and refactor it into a jungle of every possible design pattern you know.
If the coding masses can't grasp your genius, gently inform them that they've been blind to the beauty of clean code. Also, tell them to read a "Clean Code" book by Robert Martin. This will make them think you are some kind of programming GigaChad.
For inspiration, you can look at this beautiful example of the FizzBuzz program written in Java: FizzBuzzEnterpriseEdition.
Another important point as code flexing goes is to never miss a chance to show off your power by enthusiastically refactoring your colleague's code. Be sure to hit that delete key and craft a git commit message like: "turned mediocrity into code poetry".
When you are doing this, make sure you are using some AI tool like ChatGPT. Prompts like "refactor this code to some good smart code" will do the job. Paste your co-worker's code into the prompt and force-push the refactored version. If you encounter merge button resistance, go call your work buddy and tell him to approve your merge request, so you can merge it as soon as possible.
The last point is your commit history. Your commit-graph should look like this:
Besides that, make sure to transform your GitHub profile into a vibrant display of recognition by decking it out with a plethora of awards and badges. It should look like your parent's fridge.
3) Dogma flex
Once you've aced the first two steps, welcome to the grand finale of the flexing pyramid of technical skills.
You need to pick your dogma, which you will preach and defend with your life.
There is a wide range of options, but here are my top 3:
- TDD (test-driven development) - in the sacred halls of software development, there exists a peculiar sect known as the Test-Driven Development (TDD) zealots. Armed with their holy trinity of red, green, and refactors, these devout software engineers engage in a ritualistic dance of writing tests before a single line of code. With faith in their unit tests, they believe they can ward off the demons of bugs and errors.
- Data structures and algorithms - armed with their arcane tomes filled with sorting spells and mystical tree incantations, these devoted software engineers believe that the key to unlocking the secrets of the code universe lies in the perfect arrangement of bits and bytes. They can be found chanting obscure algorithms in dimly lit rooms, convinced that only those who solve the riddles of complexity theory can ascend to programming nirvana.
- Clean Code - armed with the revered teachings of Uncle Bob and the Clean Code Gospel, these software engineers have a mission to refactor every line of imperfect code they encounter. For them, code readability is not just a preference but a moral imperative. For any deviation from the SOLID principles, they react with disgust. They bow before the altar of single responsibility and, treat each function as a crucial element in maintaining clean and organized code. Pity the unwary developer who dares to unknowingly violate these esteemed coding standards.
In the end, it doesn't matter what you are gonna choose. It's like choosing your favorite flavor of ice cream. Just pick your poison and stick to it.
Everyone who tells you that you are wrong, tell them that they don't understand your dogma and aren't good software engineers.
4) Communication flex
Now we are getting into the zone of soft skills. And they are extremely important.
Not so long ago, one of my co-workers told me that our meetings were too abstract for him and he didn't understand many things said.
This is exactly what you aim to achieve. Similar to code flex where the aim is to write complex code, here aim is to speak in such a language that people have difficulties understanding you.
Imagine a scenario where you speak with your colleague and he asks you what you are doing. You can say something like this:
So I am a Senior Lead Architect of code, bug squasher, and guardian of code quality. I boomerang a growth mindset to minimize attrition and maximize MR quality, so we give 110% to move the needle.
What about you?
Oh, you're a junior developer. Sweet!
Proper fluent business communication should look like this:
Look man, we are trying to nail jello to the wall.
I am not trying to ruffle any feathers, but don't piss on my leg and tell me that it's raining.
We could run this up the flagpole, but right now it's all sizzle and no steak.
Yeah, let's not boil the ocean here, we're asking a cow to lay an egg.
I think we need to thread the needle here, this is the low hanging fruit.
I know we are a hop, skip, and a jump away, but I don't want a boss telling us it's a screen door on a submarine.
I am not trying to stir the pot here, but I do have a hard stop in 2 minutes, so we're gonna have to circle back on this later
All right, let's park and get the ball running tomorrow.
Last but not least - acronyms. Acronyms are always a hot trend so make sure to throw in every acronym you know:
I will need you to hit the ground running. Be familiar with the OKRs and KPIs. Catch up with the SLAs by EOD. Familiarize yourself with the CMS and introduce yourself to the AR team. I already expect you guys to be the SMEs for this. That will be it for now and don't forget to JFIO - Just Figure It Out!
For a better flex, always look at the hottest trends and enrich your vocabulary with new words and acronyms.
5) Job title flex
Here's a piece of cake advice: find a job at a FAANG company, let's say Amazon.
Then, bid them adieu.
After that, kick off every sentence with "As an ex-Amazon software engineer..." and spice up your LinkedIn headline with the prestigious "ex-Amazon software engineer."
Make sure that the reaction of people talking with you is "He is still in love with his ex", but haters gonna hate, right?
6) Interviewer flex
Kudos! You've ascended to the summit and secured the interviewer's almighty thumb of judgment.
Now, as the gatekeeper, you hold the keys to the destiny of gladiators who've dared to challenge your colosseum.
Start every interview with some easy questions, to get their hopes up and then slowly ramp up the difficulty. Turn up the heat, and enjoy the delightful spectacle of junior software engineers transforming into human stress fountains.
If, against all odds, they manage to stumble upon a correct answer, ask sub-questions until you smell the insecurity or they say something wrong. Then dissect that sub-question in great detail until they admit failure.
An ideal question for junior engineers is like a unicorn – elusive, mysterious, and not something mundane like day-to-day work. Handpick something specific and situational.
Good domains for these questions are:
- SOLID principles,
- specific design patterns and where they can be used in very narrow problems,
- binary tree reversals,
- algorithmic challenges (preferably on the whiteboard),
- advanced data structures like B-trees or AVL trees,
- deep system design questions
Toss in the occasional brain teaser because they do not reflect real problem-solving skills. Good examples are "How many golf balls can fit in a school bus?" or "Why are manhole covers round?".
If you managed to make every candidate look bad and your company didn't hire anyone, your mission is accomplished!
Congratulations! You showed them how big your d*** is!
7) LinkedIn flex
Welcome to LinkedIn, the undisputed arena for top-tier self-flexing! It's the place where you can shamelessly boost your ego while the virtual audience showers you with digital applause.
You should start with posting and be disciplined about it. Post every day!
Select topics that wouldn't challenge a goldfish's intellect, sprinkle a pinch of common sense, and voila – you've crafted pearls of wisdom.
Here are some examples:
- The best way to level up your coding skills is to build projects.
- Consistency is key, code a little every day.
- Learn to manage your time effectively.
- Stay up-to-date with industry trends and technologies.
Posts, where you praise yourself, are also very welcome. Good examples are:
- how did you teach your assistant to raise her hourly wage
- how did you teach the boy at the gas station to properly clean windshield glass and give him 100 bucks,
- how you as a CEO cried because of layoffs. An image of you crying is a must-have,
- how you traveled for work and decided to stay in the hotel room, cook your dinner there, and save the company money.
However, the best posts are the ones where you bash someone, make people anxious, and show your confidence and expertise. Those will get you the most attention.
Something like this:
You likely know me from my viral post "Why your engineering team is trash".
I've gained insights from top-tier philosophers including Simon Sinek, Gary Vaynerchuk, David Goggins, and Tony Robbins.
My philosophy centers on creating exceptional products. I am a builder.
What does that mean you ask?
Join my course and find out.
Or this one:
Everything revolves around habits!
Join my concise 5-bullet newsletter for insights into the habits of various individuals.
I will make you anxious that you are not doing enough. But me? I am not doing anything.
Feel free to use my Calendly link to book a 15-30 minute "one-on-one" for more information.
If you follow this guide, sooner or later you will end up owning a company.
And as a CEO it's your moral obligation to post about your habits, routine, and company success:
Embrace the early hours, it's 03:30 AM.
I just took my cold shower and practiced yoga. My muscles feel relaxes like slow, drifting clouds in the sky.
I am harnessing my peak brainpower when the average Joes are still wrestling with their snooze buttons.
I am drinking my matcha latte to stimulate my brain cells, while I journal over my milestones for the year.
Did I mentioned, I run a data-centric AI pipeline for cutting bread, thriving on the cloud within the Web3 ecosystem.
It's pretty sick.