Why did I decide to study Software Engineering?
Published: 2020-10-21 16:39:29

I was raised by an artist and a tech nerd. My mom was a drama teacher who taught me crafting and my dad was a web developer who taught me classic SciFi. I was encouraged to be computer literate, took typing classes early, and had a home computer from a young age. I was also encouraged to paint and act. I ended up leaning toward the arts and have spent most of my adult life involved in one way or another with theater. 

I thrive behind the scenes in fast-paced environments and have always loved being in the middle of the action. Even when I'm just a spectator, I want to look behind the curtain and understand how everything works. My favorite gig I ever got to do was working as a production assistant on a massive 3-night event attended by thousands of people. Four floors of entertainment including six stages with different bands and acts, a dozen satellite bars, performers, and dance floors everywhere. The kicker was the entire thing had to be put up in an hour and taken down again at the end of each night. 

I think I enjoyed it so much because I'd been a part of the project during planning - I knew the big picture of how everything fit together, so when it was high-stress crunch time I could focus on a problem, knowing how that piece fits in with everything else. Those are the bits I thrive in - the little pieces. It's easy to get overwhelmed looking at everything all at once, but when you break something into parts you can find the flow, the story, and the system that makes it all work. 

Coding brings out the same excitement for me. When I look at a big block of written code, it's overwhelming. But the more I learn, the more I recognize the parts that make it up. And the more I can understand and interpret them. 

I'm not good at being bad at something. I tend to avoid things I don't feel confident in because usually, I would rather not try than fail. I tend to pick up hobbies in secret and practice them only for myself. If I don't perform the ukulele for any living person (other than my cat) then there is nobody who can tell me that I'm not very good at it. If I only skateboard in empty parks nobody can witness the falls and blunders. 

This made my early attempts at programming difficult, to say the least. What do you mean it's not working? Why isn't the program running? Why can't I automatically fix it quickly? Why have I been staring at this line of code for 2 hours without understanding what is going wrong? Why am I not immediately perfect at this thing I just started doing? 

Well, to answer the latter, that's not how life works. And to answer the rest: that IS how coding works, as it turns out! One of the first lessons I had to take to heart was coding is ALL about failing. And already I've found my relationship to failure changing. 

When I'm working through a lesson, it doesn't matter how many times I need to test it before it works. I found myself even putting in things I knew wouldn't work just to see what happens (not something I ever was in the habit of before)! I'm finally at a place to embrace the lesson of learning more from failure than success and looking forward to many more failures in the future!