
Software Engineering is something I only had come into contact with in college. In high school I took a “computer science” course where we spent the entire semester on code.org putting blocks together to make a character move across the screen.
As I’m sure you’re aware, this experience is quite limited to what true programming is. My freshman year of college, the bounds of what I knew to be programming had expanded tenfold and opened up a world of possibilities that I never could’ve executed on code.org. But once I had become familiar with it during my first few introductory courses, I knew it was something I could dedicate myself to.
It’s no secret that Computer Science is a challenging field. As a beginner, I struggle with so much and constantly trip over my own feet when working on coding assignments. What comforts me to know is that almost all programmers have been in my shoes. And falling over and over again will only make the taste of rising to your feet that much sweeter.
Over the course of my trying and failing while being a CS student, I craved to correct each mistake and have prioritized two goals for myself. To be comfortable with my abilities and to be organized as I work.
This field of study is only the predecessor to an even more vast field of work, and as I navigate my degree I hope to build a fortified foundation before moving into such an industry. Most ardently, I want to become comfortable in CS spaces.
In this profession, there will always be someone who can get the job done more efficiently and quicker than you can, which might set off alarms in your head, but I aim to become comfortable with that dynamic and use it as a tool instead of letting it make me anxious. I want to be vulnerable enough to learn from my peers and ask for their input.
My biggest fault that I run into while programming, especially on my own, is getting ahead of myself too quickly.
I repeatedly have to remind myself to brainstorm, carefully digest all the ideas to make them come together cohesively, and then begin the process of putting it in a program. That way, I won’t have to constantly delete chunks of code or restructure entire classes of methods.
When my mind gets crowded with overlapping concepts, I just remind myself to compile my thoughts carefully before running wild with ideas. Compile before running. A goal of mine as I continue building programs is to hopefully burn this mindset into my brain.
Though, I suppose runtime errors do exist…
What I’ve come to realize matters most is believing in where you stand as a Software Engineer. Ultimately, your goal is to remind yourself why you came to know Computer Science in the first place. Because it is truly fascinating. And no glorious victory comes with zero bumps in the road. Your mistakes will only make you stronger.
No matter how I progress in this field, moving forward I can understand that no one has a perfect run. It is a privilege on its own to be learning about Software Engineering from the engineers themselves.