Oops, I Became a Software Engineer

I have a strange relationship with programming. I like to say that I'm a software engineer by serendipity.

Back when I was kid, I learned basics of Lua to create 2D games and built modest skills in C to make DIY Arduino projects, but nothing serious. My first real-world project was during my first-year of Master's internship.

As a Junior Project Manager in the Transport & Logistic sector, some of my tasks included improving delivery rounds and generating pricing for bid proposals. Until then, everything was done with Excel; we had to manually update gas price and distance by checking Google Maps for each stop, every time we needed to do a simulation.

Me in front of delivery rounds plan
Delivery rounds | Size (23 KB)

I knew that I could automate this tedious and unecessary work by writing a script. I knew I could but didn't know how. After research, I installed Python and a couple tutorials later, I successfully implemented a script to scrap gas price everyday and retrieve distance between each stops with Maps API. This was my first real-world project; small, straightforward and easy.

The company was excited and asked me to add a web interface, the terminal was too intimidating. After typing, "how to create a web app with python", I discovered Flask. Again, couple tutorials later my wonderful web app was born and Transport Operators were delighted.

Maybe too much.

Two months to learn

Thrilled by my fresh new skill, they accepted a contract with a client who required the development of a tool for booking line haul1. I remember being scared as hell during the meeting to draft the requirement specifications. I had never done that before.

— How quickly can you deliver?

— Well... I think... three months? I said, doubting if I could even do it within a year.

— Ok, how about two?

Glancing at my supervisor out of the corner of my eyehe nods at me.

— Uh, okay, I guess.

Sweating heavily in a corporate meeting
Quite a meeting! | Size (29 KB)

I remember starting the project the very same day, cramming every guide I could find to learn as quick as possible. The task seemed insurmountable, I was overwhelmed, I had to learn on the job. And you know what? It worked out pretty well.

Two months later, I presented the piece of software. They were charmed, they loved it, it perfectly matched their need. I was proud because I utilized my fear as a vector of progress, and turned apprehension into achievement. I think it really gave me the confidence I needed to jumpstart my journey.

This experience deeply influenced my choice to become a software engineer. Suddenly, Computer Science lectures weren't boring anymore, it all just clicked. Prior to this, I never really thought about being a software engineering, I always wanted to become a professor; and I still do.

For the meantime, I kind of enjoy fighting against computer to make things work; at least, when I win.

  1. Line haul: the transport of freight for long distances or between distant cities, typically by truck from terminal to terminal. From Dictionary.com.