The other day I was cleaning out my inbox when I came across a message from Code Academy. I quickly deleted the message and unsubscribed from their email updates since I hadn’t used the platform in ages. In doing so I came to the realization that I’ve come a long way. Regardless of how you measure it, starting from my senior year of high school or just in the past year, I’ve made incredible strides towards my ever moving goal, to be a great engineer.
Way back when I was a highschool senior trying to decide what to study in college, learning to program seemed like an impossible task to me. I had an interest in technology, and had even dabbled in some HTML and copy and pasting of javascript, but had yet to really learn any significant programing. I tried to learn on my own, going over tutorials or using things like code academy but nothing really stuck. Unable to learn on my own I thought that perhaps taking a class might help, so I enrolled in my schools computer programing class. At first it was great, we started learning with scratch, which is a simple visual based programing language. It was incredibly easy to get started with and allowed me to easily create simple games and other engaging things that made it fun to work with. Because of this I was a bit more confident when we moved on to Visual Basic and eventually Java. This confidence was quickly dispelled as I found a much more difficult learning curve waiting for me.
For this part of the course we were given books to read from and expected to go through them chapter by chapter completing the exercises without much guidance, which proved to be very difficult for me. I wasn’t getting much value out of reading the books myself and there were no lecture because the instructor didn’t have any programing knowledge himself. He was just the teacher that did some of the business focused electives at my school and somehow programing fell under his jurisdiction. So after the remainder of the semester spent struggling with Java and VB I was thoroughly convinced that programing wasn’t my calling. I still really wanted to study technology so I decided to go to IU and study Informatics with the intention of eventually being a consultant or business analyst.
Luckily I eventually took a second shot at programing and Computer Science, this time as a Sophomore in college surrounded by a much better learning environment. After making a pact with a friend to pick up a Computer Science minor and to be the best engineers we could be, I was determined to conquer the challenge that once seemed impossible to me. It sure was difficult, but also different this time. I had professors that I could go to with questions, lecture that I could follow and properly take notes on, other students around me that I could work with and learn from. This learning environment turned proved to be what I needed to finally have a breakthrough. Slowly but surely the basic concepts around computer science started to click for me, once that had happened I couldn’t get enough.
That learning has continued as I’ve begun my career as an software engineer at Target. In my first 6 months here I had the pleasure of working with the most talented group of engineers I had yet encountered on the Cloud Platform Engineering team. When I started I barely understood what docker was and why containerization was valuable. I’m leaving with a couple open source contributions to the Spinnaker Project under my belt, and as I move on to my new team next week, which focuses on front end engineering, I’m sure my Javascript skills/knowledge will increase dramatically as well.
I write all of this to try and get across the following point. Don’t be discouraged if you are attempting to learn to program or immerse yourself in the world of technology, but things aren’t sticking. Everyone is different and while not every single person may end up a top notch software engineer, there is a place for all kinds of people in the world of technology. The tricky part is figuring out where we fit, how we learn, and what kinds of things motivate us. So if you’re struggling with that at the moment, don’t worry! Find a mentor, or a friend to try and learn with, keep trying different approaches to learning until something finally clicks. Also to those of us who are well beyond that initial learning phase, reach out to those who aren’t. Encourage someone who is just starting out, mentor them a bit, point them to some resources that helped you out, answer their questions. That way we can continue to grow this industry and make sure its filled with fresh blood, new perspectives, and diverse groups of people.