Categories
Technology Reviews

The Story of How I Almost Became a Developer

With all the stories of layoffs and general tech industry malaise, I think it’s time for a bit of a reminder of how far we have come. So here is an origin story, or, what would have been an origin story. Because I have a bit of a dirty secret to share. I am not a rock-star developer. Or much of a developer at all.

Now I know some Hackernoon readers might be going: 🤨

But many moons ago I probably was on my way to becoming one (a developer).

I had recently graduated from university and was now sitting at home. It is at this stage young men (and women) are expected to go out, get jobs and be productive members of society! But I had other plans. I wanted to start my own company. Easier said than done I’ll admit, but of course, I didn’t know that then. Lucky for you I guess, as this story wouldn’t exist if I did 😁.

I was living with my parents and they encouraged me to apply for jobs. I don’t know if it was because I appeared jobless (well I was) and doing nothing (much), but I agreed. It was more out of a desire to show that I could get a job, but I just didn’t want to. So I began to apply. I don’t think I applied to too many, probably only one or two. One of which was a software company (see if you can guess who they are, clue at the end of the story) that would serve as the antagonist for today’s Hackernoon Bedtime Story. The company’s work was training and then hiring out developers for other companies for projects. I got through stage one of the process which was an online exam, and a few days later received an email inviting me to a physical interview.

I arrived at the interview and a little pleasant surprise was I happened to run into an old classmate of mine and we chatted for a bit. Eventually, it got to my turn and I was to be interviewed by two people. During this, I found out the company required you to commit for two years if you take the job. I was a little wary of this as I did not think I wanted to put off my dreams of starting my own company in a few years. I decided to be honest and told them so. They said okay, but I had no idea what they made of it. The interview itself was the closest I got to the Silicon Valley-ey vibe. Very young interviewers, only a few years older than myself. When I got to the hobbies section I chatted about anime and spoke a little Japanese (I had been taking classes and could read and write a little) and managed to win over one of my interviewers who happened to also watch Naruto. Sweet. I went home and awaited the results. A few days later, it came in. I had failed th… just kidding! Of course, I passed 😛. (or the story would have ended 😁)

So had about forty or fifty other people.

Honestly, though, I was a little surprised I got to the next round considering I had expressed some hesitance at the interview. That is not generally how to do an interview, but progress, I did. The email informed us that we had been invited to a third round of the recruitment process. It was to last two weeks. Standard 9 to 5 8 to 5:30. So it began. Day one involved splitting the interviewees into two classes. One JavaScript and one Python class. I was put into the JS class. This was JS from scratch. None of us were expected to have any prior JS knowledge. Well, they got that one correct. I arrived with a brain free of JavaScript knowledge.

Over the first week, I got introduced to the company culture. Day one was a shock when around lunch (which they provided) we were called into the center hall between the two classrooms and asked to form a circle and hold hands.

Silicon Valley-esque, remember? I remember balking at this new-age kumbaya software developer dystopia and grudgingly only agreeing to do it because, well, capitalism. It was an interview and I was looking to get the job. I had standards, but I was only being asked to hold the hands of my potential future co-workers, not hawk enriched uranium to maternity wards. I could descend to do this. I remember one of the trainer developers casually remarking I’ll eventually get used to it and like it.

I was introduced to the basics of Bash and Git in the first few days. And JavaScript slowly as well. It was definitely one of those high-intensity training sessions. I had to leave my house at about 6 a.m. to arrive at about 7:45 am. We gradually fizzled out of the building by 5-6 pm and I would get home about 8 pm. It was tiring but nice. I was happy because I was learning so quickly. During an average day, we would be given several exercises. On one of those days, we were given an exercise that was slightly more tasking than usual, towards the evening. And we were told we didn’t need to remain behind at the office to finish it. So after working on it for over an hour I went home. I was determined to finish it because I liked the challenge of the exercise so once I got home I continued the exercise and was done about 8:30 pm or so and I submitted the exercise. It was a Friday night so there was no more work for a little while. A weekend of much-needed rest beckoned.

A Surprise

I arrived at the building on time on Monday and found about half the class not yet in. It was only a few minutes to 8 am so I was puzzled. The day started and we were told that the half that was missing had been cut. This was a shock. The project was supposed to be the cut. So what happened? Their offense? That innocent little late Friday exercise, one of over a dozen we had been given that week. Those who hadn’t submitted it by 10 pm Friday night had been told not to come back on Monday. A slight chill ran down my spine. I was only about an hour away from that deadline. Even though I was here, in the next round, I felt it was a little unfair and protested. I mentioned we had been told we didn’t need to finish it before we left for the day. They contested they never said that it wasn’t necessary to submit the assignment that day. The trap felt a little harsh to me. Like a test from some dystopian novel.

By about Tuesday, we had started working on our project. We were put in groups of two. My group had the task of developing a little Eventbrite clone. I was responsible for the majority of the backend and a little of the frontend and my partner had the reverse. It seemed like a bit of a challenge for people who had just started learning JavaScript and Git a week ago, but it was doable I thought. We were using Firebase (back when Google hadn’t acquired them yet) for the backend. So we began the project, and this is where the hair-pulling began.

I May Not Be An Architect but I Can Tell the Leaning Tower of Piza is sus.

At first, I thought the only thing I had to worry about was the timeline. I began and I seemed to be making decent progress (in hindsight I should have realized this is how every horror movie begins 🤗 ) until I ran into a problem with a call to the Firebase API. A line of my code was supposed to use data returned from Firebase, but it only worked half the time. I tried over and over. Tweaking this, rewriting that. Nothing. As you wise readers may have realized, a server-based application that cannot communicate with a server is a rather rubbish application.

Rubbish applications don’t get you through interviews. I began to panic. Time was slipping away. The maddening thing was that *it did* work half the time! That made no sense, that’s not how computers were supposed to work!! Of course, my screen just happily stared back at me offering no help. Thursday came and I still hadn’t solved the problem. We were supposed to present our working program the next day. I hadn’t attempted to write other parts of the program because I didn’t see the use if I couldn’t work with the server. Late nights that week had yielded nothing.

Friday morning, I was programming *on the bus* on the way to the office. That was my desperation level and it was then, mercifully,  it finally clicked. It was an async problem. Newbie-JS-developer-me did not understand that, unlike basic local C  programs that ran line by line, if a JS line made a call for data over the Internet, there was no guarantee that data would have arrived by the time the program ran another line of code three lines down. I was entirely accustomed to the notion of programs running line by line. The reason why it had worked half the time was that the server response had simply been quick enough half the time. I began to rush with the mild euphoria that comes when you solve a pesky problem, but I only had a few hours until my partner and I were to present that morning.

On a side note debugging while mobile counts as mobile debugging, right? Right? 😉 ….. okay, I’ll stop.

The 🎁tation

I arrived at the office where, like me, others were rushing to have something to present. Only one group (out of five or six) had actually finished (on the day before!). My partner was having trouble as well in her parts. Together we managed to cobble something to present.

I started off with a joke that the reason why our project was so barebones was that we had imbibed the spirit of minimalism.

Thankfully everyone laughed. I made the presentation and explained the problem and it wasn’t too bad after all, compared to how others had fared. Apart from the genius group, which basically had everyone applauding, we did well comparatively.

In hindsight, it was a little sad that I probably spent more than half the time on a project chasing a bug. I was reminded of and inspired to write this story when I heard of the service Sentry. It’s an application debugging/monitoring service. You can check them out here. It looks in-depth and I don’t understand half of it, so that’s a good sign 😁. You can check them out here at sentry.io if you’re curious.

It’s A Wrap!

At the end of the day, we were called into a room one by one. I was ‘tentatively’ offered the job but expressed hesitancy because of the two years commitment required. Unsurprisingly I did not get the job when the emails came in over the weekend, as I had basically declined it.

Overall, it was a good experience. I hate to admit it but at the end of two weeks, I was enjoying that hand-holding, joke-telling, Kumbaya thing we did at lunch as they had promised. I accept defeat there.

From never touching JS to it becoming my favorite language in two weeks. Plus a newfound ability of a hard work ethic and achieving a lot in a short timeframe. Also going from me, a full Windows GUI lover, to actually preferring using the command line for Git vs the web interface. It was a positive experience.

A few years later the company was acquired by a big tech company. As I am not a big fan of the ethical practices there, I try to tell myself that it may not have been a bad idea to skip the job.

At the end of the day, what you do is more important than what you did. So here is to the future and today!


Hey! Thanks for reading my story. If you found it nice/interesting/funny please share the article. I welcome comments/questions below. Let me know if you want to hear about my other beginner dev experiences. Thank you!

L O A D I N G
. . . comments & more!