Monday 24 September 2018

How I Became A Software Engineer (Part 3/3)

Another week passed, and I found myself interviewing at some logistics factory near my place. How near? Well, it was a matter of three bus stops from the MRT station. That's how convenient it was. I had a nice time. The interviewers were friendly and didn't waste my time with stupid questions. They'd seen my demos on my website and knew I could do the job, because some of it was more or less stuff they needed. But it was simply an opening in an IT Department in a non-tech firm. And they were using classic ASP. After everything I'd put myself through trying to level up, I had this niggling feeling I should be doing bigger things. Hell, I was only 39 then!

Then I interviewed at a startup in Ubi. God, not Ubi again?! After everything that had happened, it felt like the Tai Seng/McPherson/Paya Lebar stretch was full of stupid assholes. A dude could develop a serious phobia of the area. But I kind of knew the guy. He was on my Facebook Friends List, for unrelated reasons. He had seen me share my web tutorials and blogposts over the last couple years.

I met the boss at a food court, dressed up as usual, and was fucking flabbergasted when I saw that he was dressed in t-shirt, shorts and slippers. That aside, we bonded over some shop-talk, and I realized immediately that his setup operated at a higher level than I'd ever encountered. This dude was good. And he was looking to replace his front-end guy. I did some reading on MeteorJS, the framework his company was using, and found myself intrigued by the notion of fully-reactive interfaces.



All in all, things looked promising on both sides. I wouldn't mind working for either setup.

Choices

A few days after the interview at the logistics company, one of the interviewers asked me out for coffee and flat-out told me that his company were interested. The only catch was that the hiring process might take months, so if I got anything in the meantime, he advised me to go for it. I have to admit, after all the bullshit I went through the past week, that touch of honesty was a nice gesture.

A nice relaxed session.

Though, it didn't change the fact that the gig at the Logistics company probably wasn't going to help me level up. The pay would be decent, and it would be an easy job... but I would be operating far below what I felt was my current level. I mean, the stuff I code in my free time is all well and good. It's fun. Like all pastimes should be. But as a professional, I want to do something bigger.

Then the startup guy came back to me and told me his front-end guy was leaving. It was game on. He sent me a contract, and to my dismay, there it was - The Probationary Pay Gambit. I would need to take reduced pay (500 SGD less) for three months. What is it with small companies and this reduced pay shit? But because I didn't think this guy was deliberately trying to take advantage of me (he was just under the impression that this was how small companies were supposed to roll) I politely informed him that these terms were not acceptable, and he offered an alternative. I would intern at his company for two weeks - for no pay - after which I would be paid what the contract promised.

Working for free?! WTF?

Now, working for free sounds counter-intuitive, I know. But let's look at it from another perspective.

If I worked three months at reduced pay and somehow didn't make it through probation, that reduced figure would be my last-drawn pay unless I felt like explaining to my next interviewer what I'd been doing the past three months. Two weeks was easier to explain away. Two weeks can fly by just like that.

If I took the three-month probation deal, I would lose (500 x 3 = 1,500) SGD. If I took the two-week deal and got paid half my full wages at the end of the month, I would lose more than two thousand dollars. On paper, just in terms of money (1,500 versus 2,000 plus), the three-month deal sounded better... but when you factor in the time (three months versus two weeks), no, it really wasn't. I was prepared to lose out a little financially for potentially far greater gain (last drawn pay) and insurance against failure.

A fork in the road.

Plenty of people I know would have opted to save that few hundred bucks. Some guys simply aren't big-picture people, and that's OK. I like to think I've gained perspective with age, and the wisdom to make sensible decisions.

There's nothing deep or profound about my decision. It was just math. The way I live my life, that few hundred dollars wouldn't make much of a difference. But time... time is precious for everyone. It goes, and it doesn't come back.

Internship

My internship would only begin after the weekend. In the meantime, my soon-to-be boss put me on a learning contract, where I had to finish items on an On-boarding checklist. I wouldn't say I nailed it, but over the weekend I did the required reading from the You Don't Know JS series, JavaScript: The Good Parts by Douglas Crockford and some web tutorials videos. This was starting to look like a really good learning opportunity. I was being exposed to stuff I never even suspected existed. It was intimidating, yes... and also excited me beyond words.

I went in on Monday and got introduced to the guys, one of whom I would be replacing. It was a rush. We traded nerd jokes and comments on programming. Every day, I went in at 9 AM and left after 8 PM, sometimes 9. Once or twice, even 10. I'd be there on the weekends while my new boss put me through the paces. I wanted this.

And I'm a Software Engineer!

Two weeks later, I got my appointment letter, along with being assigned a brand-new Mac and two large monitors. The appointment letter said that I had been hired as a Front-end Software Engineer from that day forth. Yes, "software engineer" is mostly just a job title. I'm not daft enough to think I can stand toe-to-toe with real engineers who have tons more training and experience. But trying to live up to that label would be fun, and fulfilling.

Most importantly, I was surrounded by people who were smarter than me. People who understood tech. I wasn't the most technically proficient guy in the room anymore. And that feeling was superb. I understood, of course, that I had yet to live up to the term "software engineer". Right now, it was just a title. I was still very much a web developer. But with this group, there was a very real feeling that I could bridge that gap.

My setup, complete with
gorgeous wallpaper.

Did I mention the setup? As a front-end software engineer, I had access to four different screens - one for code, one for running output, a tablet screen for viewing output on mobile devices, and the laptop screen. That alone was a better setup than anything I ever had.

Epilogue

This was sadly not to last. The company ran into cash-flow problems in less than a year. But I had a really good time while I was in this company. And whatever I learned probably propelled me to my next gig.

What was the point of this three-part blogpost?

What's the point of anything, really? It was a good story. I've had to bounce back from setbacks before. And by necessity, I've had to come back stronger. That always makes for a good story.

Also, I thought it was a good illustration for how much preparation a techie needs in order to land a job. All the work I put in on my blog, website and code repositories really paid off.

Good (job) hunting,
T___T

No comments:

Post a Comment