I originally posted this post on my blog a long time ago in a galaxy far, far away.
My first coding job was far from being like a Silicon Valley job at a startup.
I didn't have ping-pong tables or slides to go between offices.
It was, by all means, a boring job at a local non-tech company. There's nothing wrong with a boring job if that's what you want. But it taught me valuable lessons about life, coding, and money.
Here they are.
You Are Not Your Code
My first job was with a small team. One team member took care of one project, from start to end, wearing multiple hats.
Things got complicated when we had to work together and inherited the code from a coworker. It was messy code, to say the least. He put all actions and logic inside event handlers. Those were the days of WinForms applications: Drag and drop a button, double-click, and connect to the database right there.
We had to fix his issues and rewrite his code. Nobody wanted to do that. And I started to judge him because of his code. "What if he does everything else the same way he codes?"
Don't judge someone by their code. Don't take it personally either. You could miss professional connections or friendships by judging people for their code.
Assume everyone does their best with the resources they have at hand.
In the future, someone will inherit your code and say "What a crappy code. Who wrote this?"
There will always be different opinions and better ways of doing things. And even you will think of better ways to do your current work!
Coding Is Not the Only Thing
In my first days, I only wanted to code.
I had just finished reading the "Clean Code" and wanted to refactor everything around me. I didn't want to attend meetings, answer phone calls, or even reply to emails. I only wanted to code. That's what I was paid for, right?
More than once, my then-boss called me to his office and I arrived minutes late because I was coding in my cubicle. I don't know why I didn't get in trouble for that earlier.
Software engineering is about collaboration.
You won't be locked in a basement coding. Even if you're working from your basement, you must talk to clients, conduct meetings, agree on estimations, and ask for help.
I had to learn there's more than just typing symbols in text files.
Live With Half of Your Salary
That's the best life advice I've ever received for free.
My cubicle was next to the coffee machine, in a corner that had once been a bathroom.
One day, another coworker, a "veteran of many battles," came over to have his coffee. And he said something like this:
"Hey Cesar, here's a free piece of advice. Now that you can, imagine you only make half your salary and save the other half. Sooner than later, you can buy your own apartment."
Years later, while reading money books, I found similar advice. And it reminded me of that conversation.
I've followed that advice, but not exactly. I've saved less than half of my salary. Thanks to keeping some savings, I kept my boat floating when I was laid off.
Today, I'd rephrase it like this:
"Imagine you make half of your salary, save, and invest the other half."
You Don't Have To Feel Miserable
I thought talent and good work were shortcuts to breaking the rules of the corporate world. I was soooo wrong! The Matrix is real!
Endless meetings, office politics, and a fixed schedule.
It all started to take its toll on me.
There were days when I felt I was leaving my life behind while sitting at a computer. I felt demotivated and disengaged. I was craving variety and change. I didn't know there was a term for that: burnout.
Always have an exit plan.
Change jobs when you wake up and can't get out of bed to work.
Find a way to motivate yourself: start a side project, learn a new tech stack, or discover a new way of doing your work. Or simply update your CV and LinkedIn profile and move on.
Parting Thought
It's been more than 10 years since my first job. I'm only grateful for it. Somebody took a leap of faith with me and gave me a chance when I had 0 hours of flight time.
I took these lessons to my next job. And every time I can, I give the same money advice my coworker gave me: save and invest half of your salary.
Often what we value the most from past jobs is not the money, but the friendships and connections. From time to time, I meet with coworkers I met at this first job for coffee.
Starting out or already on the software engineering journey? Join my free 7-day email course to refactor your coding career and save years and thousands of dollars' worth of career mistakes.
Top comments (14)
Did you know that browsers, the most complex applications in use daily are almost entirely event driven? Why? It was the first pseudo observable with roots in 1950s.
I also learned this: "If you love what you do, you never have to work". Once I became confident in my skills my enjoyment increased. I now love programing and can't wait to get started each day.
Finally I discovered how fun it is to teach what I know. Teaching others is a privilege and super rewarding.
Good luck and thanks for the post.
:O didn't know that the concept was that old.
That's an excellent way to put it.
That's the part I enjoy the most :)
Thanks for reading and for your comment :)
Great insights- always try to step back from your job and try to see it from a wider perspective. Life is short.
That's a practice I've been doing since my previous-to-last full-time job, even I tried it after every finished project. "What did that job/project teach me?"
Great article, down to earth and very inspiring - 100% justified that his is featured on "Top 7 Featured DEV Posts of the Week" !
Thanks for that comment...Happy coding!
Beautifully written. I thought developers were the only entities in corporate world untouched by office politics. Looks like that's not true.
In my experience, they're the first ones touched by office politics. YMMV :\
Fully agree with the salary part. That's the best way to live.
Oh yes! I wish I had followed it word by word way earlier. It took me some years to put it into action.
Insightful!
Thanks for sharing
Some comments may only be visible to logged-in visitors. Sign in to view all comments.