Is JavaScript my karma?

19 Jan 2022

How it started?

We all must have heard the saying “what goes around, comes around,” a metaphor well known for karma.In my case, that karma was software engineering. So, here’s my story….

I have to admit, choosing to learn a programming language over cramming in some information about different sports was one of the best things I did in high school. I know it sounds weird, but that was in our curriculum. Anyways, out of my class of 100 students, 7 of us chose to learn C++. Yes, that was the beginning of my “coding journey”. And at one point in time, I remember wanting to be a software engineer because I really enjoyed programming and wanted to learn more - a lot more. But everyone discouraged me, saying that it is a very “traditional, low-paying job that involves working for a company and would only suit men!” Shocking, right? Well, I wasn’t mature enough to understand these things, and being a girl child coming from a middle-class Indian family, you always think “my parents know better.” So, somehow I ended up studying physics, and as much as I enjoyed learning about the mysteries of the universe, I felt like something was missing. During my undergraduate studies, I did a couple of research internships where I always ended up doing some computational simulations using various programming languages. Then, fortunately, I got an amazing opportunity to work at the European Organization for Nuclear Research (CERN), Geneva. It was there that I learned about Machine Learning and my career path (and maybe my life too) changed. Fast forward to today. I am pursuing another Master’s in Computer Science and, I am taking a software engineering course! Javascript as a new programming language is being added to my “cognitive memory” (forgive my attempt to make some lame references to computer science)! It turns out I left my dream to pursue computer science for others, and now I’m back at it again, for myself, thanks to ICS613 and JavaScript. 

How is it going?

function isJavascriptFun (thoughts) {
 if (thoughts == enjoy) {
   console.log(We are off to a great start);
 } else {
     console.log(Well, give it some time woman!);
   }
}

Since I have just started with this language, it is kind of hard to tell if this is a good language or not. I am so used to Python now that sometimes I forget we need parentheses to define a function! Funny right? But what I mean to say is that there is a syntactical difference between Python and JavaScript, which sometimes is good (you don’t have to specifically declare different data structures) and other times is a bit annoying. The ES6 version of Javascript looks good with some advanced features like object.freeze, destructuring, and promises (and you can relate them to real-life experiences). With time, I will get the hang of the language, and resources like “freeCodeCamp” are proving to be very helpful, so I look forward to other modules. But one thing I have learnt so far is that you only need 3 things to become a good software engineer: coding practice, coding practice, and lots of coding practice. Sorry, just kidding. There are other important requirements too, like getting a degree, getting to know the right tools, and making yourself better at reading and writing (technical essays are a bonus for that). I am still in my learning phase so once I learn the secret of becoming a successful developer, I’ll update it here. But for now, to cover the ‘practice part’ let’s move on to the next section.

Exercise (focus on number of sets and repetitions)

You’d probably say: “wait, you mean coding exercise right?” And I’d say yes and no. No, because another important thing I learnt in this class is to not neglect your physical and spiritual health, which will improve your thought process, problem-solving approach, and coding skills. And yes, because that is covered by WODs. WOD (or workout of the day) is something Professor Johnson came up with, as a part of athletic software engineering. You are given a problem and should learn to finish coding it within a given time interval. Though this approach puts pressure on you (quite frankly, I’m a bit scared about it), I feel like in the long run, this will prove to be very helpful. We also have bWODs, which are like practice sessions where the TA prepares you for the upcoming challenge. As this is my first ever software development class, this workout will help me prepare myself for the technical interviews, for which I have watched many videos and have always dreaded since then. 

To conclude, I am excited to have 2 workout sessions (physical exercise and coding assignment) during this semester. And as much as both are going to be stressful, tough, and maybe dreadful sometimes, it will be a fun experience and if I am consistent enough, I will have a good life (and hopefully a good job too)!