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

Cesar Aguirre @canro91

About: Software engineer, lifelong learner, language enthusiast & avid reader — Get my free 7-day email course to refactor your coding career: bit.ly/csarag-lessons

Location:
Colombia 🇨🇴 (not Columbia)
Joined:
Jul 23, 2019

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

Publish Date: Oct 14 '24
27 16

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.

Comments 16 total

  • Niya
    NiyaOct 19, 2024

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

    • Cesar Aguirre
      Cesar AguirreOct 21, 2024

      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 :\

  • Kiran Baliga
    Kiran BaligaOct 19, 2024

    Insightful!

  • Vaibhav Dwivedi
    Vaibhav DwivediOct 19, 2024

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

    • Cesar Aguirre
      Cesar AguirreOct 21, 2024

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

  • abuhanzala
    abuhanzalaOct 19, 2024

    This is a fantastic reflection on your early experiences in software engineering! I love the lessons you shared, especially about not judging others by their code and the importance of collaboration. It’s a great reminder that coding is just one part of the job. Your advice on financial planning and recognizing burnout is also invaluable. Thanks for sharing these insights—definitely resonates with anyone starting their career!

    • Cesar Aguirre
      Cesar AguirreOct 21, 2024

      I love the lessons you shared, especially about not judging others by their code and the importance of collaboration.

      Lessons learned the hard way :)

      Your advice on financial planning and recognizing burnout is also invaluable.

      Those are the best lessons I've learned about careers. I wish I had stopped to reflect and connect the dots way earlier.

      Thanks for sharing these insights—definitely resonates with anyone starting their career!

      Thanks for your comment. Happpy coding!

  • JWP
    JWPOct 20, 2024

    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.

    • Cesar Aguirre
      Cesar AguirreOct 21, 2024

      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 :)

  • Lymah
    LymahOct 23, 2024

    Thanks for sharing

  • Salli Figler
    Salli FiglerOct 23, 2024

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

    • Cesar Aguirre
      Cesar AguirreOct 23, 2024

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

  • leob
    leobOct 24, 2024

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

    • Cesar Aguirre
      Cesar AguirreOct 24, 2024

      Thanks for that comment...Happy coding!

  • Janet
    JanetFeb 20, 2025

    Well said, and great advice for anyone. Nice to have you as a connection here, Cesar!

Add comment