Why Software?

Well, this is my first blog post for my website. I've never done this before, but it shouldn't be too bad. I'm trying to prevent myself from falling into the structured writing style I am used to, thanks to the many writing classes I've had the pleasure of enduring.

But anyway, I decided to make my first blog about why I became a Software Engineer.

I always heard many students, in high school and college, talk about how they first started programming when they where kids, from making simple websites to whole Operating Systems from scratch. I would be lying if I did say I was both intimidated and impressed. Before I switched my major to Computer Engineering, I'd never written or read a program, but I did have friends who did. Whenever I met them at the library, I would always peek at their computer, annoyingly asking them why they are typing white letters on that black background. After they explained, it all went over my head, but I did have some interest in form of curiosity.

My first interaction with a computer was not 'love at first site' (...I hate myself for doing that). I remember playing CD-ROM games as a child on a big bulky monitor that made funny noises. As I got a bit older, I remember my dad installing an operating system that was different from the Windows XP I always used. It was called Linux. I remember that we had a book with a penguin on the front, full of linux commands. I was puzzled how anyone could and would want to learn this alien-like language.

I wrote my first program when I was a sophomore in college. I must say, learning Java wasn't the most exciting introduction to Computer Science. No offense to Java, but I didn't really have the enthusiasm to program anything other than required class assignments. The summer after sophomore year, I managed to get an internship as a software engineer. I didn't feel ready, nor was I particularly eager, but I was still willing to give it a chance.

I had to extract data from an API and save it on a text file within the local server. I had to repetitively parse and update the data, which took quite a while. This frustrated the hell out of me and I said myself: "there must be a better way of doing this". So, I started to ask around and many suggested using databases. I started researching databases, then web development and applications. I then jumped into how to use Microsoft SQL and the SQL language and how to use PHP with this. After other engineers helped me understand the basics of SQL and PHP and once I felt comfortable, I had created a working and more efficient system for data extraction.

The feeling was amazing. I felt like an expert. So, this led me to learn more about full stack development. Since I already knew HTML and CSS, I wanted to dive into Javascript. So, I learned that, then I wanted to check out ReactJS and then NodeJS. It seemed that for the first time, I was genuinely self-motivated to learn more. My frustration (or maybe my laziness) literally motivated me. Ironic. I became software engineer, not because I enjoy coding, but because I wanted to solve problems. When I code, if I could find the right balance between readability, efficiency, robustness and generalization, I'll be satisfied with what I have.

TL;DR I became a software engineer because I'm lazy...

"Men are basically smart or dumb and lazy or ambitious. The dumb and ambitious ones are dangerous and I get rid of them. The dumb and lazy ones I give mundane duties. The smart ambitious ones I put on my staff. The smart and lazy ones I make my commanders."

Erwin Rommel

Let's Network