My First Week As A Programmer




I bet you thought I'm already involving myself with the software development process of the company, with sweaty hands, sleep-deprived eyes, and over-caffeinated bloodbut no, I'm not there yet. My first week in my new job was focused only on my training, on getting me familiarized with their workflow process and in their environment. Since I'm new, no one in their right mind would allow me to tinker with their high-quality product. They must first evaluate where my skills stand and whether I'm really ready to be assigned those work-related tasks.

But that's not saying I'm just sitting there idling in front of my laptop. The complete silence and shame of doing nothing would surely kill me. So I immersed myself in intensive training in order to catch up to them. On my first day, our team lead programmer tasked me to read a few books. Some of which were about cleaning codes and effective java programming. I was actually hoping that I would only get to read those books for a whole week, but of course, who am I fooling? This is work. No one gets paid just by reading (except if you're a book reviewer or something).

My second day introduced me to the java framework they're using: Spring Boot. This is hard for me since I hadn't used it before in projects. I've only gotten to read on the basics of Spring, not the whole terminologies, so after a half-an-hour of listening to my lead's teachings, I don't know if he had noticed this but I wasn't really absorbing the full knowledge. All I could think of was that I need to read more of this later. I wanted to ask questions but I don't even know what to ask. I mean, there's an overwhelming amount of new terminologies for me such as JPARepository, REST Controller, pom.xml, maven, and so on.

Thankfully, I was allowed to use my full work hours to review on the things I wasn't familiar with. The quiet environment and the diligence of my team members helped me to focus on my study for straight hours. Before my second day ends, I could confidently say that I now knew the gist of those java jargons I just mentioned earlier.

The third day was like my exam day. I was given a machine problem that I needed to accomplish. No deadline was given specifically but I have to give my lead an update on it from time to time. I needed to create a working java web application using all the necessary elements of the Spring framework. At first, I wasn't really excited about it since there was still an incompatibility issue in the project files given to me before. They were using postgreSQL while I'm more familiar with mySQL database. I tried installing postgreSQL but it doesn't work correctly on my laptop and using mySQL meant that I need to change some codes on the file, with which I wasn't yet familiar.

And so came the pressure.

I think the hardest part of programming is fixing errors. This was the moment that when I got to fix a certain issue, another one will unexpectedly appear, and another, and another. Even the search results weren't giving me accurate answers. There were even times when I go to the second and third page of google search results in desperation.

But I view this on the positive side. I mean, if I ever get to fix this after a few straight hours, then I won't be able to encounter this problem again since I already have knowledge of it. This is the learning part of programming, fixing errors. One that you shouldn't skip. And yes, thankfully, after a full five straight hours of searching and not giving up, I was finally able to connect my spring boot web app to my database. Yay!

The fourth day taught me about the power of asking. After almost three hours of watching tutorials and writing codes, I was confident that I got the web app functionality right. The problem was that it wasn't performing accordingly. And so I spent my remaining hours searching for the error but the problem was that it wasn't giving me any (or maybe I just don't know where to locate it since Spring writes a bunch of logs in the console). An hour before my time out I decided to just review it at home since it will be weekend by then and I will have ample time to research. But then I realized one thing, what if I ask some little help from my lead? This surely wouldn't hurt right?

It turned out I'm right. Asking him saved me a lot of time searching for what's wrong on my program. But remember I didn't do it just because I'm lazy to search for more. Sometimes, asking the experts around you is the best solution (provided that you already did a ton of searches and felt like you're already on a dead-end). Plus, I was able to get a few tips from him. (God bless him)

Working as a programmer is one of my dreams. Actually, I've spent months of self-studying just to prepare myself and ensure that I get this job. But know this, no matter how confident you think you are when it comes to your skills, you'll always feel that you have so many things to learn to catch up. And it's your job to catch up. No one else is responsible for it than you.

To anyone reading this who is interested in the programming career, I advise that you read a lot of OOP concepts and frameworks, and practice, practice, practice! Don't just rely on the teachings in school. Rely on yourself.

Comments

Popular posts from this blog

What I Learned After My First Coding Interview

Dear Unemployed, Calm the F*ck Down

Bug Fixing Is Actually Fun!