I've been sitting with my niece (13 years old) with my smartphone in my hands, scrolling through my LinkedIn feeds. The girl's eyes were fixed on the screen when she suddenly pops a random, innocent reclamation in a tearful tone: "I want to work with a puppet like you 😢"
What? I said, looking at the screen, and found that it was an article on "How to work with puppet like a pro". I whispered to her: "Okay, little lady, when you grow older, I will bring you to work with a puppet, just like your uncle". She went to her mother. I locked my phone and fired a cigarette. This was unexpected and I took a moment to reflect on tech-things I wish I knew before choosing software engineering as a career path; things you should always keep in mind. Let's start!
- Satisfaction comes from inside, not from a paycheck, no matter how high it is.
Money! Dada! Getting an internship, acing your first interview, getting your first job and paycheck, getting your first promotion, and salary increase. You feel that you would be happy and satisfied when achieving any of these. The problem - which in reality is not a problem since this is human nature - shortly after that, you will get back to level zero and feel unsatisfied and ask for more to regenerate those hormonal satisfaction feelings. It's an infinite loop.
This doesn't mean that you should not aim to get promoted and have salary increases; it means to not tie your level of satisfaction and happiness to the amount of a paycheck; otherwise, you would be constantly running behind a ghost.
- Your work's stress is a problem, but it's only yours.
Multitasking, debugging, resolving incidents, sharing ssh keys, building classes, objects and components, integrating HTML, CORS, dealing with constantly full mail inbox should not let you forget that real life -and human interaction in general- are way simpler. It must not justify unleashing your stress on your family or people who do not work with you. Please be kind. Everyone has his share of stress.
- Working at small, unknown startups might be your bullet to success.
Dreaming about joining big corporate software companies? Thousands of engineers and large teams excite you? This might be counter-intuitive, but from my perspective, working there is going to limit you on different levels.
You will have a pretty defined job frame, with many restrictions and a relatively great paycheck. Unless you work at startups, wearing all possible hats (SEO, DevOps, participate in meeting with clients, frontend & backend development, infrastructure, security, etc.) learn all software life cycles and intervene at all levels, you are going to feel like a lion in a cage. It sounds ridiculous, but sadly true.
In startups, failure tolerance is much higher. You will be able to suggest, share, experiment, and all of that with a quick feedback loop. Simply, working at startups helps you have a broader vision, high level of confidence, and makes your learning journey quicker and richer.
- Relax, life will not end tomorrow.
As a software engineer, you will feel like you are always working. You won't feel rested. Software is not really soft 🥺
Consistently having bugs and fixes, new features to release, PRs to merge, meetings, and debugging sessions, combined with a smartphone and internet connection. The result? You guessed that right: headaches, consistent fear of missing deadlines, relatively ruined eyesight (glasses everywhere!), back pain, ...
You have to learn and internalize that no deadline is more important than your physical and mental health, and believe it or not, there is still life tomorrow. Remember that when you feel overwhelmed!
- You should always take notes, ALWAYS!
I should have printed this in work and home offices, but now I do. It cost me a lot of useless emails, meetings, TAXI rides, angry product managers repeating themselves, and wasted mental and physical energy.
Never say, "This is easy. I can remember it later." Your mind - with all its greatness - is fooling you. Take notes! ALWAYS!
- It's not like movies. You should be at peace with the fact that routine is inevitable.
Going through job ads, I think the second most repeated word is "exciting". Try a LinkedIn search with the word exciting in the USA. I did it for you:
+455k exciting jobs!
This is not real. Routine is inevitable. You will be working with machines and byte-codes. Does this description look exciting? I don't think so 😟
Excitement regarding your new job, new colleagues, and new technologies will vanish as quickly as you won't believe, and this is completely fine. Routine comes with a level of mastery and peace.
You should be okay with this. Otherwise, go to work in the circus. I'm kidding; they have their own routine.
I hope that this list might help you choose a career path, or help you stay on track when you are just starting and feel overwhelmed. This post's idea is to lay down some personal perspectives to help anyone make the best decision. We are not the same. You love Pizza, and I do love Macaroni. We should be fine. What is it all about is your level of satisfaction, endurance, and the ability to live your life as simply yet as passionately as possible. Life is not a matrix!