DEV Community

Cover image for Four Lessons My First Job as a Software Engineer Taught Me About Coding and Life
Cesar Aguirre
Cesar Aguirre

Posted on • Originally published at canro91.github.io

Four Lessons My First Job as a Software Engineer Taught Me About Coding and Life

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)

Collapse
 
jwp profile image
John Peters

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.

Collapse
 
canro91 profile image
Cesar Aguirre • Edited

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.

:O didn't know that the concept was that old.

I also learned this: "If you love what you do, you never have to work".

That's an excellent way to put it.

Finally I discovered how fun it is to teach what I know. Teaching others is a privilege and super rewarding.

That's the part I enjoy the most :)

Good luck and thanks for the post.

Thanks for reading and for your comment :)

Collapse
 
figspville profile image
Salli Figler

Great insights- always try to step back from your job and try to see it from a wider perspective. Life is short.

Collapse
 
canro91 profile image
Cesar Aguirre • Edited

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?"

Collapse
 
leob profile image
leob

Great article, down to earth and very inspiring - 100% justified that his is featured on "Top 7 Featured DEV Posts of the Week" !

Collapse
 
canro91 profile image
Cesar Aguirre

Thanks for that comment...Happy coding!

Collapse
 
ecstatic_niya profile image
Niya

Beautifully written. I thought developers were the only entities in corporate world untouched by office politics. Looks like that's not true.

Collapse
 
canro91 profile image
Cesar Aguirre

I thought developers were the only entities in corporate world untouched by office politics.

In my experience, they're the first ones touched by office politics. YMMV :\

Collapse
 
thevediwho profile image
Vaibhav Dwivedi

Fully agree with the salary part. That's the best way to live.

Collapse
 
canro91 profile image
Cesar Aguirre

Oh yes! I wish I had followed it word by word way earlier. It took me some years to put it into action.

Collapse
 
kiran_baliga profile image
Kiran Baliga

Insightful!

Collapse
 
lymah profile image
Lymah

Thanks for sharing

Some comments may only be visible to logged-in visitors. Sign in to view all comments.