Showing posts with label Douglas Crockford. Show all posts
Showing posts with label Douglas Crockford. Show all posts

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

Sunday, 8 October 2017

TeochewThunder: Year Three (Part 2/2)

As with previous years, some of my posts garnered more... attention than others. The trends have been a little strange, to be honest. On the bright side, readership has gone up. Not phenomenally, but noticeably.

What can I say? Fuck yeah.

These trends!

TeochewThunder's content

Tech News - 2017 has been undeniably the Year of the Trump. The politics of USA be damned, the ramifications of his Presidency has shaken the world - all the way to the tech industry, which in principle, should be free of such things. But no, the ongoing war between the Left and the Right has been fought on many levels, much of it on Social Media. Consequently, it's spawned a few posts ruminating on this phenomenon, such as The Misinformation Age, Shopify Stands Steady and more recently, James and the Giant Echo Chamber and A Storm Without A Cloud. Even posts that don't have anything to directly to do with US politics, have references to it peppered here and there. Everywhere I go, there's no escape from Trump, his critics and US politics. Even in tech forums, where I visit to obtain some illumination on code issues, there are the assclowns apologizing for having inflicted Trump on the world. It's bad enough that I have to contend with posts tirelessly raging about Trump or Clinton on my Facebook or Quora feed (thank God I don't have a Twitter account... yet) but on tech forums? Come on, you idiots. Find a safe space and park your buttery asses there. Don't bring that shit into tech!

Ironically, one of the pieces that got the most views was not about the US, but about Singapore. I'm not sure what made Singapore's cyber-defense initiative so interesting, but there you go. Coming a close second was No-show Nodevember, in which I provided my thoughts on Douglas Crockford's exclusion from Nodevember. Again, I'm not sure I understand why this particular piece would hold so much more interest to my readers. Food for thought, eh?

Reviews - This year was also a year of many firsts, at least where Reviews are concerned. The first ever Fiction Review. The first ever non-gaming App Review. The first multi-part review of any kind, namely a Fiction Review and Film Review of The Millennium Series. My repertoire is expanding!

In fact, this year has been pretty heavy on the reviews. Hope no one's complaining!

Web Tutorials - Compared to last year's offerings, this year's web tutorials are a lot less complex, and more varied in nature. Less of the HTML/CSS/JavaScript special effects jazz and more on other platforms, security, and so on. Because variety is the spice of life, and I do like to play with new stuff. It keeps things fun. Also, even the average web developer does not need to know only HTML/CSS and JavaScript. A whole lot of separate components goes into the building of a website or web application. And knowledge of these things, if not expertise, is key.

I like to think the quality of my JavaScript has improved somewhat. Not that most people would notice because traditionally, to my chagrin, web tutorials don't get as many eyeballs as the rest. I work pretty hard on those, dammit!

Miscellaneous content - A fluff piece I wrote on my friend's wedding in the Apple Store was an instant hit despite it basically being rehashed information from a variety of news sites. Other than that, it's mostly very technical stuff that keeps me riveted but bores the living shit out of everyone else.

Some stuff, like Cracking the QBasic Color Code, is not exactly current. I wrote that post ages ago, but never found the time to release it until now. That's also because I have a certain limit I like to observe in blog posts - maximum nine per month. And even that is pushing it. Sometimes tech news gets in the way, and takes priority. So that blog post kept getting pushed into my backlog until last month. Hey, it's not like anybody cares - it's QBasic!

One standout though, is this piece which I wrote last month, a few thoughts on my experience in Singapore Polytechnic. I didn't think it was all that impressive, but someone shared it and the hits started coming. At the time of this writing, it's my most-viewed blogpost to date. I kid you not.


All this writing is hard work.

General writing style

Call it fatigue, but I think the quality of my signature puns has deteriorated. Some days it feels like I'm trying just a little too hard.

I'm also trying to write fewer words. Communicate more with less. It's an ongoing struggle with me because I really tend to pile it on when trying to bring the point across.

Thankfully, my practice of publishing content at least a week after writing it, has worked favorably. There are times when I get carried away trying to present all sides of an issue, or adequately express how strongly I feel about any given issue, and the words chosen are less than ideal. Taking a week to review said content goes a long way in increasing the clarity of the message, reducing clutter and getting the focus just right. Hopefully, I've done better since last year.

That's it!

This concludes the year end report for TeochewThunder. See you again next October. There will be a break for the rest of this month, and posting will resume in November.

Word, yo.
T___T

Thursday, 17 November 2016

No-show Nodevember

Days from now, tech conference Nodevember will be held in Nashville, Tennessee on the 20th. In there, panelists will present the past, present and future of the JavaScript-based platform, NodeJS.



Having begun to work more extensively with JavaScript in the last couple years, I naturally took an interest in this particular development. And sadly, this conference will be notable for one significant absentee - Douglas Crockford.

A couple months back, the organizers of Nodevember announced on Twitter that Crockford had been uninvited to the seminar as keynote speaker. Their reason? As follows.

"While we have a tremendous respect for Mr. Crockford's abilities as a speaker and his contributions to our craft, we became aware that based on private feedback - not simply the dialogue on Twitter - that his presence would make some speakers uncomfortable to the point where they refused to attend or speak."


Now, there could be more to the picture than what was presented. We'll never know, and the organizers aren't telling.

What we can see, are little pieces of whatever picture that took place during Crockford's last presentation prior to the announcement. Apparently, Crockford had made quite a few people uncomfortable during his little talk on The Seif Project. Check out the video below.



At the 41:30 mark, he makes the following assertion
"So the old web was great because it provided promiscuity. It meant that you could go and connect to anything and you're probably going to be okay. You might get shocked and embarrassed but your machine's not going to get taken over, your identity is not going to get stolen. That hasn't always been true but pretty much the web can do that and that's good because that allows us to get introduced to things. We used to call it surfing. That you could go from one thing to another and discover stuff and start forming relationships. Unfortunately, the same thing which allows the promiscuity to work is very bad for dealing with commitment. So that's what the new web is for."

Soon, people were accusing him of slut-shaming the Internet and usage of sexist terminology. And this particular accusation on top of everything.

Say what?

Yep, apparently the word promiscuous was too harsh for some very easily offended souls in the audience. In a world now filled with trigger-free zones and political correctness, being outraged appears to be the in-thing now. And Nodevember will be all the poorer for it. While I wouldn't go to the extent of calling him "the Father of JS", Crockford has made significant contribution to JavaScript. I had read his book JavaScript: The Good Parts, and while his writing style was far from engaging, there was plenty to be learned, and it was presented in a manner I could absorb with relative comfort.

Thankfully, Crockford was not without his defenders. In an impassioned blogpost, Adam Morgan wrote, with very deliberate sarcasm:
"What a danger to our industry! Ignoring the complete over-reaction to these two comments a quick search of the word promiscuity on dictionary.com shows that Crockford actually used this word correctly."

He then went on to explain that Crockford had probaby meant "consisting of parts, elements, or individuals of different kinds brought together without order" instead of "characterized by or involving indiscriminate mingling or association, especially having sexual relations with a number of partners on a casual basis". I'm not exactly sure I agree. What version of the word promiscuous had Crockford actually intended? If it had been the second, then why did he follow up with "Unfortunately, the same thing which allows the promiscuity to work is very bad for dealing with commitment"? It certainly seems to hint very strongly at the latter definition.

But still. So what?

Crockford wasn't using a derogatory term on anyone. On your mothers, sisters or even your pet goldfish. If he was slut-shaming, he was slut-shaming the Internet - what amounts to a collection of separate entities made out of electrons and wires, and joined together by the seven OSI layers.

Go watch the video. Crockford's public speaking is even less engaging than his writing. The old dude's Boring with a capital B. Guy was wooden, straight-faced. Dead serious. He wasn't trying to be witty, or cracking a joke. (OK, maybe he was, but he was terrible at it) He was just trying to explain his point using a metaphor. Not a particularly clever one, I grant you. But offensive? Come on.

I guess it's true - people can be butthurt by anything these days. Stop being sensitive. Start being sensible, instead. Techies already have a negative reputation for being socially inept. We really don't need to add being whiny douchebags to that.

The YouTube video below sums it up pretty well. Score one for common sense, old chap.



More on Safe Spaces

In the wake of the 2016 USA Presidential Election, I came across this article about the shattered feelings of voters as Hillary Clinton was defeated at the ballot box by Donald Trump. Really, a "cry-in" to mourn the results of a fair and open election? Is that such a tragedy? Oh, I guess it is, because a man very few people (me included) have a high opinion of, won! And won fair and square, playing by the very rules the US of A have been applying for the past 200 years!

When I was done picking my jaw off the floor, there was another contender for WTF Moment of the Week. The article ended with a campus activities coordinator saying "I have no words". You and me both, lady.

There are probably more instances out there, and judging from this, perhaps I shouldn't have been that surprised about Nodevember's decision concerning Crockford.

What can I say? These Americans are crazy. Going by what's happened this election and what's happened with the upcoming Nodevember, USA is going down the rubbish chute. Not because of Donald fucking Trump, but because this generation of people appear to be crafted from very fragile snowflakes.

The End?

Kevin Old, one of the former organizers of Nodevember, must have realized how ridiculous this entire affair was, because he put this statement up. I guess, better late than never, eh?

What a load of Crock!
T___T