You must be wondering if I am talking about Robert Frost’s poem or some career path that very few people choose. It’s neither, because this essay is about my experience and expectations with software engineering. At one point in time, I considered being a software engineer, but then dropped that idea, only to realize that there might be a better way to do it.
The world is so big and there is so much to explore, but still, most people aim for a good job in some big tech company. Sure enough, I did too and with time I realized the reason behind this is that computer science is the glue that holds everything together. From natural science to medicine to marketing to pretty much everything, you name a sector and it is incomplete without computer science. And what lies at the core of this interdisciplinary field? “Programming.” During my undergraduate studies in physics, my doubts were even more clarified when I learned from my professors that you don’t just solve some scary equations while sitting in the far corner of the room. But you use this theoretical knowledge along with the technical advancements and discover something new! Last semester, in my “Medical Informatics” course, I was reminded of this again. Computer Science is about discovering your passion for a domain and climbing up the DIKW pyramid, not just sitting in a boring cubicle and staring at your screen all day looking for bugs in your code. The DIKW (Data, Information, Knowledge, and Wisdom) pyramid is about understanding the challenges, providing an insight into those and coming up with a reliable solution using the abundance of available data and information out there. And that is what defines our department too: Information and Computer Sciences.
One thing I understand is that you either love programming or you don’t; there is no in-between. So, once I was introduced to C++ in high school, I decided this is what I’m going to do now. How? I still don’t know but I intend to learn that from this course. I have had a good start with JavaScript and I hope it goes well. So, one skill I am considering developing from this class is the ability to write presentable and efficient code. Once you learn about the data structures, iterators, and other basic concepts of a programming language, it is easy to forget how you can use them to make your code better. Instead of using variables, what if I used an array or better yet, what if I destructured the object? This takes a lot of practice and experience, and I wish I could master this one day (at least I can hope for that). Another skill I want to hone is using GitHub and collaborating with other developers. I have never used GitHub to store any of my past projects or research work and I wish someone had taught me that before.
I once volunteered for InOut, a hackathon which was initiated and hosted by one of my college senior. And I was so amazed by all the students and their projects and I thought to myself if I’d ever be able to do that. I always doubted myself thinking that I don’t have the right skills to be a software developer. Sometimes I find myself struggling between academic research and the tech industry, and I am hoping I will sort it out by the end of this semester. My interests vary from artificial intelligence to natural science to web development, which I want to give a try. But I think it is okay to have that confusion because I know I am learning things. So, I look forward to the upcoming modules and working with other fellow students to see and learn how one should approach a problem and work together in a team. And if I keep up with the hard work, maybe I will get my dream job one day!