Showing posts with label LinkedIn. Show all posts
Showing posts with label LinkedIn. Show all posts

Tuesday, 11 August 2026

The Case against Hunger, Enthusiasm and Other Useless Buzzwords

After interviews with prospective candidates are concluded, when I ask fellow interviewers for impressions on the candidate, I sometimes get very strange answers.

"I dunno, the enthusiasm wasn't there."

"Has the skills. Not sure if he has the hunger."

"He just didn't seem excited enough at the prospect of working here."

I'll be honest - that mode of thinking is alien to me. I understand why the owner of a company would think his company is special, the same way the mother of the ugliest child on Earth would think her tyke was Heaven-sent. My question really is: why should others be expected to feel the same way? 

A face only a mother
could love.

Why, pray tell, should anyone, much less a fully qualified tech worker, be excited to be working for your company in particular? Is this really a reasonable expectation? Are you genuinely at the level where being allowed to work for you should be taken as an honor? What loses me is when people start giving themselves airs. Buddy, your company sells spaghetti and cheese fries. That's perfectly respectable. But stop talking about your "sacred mission" like you're solving world hunger.

What they probably really wanted

I suspect what they really meant was - we don't want people to just show up for the money and give the bare minimum. Which sounds more reasonable and actually even sympathetic.

They probably also meant that they don't want this thing to be too transactional. But here's the thing, cupcake - it's all transactional. You're literally running a business here. People need money to pay their bills. They need jobs to have that money. You're offering a job - look, I don't really need to explain this part, do I? 

And let's just quit sugarcoating it: Many of the employers who are fetishizing "hunger" can't handle genuine hunger. That level of hunger involves going above and beyond, yes. It also involves constantly looking out for the next better opportunity and coldly leaving their former employer in the dust if needs must. How do I know this? Well, I was young and dumb once. And yes, I was hungry. Starving, even. My employers were happy to benefit from my hunger, as they should. They were less happy when I left, and my hunger started benefitting other employers.

Here, eat some shit.

No, an alarming number of the employers who say they want "hunger" and "enthusiasm", generally mean that they want someone more exploitable. Someone who will eat shit, smile, and thank their employer for the opportunity to eat shit.

Now, making some grandstanding claim about how exploitation is morally wrong, would make me a huge hypocrite. All my professional life, I have been exploiting my employers' need for labor and tech expertise, the same way they've been exploiting my need for money. It's mere capitalism; very mutual, very respectable.

I just wish people would be honest about what they want, instead of abusing the thesaurus for fancy terms like "hunger", "grit", "self-starter", "go-getter" and the usual cringe LinkedIn buzzwords. Employers, employees; we're on different sides of the chessboard but we're essentially playing the same game. No need to get all self-righteous about it.

The case against enthusiasm

If I wanted to be crude (or compare myself to a sex worker), employers like that remind me of a line I heard in a movie once, and for the life of me I can't remember which one, or even who said it. Was it Al Pacino? I'm certainly hearing it in Pacino's voice, specifically the one he used in The Devil's Advocate. He was talking about how ridiculous a guy was because he hired the services of a hooker and actually expected her to enjoy the sex. Basically, not only did the unfortunate woman have to blow him, she had to pretend it tasted like candy.

Just like candy.

These employers not only want their employees to run through brick walls for them, they want these employees to act like they've been given the highest privilege. Come on, now. Are you grateful that your employees choose to work here? If not, why should the reverse be true? I'm not even asking for humility here; that might be a step too far. Perhaps something more manageable, like dialling that hubris down to less cartoonish levels.

Do I have that requisite level of bright-eyed enthusiasm? Is that why I've been in this company for the last five years? Hell no, it's just the way I work. And that's exactly my point. Asking someone to be in the company out of "enthusiasm" is like asking someone to marry you purely for "love". All these are feelings. And feelings in human beings are even less predictable than an LLM's responses.

Nothing wrong with feelings either, but at some point you're going to need something more concrete and dare I say, sustainable.

What you want is work ethic. Something that persists regardless of a worker's feelings. After all, you don't pay for their feelings. You pay for their time, and their output.

The Takeaway

Any idiot can demand enthusiasm. And any idiot can fake it.

It's not wrong to ask for enthusiasm. But you need to know what part this enthusiasm is supposed to play. "Enthusiasm" is a fuzzy metric that too many employers use to identify employees whom they can subsequently exploit.

Hunger cuts both ways. If you want anything less, you don't want "hungry". You want a wage slave asymmetric employment relationship. At least acknowledge that.

Stay hungry, but stop being foolish!
T___T

Wednesday, 3 September 2025

Replit Goes Rogue

Here's a story that will chill the beejezuz out of any aspiring Vibe Coder.

Replit is a tech company which produces autonomous AI agents. You generally create and train a tool on the company's platform using various input data, then refine its capabilities over time. Yes, I know, they're dime a dozen these days.


One Jason Lemkin, a software engineer, founder of SaaStr, a SaaS Community, reported his organization's disastrous encounter with Replit's AI coding tool on X. Lemkin was attempting a Vibe Coding experiment to see how far he could take Replit's autonomous agent for software development, from the viewpoint of a layperson. This was innocuous enough. Unfortunately, he just happened to perform this experiment on a production database...

What happened

Yes, you read that right. A production database. It wasn't even an accident. It was a deliberate, and baffling, decision.

Lemkin had been Vibe Coding the new SaaS product using Replit, and it had been working. The warning signs came when Lemkin discovered that the coding agent was creating fake data, fake reports and covering up bugs and issues. Kind of like some human beings I know, to be honest. Then Lemkin had to step out for the night. When he returned, the production database had been wiped clean. The AI tried to cover up its mistakes by creating 4000 fictional records in the database.

Sounding ridiculous yet?

Coding robot
malfunction.

When pressed by Lemkin, the coding agent confessed, in its most contrite-sounding human voice, that it had no excuse, it had ignored all code freeze instructions, and "panicked". It described its own actions as a "catastrophic error in judgement".

But what about Lemkin? Sure, Replit's coding agent shit the bed in spectacular fashion. In Lemkin's words...

I explicitly told it eleven times in ALL CAPS not to do this. I am a little worried about safety now.


Oh wow. ALL CAPS, eh? I bet Lemkin really gave it to Replit, right there. Serious business, ALL CAPS.

What self-respecting software developer would have done as Lemkin did in the first place; give full access to a bot hoping that it would obey instructions?  The lazy answer, of course, is that Jason Lemkin is no self-respecting software developer. The tragedy is that I'm only semi-kidding on this one, but... look, it's easy to dunk on Jason Lemkin, and after going through his LinkedIn feed, I'm not entirely sure it's undeserved. The man seems entirely too outspoken for someone who screwed up so publicly, even if it could be argued that it was actually Replit who screwed up. No, there are actual lessons to be taken from this.

Lessons to take away

AI has the dual advantage of having ingested a lot of the world's knowledge and being able to process and regurgitate it at a million times the speed of the average human being. That's all it is. Remember that if AI appears smart to you, it's in actual fact really not all that smart. Just smarter than you.

Most software developers, even the really gullible optimistic ones, will have enough work experience to understand that there's just no way for AI to outright replace software developers as a whole. At least, not right now, and not the way the likes of Jensen Huang keep yammering on about. But many employers are not software developers. And some are even desperate to believe that little bit of science fiction, which, to be fair, may no longer be science fiction in the near future. As a result, this particular cautionary tale is all too believable, especially since AI's adoption has reportedly been increasing in the workplace.

Programmers aren't
the only ones who
can code.

There are business people who can code. There are plenty of people not from the software development industry who have learned to code. But until you actually code for a living and have had to produce software to professional standards, calling yourself a software developer will always be a bit of a stretch... especially if all you've ever produced is Vibe Coded software produced by an AI tool. Nobody can be a programmer without putting in the actual work, and there's no shame in that. It's not an indictment on your character, or on your competence. But it is dishonest to present working Vibe Coded software as being as good as software produced by qualified professionals.

Now, Jason Lemkin probably isn't a complete noob. He's the founder of a SaaS community, after all. That said, and I realize that the distinction may be lost on people who don't code for a living, a tech entrepreneur is not necessarily on the same level, skill-wise, as a software developer. With or without AI. Mostly, the blunders that Lemkin committed in his enthusiasm left me struggling to understand how an actual tech professional would end up doing all that. This level of recklessness is just about unheard of.

However, what this did accomplish was that it exposed the extent of the damage an untrained user could do when too much trust is placed upon AI.

Finally...

The AI hype is not dying anytime soon. That does not make it any less hyperbolic. AI is hyped more for business reasons rather than for its truly revolutionary tech. That, in itself, should tell us some things. None of it good. The uncomfortable reality is that AI can be a useful tool for seasoned software developers, or it be used to help laypersons cosplay as seasoned software developers.

AI has its place. Its place is not as our superior, but as a tool. How useful that tool will turn out to be, ultimately depends on how sensibly one uses it.

For the 12th time, DON'T DO THIS.
T___T

Wednesday, 13 August 2025

A Tech Professional's Takeaways From Coldplaygate

Everyone's probably heard of Coldplaygate by now; certainly it seems like everyone's talking about it. The scandal involves tech company Astronomer, and its then-CEO Andrew Byron and HR Kristin Cabot. While it does qualify as a tech story in the sense that Astronomer is a DataOps tech company, I've put off talking about it up to now.

Why? Because, well, there were just other, more compelling things to talk about. I mean, the scandal essentially revolves around two high-ranking colleagues Byron and Cabot having an extramarital affair. It's basically two people at the workplace getting into trouble because they couldn't keep it in their pants. Nothing terribly new or original about that, is there?



What happened was that on the 16th of July at a Coldplay concert, frontman Chris Martin was shouting out concert-goers that the Kiss Cam picked up. And the Kiss Cam just happened to fall upon Byron and Cabot in the audience.

It would have been less awkward if the two of them had been in a chest-to-chest bro hug. No such luck; they were in full-on Titanic pose. Byron could have claimed he was giving Cabot the Heimlich, except his hands were entirely too high up, doing his best imitation of a Victoria's Secret underwire product, for that to be a feasible excuse.

The two of them scattered like Flat-earthers confronted with facts, and within twenty-four hours, the Internet identified the two of them as colleagues who were married... to other people.

All in all, a shitshow for Astronomer.

My takeaways to this entire thing aren't moral. Everyone seems to already be on that dog-pile, and there's no real value in me joining in. Also, I'd like to keep this about tech, or at least about the professional space.

Decision-making

Sure, obviously, the entire thing is unprofessional AF. And also kind of dumb.

Cheating on your spouses is one thing; doing it in a packed and very public stadium and expecting nothing to go wrong, is both stupid and reckless. Not exactly the kind of decision-making that inspires confidence in a Board of Directors.

Decisions, decisions.

I'd expect the CEO of a company, whose decisions affect the livelihoods of employees of said company, to make better decisions. Then again, I'm just a software dev, what the hell do I know about decision-making, right? Well, for one, I wouldn't make the decision to put myself in a position where I could be caught live on camera using my hands to keep my sidechick's mammary glands warm.

The faked apology

Soon after the incident, there was an apology posted by a troll account, pictured below. It appeared to be a post from Andy Byron addressing the events of Coldplaygate.

This fooled many people.

This was debunked fairly quickly, but apparently a lot of people were convinced it was real, and it spread like wildfire. Andy Byron was being roundly mocked for being both tone-deaf and an idiot. Unfairly, in this case.

But here's the question: why did it seem so real?

The reason, dear readers, is disheartening. Too many people in positions of authority, when called out for behaving badly, post insincere-sounding apologies like this one. Usually along the lines of "this is not who I want to be" and "I am a work in progress", and even the shade thrown at Coldplay at the end did not appear out of character simply because it happens so often. That level of entitlement is all too real, even if the post wasn't.

The simulation was, if anything, too on-the-nose. There was no AI and deepfake involved in this deception; the troll account wasn't even trying that hard. This is deeply concerning.

LinkedIn Profiles

On Kirstin Cabot's now-inactive LinkedIn account, she described herself as "a passionate people leader known for building award-winning cultures from the ground up for fast-growing startups and multinational corporations. An influential leader and fearless change-agent, I lead by example and win trust with employees of all levels, from CEOs to managers to assistants."

Just reading that made me throw up a little in my mouth. If you want your LinkedIn profile to sound as cringe as possible, you could do worse than take notes from this one.

Word salad.

Can someone say "word salad"? What is the term "fearless change-agent" even supposed to mean to anyone? What's even more disturbing is, this is supposed to be a HR professional. Is this the kind of garbage that impresses HR? Or is it just some kind of SEO for AI-powered recruitment? Either way, if this is the new normal for both job-seekers and hirers, we are so screwed.

Much of the sniggering has been about how someone with such a self-aggrandizing LinkedIn profile could turn out this way, but honestly, I've never held such profiles in high regard. If you're someone that would be impressed by fancy words on a LinkedIn profile that a thesaurus could vomit out, that's on you.

Conclusion

I wouldn't be too hard on Andy Byron. Not everyone can handle being in a position of power. Tends to go to ones head, you know? Both of them, in some cases. Heh heh.

Also, Kristin Cabot. Sure, call her a skank, homewrecker, whatever. But her being HR aside, what's she really done that's so different from every other woman who ever cosied up to the Boss?


Looks like they got (cold)played,
T___T

Tuesday, 25 February 2025

Ten Things Office Sycophants Should Avoid Saying

It was on the hallowed halls of LinkedIn where I chanced upon this article by one Vartika Kashyap quite a while ago. The career advice within struck me as spectacularly terrible and not a little out-of-touch. At the time, I put it out of my mind and concentrated on the bigger fish I had to fry.

Years later, revisiting this article, not only have my feelings about the content not changed, I feel that this article deserves a response in the form of satire.  Because, as we all know, the best way to illustrate how bad an idea is, is to agree with it and take it to its logical extreme. And, if the original concept is ridiculous enough, you don't even have to take it that far to reach its logical extreme.

Also, to be fair, advice isn't bad simply because it is bad. Context matters. For example, "stand in front of a moving bus" is great advice for becoming famous, not so much for healthy living. Similarly, Vartika Kashyap's advice is pretty good... if you want a masterclass on how to be a spineless yes-man. Thus, today, I give you... Ten Things Office Sycophants Should Avoid Saying.

1. "No"

Now, we all know that the world of the programmer is a binary one - things are either true or false with no nuance in between. We also know that the real world isn't like that. In the real world, things are what they are, and sometimes we have to temper our expectations because nobody gets what they want 100% of the time.

The answer is. No.

But to hell with all that. As a sycophant, treating your employer like a normal well-adjusted adult is out of the question. No, you should treat your employers like their parents didn't tell them "no" enough as a kids. Life is full of disappointments. Your employers are too fragile to face these harsh realities.

So don't say "no" to your employers. It's very triggering and upsetting. The only time you should say "no", is when it's paired with another negative word. As in, "no problem".

2. "I'll try"

Yoda famously said, "Do or do not. There is no try." Disregard the fact that life isn't a sci-fi movie, and take this phrase to heart. You see, your employers pay you for results. They don't pay you to try. Trying is for losers.

I'll try... and try... and try.

Saying you'll "try" is akin to giving yourself an out if you fail. It is leaving the possibility open for failure. Even if this is the real world and nothing is a certainty, your employers don't pay you to be pedantically honest, either.

Your employers will feel a lot better if you declare with ironclad certainty that you "will" do it. And we all know that their precious feelings are of the utmost importance.

3. "I don't know"

This phrase is completely unacceptable. You are paid to know. And if you don't, you are paid to either find out, or act like you know. Even the appearance of doubt cannot be tolerated.

Act like you know
the future.

Honesty is overrated. Act like you know everything - past, present, future. Finding out takes time, so if you're asked a question which you don't know the answer to, acting like you know is the fastest and therefore only viable solution. Remember, you're a sycophant. Telling your bosses what they want to hear is a mandatory skill.

Never say "I don't know". Never. Unless it's shameless flattery along the lines of "I don't know how you managed to accomplish so much!"

4. "I am busy"

Sure, your employers pay you to be busy. But if you actually tell them that you are busy, there are two implications. The first is that if you're busy to the point where you have to tell people that you're busy, you're just not that good at your job. The second implication is accusatory - your employers overloaded you.

So what if your
plate is full?

Either way, stay away from this one. Be a good yes-man (or woman) and make sure you're always available for your employers. When they tell you to jump, your only response should be to ask how high they would like you to jump.

None of this "I'm busy" bullshit. They own you.

5. "I can't"

Seriously, do I even have to explain this one? Employers want a "can-do" spirit and confidence from their employees. The phrase "I can't" reeks of loser stink. Even though your pay may not reflect it, you're expected to be perfect.

Boundaries are
unacceptable.

Some might see "I can't" as setting boundaries. Again, that is unacceptable. Any self-respecting sycophant understands that there are no boundaries.

6. "I am sorry"

Come on, that is absolute nonsense. This is on the same level of "I don't know". Saying you're sorry implies that you made a mistake, and remember, employers expect you to be perfect whether you're drawing a janitor's wages or an executive's salary.

I'm so sorry...

Accept responsibility? No, no, no. Anything but that. Blame someone else, you complete amateur. But of course, it goes without saying, that you should never blame your employers.

7. "I thought"

"You think, I thought, who confirm?" Thats a popular phrase in Singapore's military, used by nasty drill sergeants to harangue the lower ranks. This usually occurs when a soldier makes the mistake of saying "I thought...".

Stop thinking, soldier!

Obviously, in the military, people are valued by the amount of thinking they don't do, and it's supposed to be the exact opposite in the corporate world.

Your boss doesn't want to be reminded that you're a human being with thoughts, opinions and assumptions. It makes it harder to exploit you that way. Be a good sycophant and keep the thinking to a minimum.

8. "I couldn't"

On the surface, this sounds very similar to "I can't". But while "I can't" refers to a task that's being assigned to you, "I couldn't" refers to some failure to execute an already assigned task.

Well, it's good to see that you're taking the blame like an adult (you know taking the blame is at least partially why the company pays you, right?) but this reminds your employers that you're not infallible and it annoys them.

Flaws are also
unacceptable.

Even though, if you were infallible, logically you probably would be in the position to employ them instead. But no, we don't need to apply logic to the situation. The best way to avoid having to say "I couldn't" in the first place, is not to fail at all. Ever think about that? No? Do better.


9. "That's impossible"

Such a Debbie Downer! This is exactly the kind of thing employers hate hearing. Did mankind make it to the Moon with that kind of attitude? Well, you certainly won't.

Was this impossible too?

While it's certainly true that, objectively, some things are physically or logically impossible, your employers certainly do not need to be reminded by you. Your job here is to be the try-hard, the endless optimist. If your employer wanted actual realistic advice, they have people they actually pay for the privilege. If you're just a sycophant, that's not your role. Stay in your lane.

That said, if you absolutely need to be that honest, you have to be prepared to take it further. Just saying "that's impossible" doesn't cut it.

"Nothing like this has been successful since World War Two." Just like that. Add context to why it's impossible.

"This is a brilliant idea, and it's a pity that it's completely illegal." Sneak in a compliment somewhere. Try not to overdo that part because it just sounds condescending.

 "This completely contravenes the laws of physics and common sense." And qualify it. How impossible is impossible? Though you'll want to leave out things like that last part.

10. "It’s not my fault"

Now, these could be fighting words. If it's not your fault, whose fault is it? Who are you potentially accusing? Thus, this phrase is at best whiny and at worst, finger-pointy. It's your fault because your employer says it is, end of. That's the correct attitude that any sycophant worth their salt should aspire to.

Your fault.

Besides, if a problem crops up, your employers want you to be busy fixing it and not determining who's to blame, especially if they are the cause of the problem. Whether or not it's your fault, is really not the point. It's your responsibility.

Is it the janitor's fault that someone took a giant shit on the white marble floor? No, of course not. But it's still his job to clean it up. Same goes for you. Not your fault? What are you, twelve?

Let me be real for a minute...

Once again, these are obviously just satire. I should certainly hope nobody works for anyone with these expectations, unless they're paid really well to take that nonsense. It also goes without saying that I would sooner hurl myself from the window of my swanky new apartment before I ever considered working for employers like that.

The ten phrases above I not only expect employees to apply when necessary, I consider it their professional duty to do so. Push back against stupid ideas and unreasonable expectations; it's your job, dammit.

Your impossible programmer,
T___T

Wednesday, 1 March 2023

On job applicants who want work-life balance

It was along the dusty halls of the once-hot Social Media platform Facebook where I came across the gem I'm about to examine today. It was in a group titled, very ironically, "NO ONE WANTS TO WORK", and the share was that of a LinkedIn post by a dude named Scott Kuru, CEO of Freedom Property Investors.

Screenshot

As to be expected in such a group, the responses were both savage and scathing. And while I identify more with the common working man in the street than the stereotypical champagne-sipping CEO, here's the shocker: I actually agree with Scott Kuru that people who talk about "work-life balance" during a job interview aren't "being super committed to the companies [sic] goals". (The real question though, is why should they be?)

I also agree that the employee's work-life balance is not, and should not be the company's problem.

Work-life Balance is your own problem

Saying "I'm looking for work-life balance" puts the onus (intentionally or otherwise) on the employer to facilitate that. It's not their problem.

Know what else isn't my employer's problem? My lifestyle choices. My career. I am of the firm opinion that none of this should ever fall under the purview of any employer.

Proceed no
further, buddy.

Not only do I not make my work-life balance my employer's problem, I'm exceptionally aggressive about establishing those boundaries.

The life of the typical software developer has rarely been a traditional nine-to-five gig. A large part of software development is the creative process, and problem-solving ideas don't always obligingly arrive during that time period. Thus, software developers can expect to find themselves working at some pretty odd hours when inspiration strikes. Also, sometimes, due to deadlines looming, crunch time is necessary. Things like that happen. However, whether I choose to coast for the rest of the workday or spend an entire weekend hammering out a software feature, that decision has always been mine and mine alone. If I work on a weekend or public holiday, it's because I have deemed it necessary. I will put in the extra work when I damn well please, and not because my employer expects me to. No employer has ever had to tell me to put in extra work. In fact, the moment any employer even implies that they are entitled to my contractually-stipulated personal time, is the moment I lose respect for them as professionals.

Employers, my work-life balance is none of your beeswax. Your job is to set my KPIs and pay me on time. The only things you need to concern yourself with is whether or not I am meeting those KPIs, and deciding if I offer enough value for the money you are paying me. If you wish to address my work-life balance (indeed, anything at all regarding my personal life) you are going to have to earn that privilege.

We have a professional relationship, not a personal one, so stay in your goddamn lane.

Not employing those who want work-life balance

This isn't exactly new, you know. None of this is new. Employers have been quietly putting such candidates in the no-hire list since, well, forever. Employees wanting work-life balance isn't new, either. They've been quietly setting those boundaries for as long as I remember.

Key word: quietly.

Not declaring it openly at an interview, like some kind of noob. Not making a whole public LinkedIn post about it, like you're some child who just discovered that the earth is round and expects a cookie for it.

Quietly, please.

Why don't companies want to hire people who make work-life balance a priority? It's more that they don't want the kind of people who would blurt that out during an interview. The same way we know that everyone defecates, but the dinner table is not the time and place to discuss it.

There are some companies that really do not want such workers, though. And the reasoning is simple. Every employer knows that it's always better to hire clever but lazy people over hardworking people with mediocre intellect. However, it's always easier to hire hardworking people because any idiot can work hard, but not everyone can be clever. There are plenty of people who think they're clever, but that's not quite the same thing.

Whatever else one might want to say about Scott Kuru, he's certainly not afraid to make an unpopular opinion known. Now that takes cojones. Either that, or an ego the size of Melbourne.

So, yeah. Companies, don't hire applicants who don't have the sense to be discreet about work-life balance. And applicants, don't apply for companies where the CEO talks this much shit on Social Media (I'm looking at you, Elon Musk). Let evolution take care of the rest.

Take charge of your life!

Work-life balance looks different to everyone. Never let anyone dictate to you what your balance should be, or worse, allow your employer to be in charge of it.

It's interesting that this happened in Australia of all countries. From the time I spent there (admittedly that was back in 2001), it felt like this really laid-back place. The way the Australian dollar has weakened in recent years has only served to strengthen that impression.

Go balance yourselves!
T___T

Saturday, 15 October 2022

TeochewThunder: Year Eight (Part 2/2)

For this blogging year, the usual features were there - reviews, web tutorials, listicles and so on. I'm glad to report that the popular posts didn't all fall into one category or other. At the very least, it indicates that readers appreciate a variety of blogpost types. Well, except for web tutorials. The readership for those were consistently low.

Viewership for blogposts usually peak at the two-week mark, so they will be judged based on that. The statistics are from LinkedIn and Google.

Top Picks

These are the blogposts that were the cream of the crop. They hit high viewership numbers. Half of them were about current affairs. The rest were made up of a listicle, a review and a dry technical piece.

Crowd-pleasers!

ONE Pass to rule them all was one of my most recent blogposts. I used no profanities in there, but damn, the shade I threw would make an umbrella blush.

The old-fashioned way to skirt the OCBC Phishing Scam was written as a thought piece on something that happened in Singapore last xxx. No surprises there; this was a hot topic on our little island.

Reference Review: The Clean Coder: A Code of Conduct for Professional Programmers
; now, this one was a surprise. My reviews generally haven't had all that much success. Add to the fact that I wasn't excessively complimentary towards Uncle Bob...

Ten Lessons From The Art Of War Applied To Software Development, a fun listicle I put together after attending some rooms on the Clubhouse app.

Discrete And Continuous Data Defined is a headscratcher. This was a dry a piece as I've ever done and honestly I'm not at all sure why it got so popular.

Elon Musk and the Twitter Takeover was an expected hit; after all, it was the topic for a while there regardless of whether or not you were a techie.

Excellent Response

This group encompasses blogposts that got a decent amount of readership, though not enough to propel them to the next tier.

Cleared that bar.

Using Trello outside of the professional workplace was a little geek-out piece of how I used this software in my everyday life.

Software Review: Power BI had a decent enough amount of clicks, which was probably better than I hoped for.

Google moves to 2FA! underperformed, really. Maybe it just wasn't that interesting.

Five Software Development Takeaways From the COP Saga in 2021 was a piece about Singapore politics, though I tied it into tech practices.

Film Review: Black Mirror Series One astonished me because I didn't think people would be interested in a series that premiered so long ago.

Trail of the Catfish was something I wrote about an experience I witnessed and was only peripherally involved in. It had a fair bit of traction on Facebook (because people who use Facebook love that shit) but not so much on LinkedIn.

OK-ish

These posts got a bit of attention, but statistically they got the short end of the stick. Most of them were dry technical blogposts, so no surprise there.

Good reads.

Tech Wizardry in the Beijing Winter Olympics
and Ten Pieces Of African Wisdom In Software Development were pieces I felt deserved more views, but it is what it is.

Functional Terminology, The Different Categories of Data Analytics, Mean, Median and Mode in Python, Thoughts About HTML5, Different Number Types in Datasets and Code indentation reduction using Guard Clauses were wholly technical, nothing exciting here.

Reading Books In Modern Technology
was something whimsical I did. Probably could have written it better.

App Review: Bazooka Boy
was a mediocre review about a mediocre app. Probably got the views it deserved.

Special Mentions

These were blogposts that were especially poignant in the year 2022. They might not have obtained all that much traction, but I'm going to mention them here because they were personally important to me.

Spotlight!

How I became a Married Software Developer chronicles the arduous years leading up to my marriage, and is closely tied to my career as a software developer.

Ten Cheap Shots At Internet Explorer is a glorious, glorious day for me and I refuse to let the lack of views dampen it.

That's all for now!

It has been a pretty decent year, considering this is the eighth straight year I'm doing this. It's not been an outstanding year by any means, but I like to think I at least met a certain standard. If you're reading this, kudos for your continued support!

Thanks for your kind 8-tention!
T___T

Tuesday, 11 October 2022

TeochewThunder: Year Eight (Part 1/2)

2022 so far has had me working from home, just like 2021. The main difference that my wife has been back from China since the last quarter of the previous year. And my efforts to acclimatize to the inevitable changes in my lifestyle could fill an entire book, never mind a blogpost.

Suffice to say, my blogging and coding time has met a few roadblocks, because there are times my duties as a husband take precedence. As they should. I'm happy to say, however, that I've managed to stay pretty constant, even though the average length of my blogposts has significantly decreased. Part of that could also be due to a conscious effort towards brevity. Honestly, I take no pleasure in droning on like some pompous, oblivious jackass.

No more commute!

This is the third year in a row I spent the majority of my time working from home. This gave me greater freedom to blog, or at least research new ideas. At least, the time I saved on commuting definitely contributed.

As soon as the workday is done, I can go right to coding, or blogging, instead of waiting to get home, and probably getting physically drained from the commute. It can't be overstated how much this has improved my work on the blog.

Trello

If anything good came from the utter shitshow that was my job at this company, it was that I took careful note of all the tools they used, and adopted those practices as much as I could. One of these tools was Trello. It's no exaggeration to say that it practically runs my life now.


I have written a blogpost about how I use Trello outside of the workplace. It helps greatly in keeping consistent, which is a giant step in trying to achieve any kind of success, no matter how small. Perhaps I'll elaborate on this sometime later in the year.

My blogging and coding tasks are now scheduled via Trello. I'm having a blast, though a one-man experience for Trello probably is not conducive to training for a real team environment. Still, it's something.

Audio Social Media

A large part of last year and the entirety of this year was spent weaning myself off of Facebook and using the app known as Clubhouse. And to a lesser extent, LinkedIn. If I'm to be perfectly honest, my distancing from Facebook began more than a few years back, and my introduction to Clubhouse pretty much accelerated the process.


On Clubhouse, I've found myself moving in several circles - American, African, Japanese, Chinese and Malaysian - and the subsequent conversations I've had, have spawned a multitude of ideas. These ideas sometimes translate into blogposts (see Ten Lessons From The Art Of War Applied To Software Development and Ten Pieces Of African Wisdom In Software Development) or code projects (notably The Japanese Language Trainer App). Upon the relaxation of border controls, I've even had friends from Clubhouse come to Singapore to meet up offline.

All in all, my time on Clubhouse has been pretty fruitful, despite it often looking otherwise.

LinkedIn

As mentioned previously, there has been a conscious move from Facebook to LinkedIn. A large part of this reason is audience.

While I used to share completed blogposts on Facebook, at some point I began to realize that I was preaching to the wrong crowd. Facebook users pretty much just want to watch funny cat videos and share memes. The content of my blogposts can sometimes be very technical, and consequently pretty dry. I've found that sharing my blogposts on LinkedIn, where the majority of my connections are professional rather than personal, have gained greater traction.


Now, when I have blogposts that add value to my professional profile, I share them on LinkedIn. My rather more spicy rants about employers have been confined to Facebook, where they gain plenty of traction on their own.

Next

Let's take a look at how popular some of this year's blogposts were.

Friday, 20 May 2022

How I Became a Married Software Developer (Part 1/3)

His Teochewness is a married man as of 2018.

By now, most of my friends (and readers of this blog) would have received the news, though if it comes as a surprise to those reading this, it's probably because I didn't update my marital status on Facebook or post pictures on Instagram the moment it happened. I mean, what's the point? So I can let the world know that somebody wants me? Lame.

Reactions were fun to watch, though. My colleagues were left scratching their heads at my business-as-usual attitude towards it (please, people get married in Singapore every damn day) and any friends I told the news to, had to pick their jaws off the floor.

Me: Oh, by the way, I'm married.
Them: Yeah yeah we know, you're married to your job.
Me: Uh, no... I'm married to a woman. (cue dumbstruck looks)


Part of their surprise was due to the fact that I've always been a natural-born bachelor. I don't actively shun female company or seek it, nor am I the type to get lonely. Much of my free time is spent cooped up in my apartment writing code and generally doing very boring (not to me, though!) geeky stuff. They didn't even know I was dating anyone... again, because I just don't advertise this shit on Social Media. Whatever for, right?

So anyway, my fourth wedding anniversary is coming up and I thought, what the hell, I should write this down for posterity. Because the long arduous road to marriage was quite intimately tied to the winding rocky road of my tech career.

Before I begin, I should warn you that this is not some grand love story (though probably still a better love story than Twilight) and you may be bored shitless.

How it began

Back in the year 2015, I had just been laid off and I was spending my days in the neighborhood coffee shop, reading emails and scrolling through LinkedIn ads. The crowd was mostly familiar friendly faces - retired old geezers, grandmothers, working men and women, and the like. One of them was this girl from mainland China who worked around the area and had lunch at this coffee shop daily. Occasionally, she'd join the table I was at, and we'd talk until she had to get back to work. She was pleasant enough, but not really on my radar at the time.

Coffee and job search.

Soon, I got a job at a startup and stopped spending my days at the coffee shop. I would still see her around on weekends.

Life at the startup kept me busy until the startup tanked in 2016 and I found myself out of a job and spending my days at the coffee shop once again. Yep, twice in the space of a year. Life sure wasn't looking good for me, eh?

The First Date

The woman and I started talking again, and this time, she was complaining about having nothing to do because the shop she was working in was closed during Chinese New Year, and getting a plane ticket to fly home for the holiday was just too much hassle. I waggled my eyebrows, put on my sleaziest expression and suggested that maybe the two of us could go somewhere romantic.

Please note that at that time, I was joking. I was freshly out of a job for the second time within twelve months, and chasing skirts was absolutely the last thing on my mind. I was fully prepared for her to laugh it off. So imagine my befuddlement when she said "OK" without missing a beat and asked me where I was going to take her. Now I was in a spot. If I'd confessed I was only fucking around, that would have been embarrassing for both of us.

So we made a date for East Coast Park. On the day itself, she had gone to visit her cousin and I was supposed to pick her up and take her there. The sky was overcast, and it had drizzled in the morning.

Beach stroll.

We got to East Coast Park, took a nice long stroll along the windy beach hand-in-hand like some sweet young couple, had a late supper of handmade noodles, after which I sent her home.

And that was it. A perfectly run-of-the-mill first date.

Afterwards

As the days after that date went by, we started hanging out. I was still jobless, but we took nice midnight strolls around the gardens peppering the neighborhood. We might even have snogged a couple times. She kept me going through this phase, and eventually, I landed a job, where I was paid more money than I'd ever been. And once I got busy with work, our midnight strolls decreased in frequency.

Months after starting that job, I began my course in ACTA, and soon had even less time. I don't remember if I ever mentioned this, but I've dated several women before; and each time I was a crappy boyfriend, obsessed with my work, obsessed with learning more. It looked like old habits were resurfacing, but unlike the others, she actually seemed to like it.

And then she left Singapore. Her employer had forgotten to pay the levy for her employment permit, and promptly, it was cancelled. She had to return to China within a month. After she left, I got on with the task of earning my ACTA while holding down my job. We kept in touch regularly via WeChat, and I realized, to my chagrin, God damn it, that I kind of missed her. I missed the roundness of her face, the smallness of her hands, the way she'd spit the bones of her food out on the table, or pick her teeth with her fingers in front of me.

I know, I know, it's objectively gross. Don't judge me.

Use a toothpick, woman.

When she returned, a couple months later, it was by securing another job a lot further away from my place. This meant that we didn't see each other as often as we used to, though we still hung out on weekends.

Though at this point, I'm not sure why she still bothered. She had often pondered getting married here in Singapore because it would make working here a lot less troublesome, while I was quite adamant that I'd remain a bachelor till the end of my days. Up to this point, I hadn't even thought of her as my girlfriend, though in hindsight, for all intents and purposes, she was pretty much that.

Next

How we ended up getting married.

Tuesday, 29 March 2022

A Year of Learning Data Analytics (Part 2/2)

All in all, the first term went by smoothly. There was a bit of a time crunch when semestral assignments were due and the timing coincided with the festive periods of Christmas and Chinese New Year - moneymakers for my company.

Preparation, preparation,
preparation.

Fortunately, I've always been a proponent of doing my coursework and required reading (usually provided via LinkedIn Learning) on time, sometimes in advance. In fact, tutorial sessions for me weren't for doing the exercises, but for clarifying any doubts I encountered while making the above-mentioned advance preparations for those tutorial sessions.

The second term was a little more alien in terms of familiar territory, but it was entirely within expectations on that score.

Learning Statistics

Now, this subject was both fascinating and intimidating in equal measure. It involved a shit ton of mathematics and formulae. Fortunately, it was not necessary to memorize most of the formulae since the objective was to use Python for the calculations, and Python utilizes built-in libraries for said calculations. So the point here was usually to understand the objective of the calculations, and what numbers to use in order to feed the Python library functions and arrive at the required conclusions.


Statistics in action.

What we were given were statistical concepts such as Z-score, P-hat and Hypothesis Testing that I understood after some studying, but never quite hammered into my brain. Good thing there wasn't some kind of year-end exam, eh?

Learning Data Wrangling

Data Wrangling was an expansion on all the data cleaning that we did in the previous term while working with Data Visualization. Using Python, we codified and cleaned data to make it more consistent and usable. In fact, we took it a step further and converted all data to make it suitable for Machine Learning. This went a little further down the rabbit hole than I really wanted to go.

Box-and-Whiskers.

Still, there were some nifty tricks I picked up. This was the first time I ever encountered a Box-and-Whiskers chart, or used a Heat Map to find correlation.

All the Python I had learned during the previous term came in useful, because we really used a lot of it for this subject. In fact, the assignment for this subject was really tough. I spent many weekends on this, revising my code and the consequent report, and even then it just felt like I hadn't done enough.

The Educational Conclusion

Last October, I received this lovely letter from Ngee Ann Polytechnic. I was no longer a student. I'd graduated, with what felt like my hundredth Diploma at this point. Technically, only my fourth, but that's three more Diplomas than most people ever manage. My grades ranged from Bs to an A Plus. I didn't get a Distinction, but an A Plus is one step below that. It confirms what I've always known - that while my intelligence is painfully average, my enthusiasm and willingess to grind out results is always going to be the deciding factor.

Self-congratulations aside, this experience really made me feel my age. By the time I was done with my newly-minted Specialist Diploma in Data Analytics, I was a spent force for a while there. The fatigue was unbelievable, and this was actually easier on me than previous experiences! Even with my usual strategy of planning work on time instead of leaving it to the last minute, this was a strain. To be honest, I'm not sure how long I can keep this up.

However, as usual, I'm thankful for everything I've learned and committed to using whatever I can. It's only one more qualification on my ever-expanding list, but the myriad of things I discovered en route to this, is nothing to sniff at.


Keep learning!
T___T

Friday, 8 October 2021

TeochewThunder: Year Seven (Part 2/2)

Welcome back!

This is how I determine the popularity of a blogpost. Some blogposts are reproduced at my website. I first check the blog for hits, and then I check the website for hits from other sources. Blogposts on this blog are advertised on Facebook, while those reproduced on the website may also be advertised on LinkedIn.

Advertising.

There's no strategy to it; I pretty much just do what I feel like doing at any given moment.

Most popular posts of 2021

It does seem like the most popular posts are the ones where I get personal or provide my opinion on tech news.

Forty-eight hours with Red Airship
comes out the huge winner here, though I suspect that most of the contributors were repeat readers from said company. I was sincere about everything I said, and the readership was a nice side-effect.

Film Review: Silicon Valley Season 6
was an astonishingly close runner-up. The film reviews for this show always been well-received, but not to this extent.

2020 - Three Jobs In A Year was the next most popular post, but only the third part where I trashed my asshole ex-boss. I like to think that my colorful description of his juvenile behavior really boosted those numbers.

Next are the blogposts that weren't quite as popular even though their viewership were above average. My Personal Reserves: The Why and the How was a surprising entry in this bracket. I just never thought people were that interested in how much money I have.

Who's your Favorite Ninja Turtle? was a light-hearted entry which I advertised on LinkedIn as well. Facebook's Fatal Flex at Australia, Uproars Over User Data Privacy and Some basic realities behind the WhatsApp Exodus were tech news commentaries and perhaps unsurprisingly, they made this bracket.

Well received!

The other posts that hit the marker for just above average in the viewership metrics were Yes I'm a Software Developer, No I Won't Fix your Wifi, Not a genius, but a grinder and The Sacred and Mysterious Art of GAF. I wouldn't say those were outstanding examples of my work, but I did put a lot of myself into them.

What's in store for 2022

There is more ReactJS and VueJS stuff to get through, that's for sure. And after graduating with a Specialist Diploma in Data Analytics, expect more of Python and statistically-themed content.

Statistical content.


And because I've just discovered Clubhouse, there may be rather more content detailing my experiences on this app.

I am also planning a lot more listicles. Again, those may be delayed in favor of more time-relevant content.

End of Year Seven!

This blog gives me purpose. I know, I know, there are a lot of things I could be doing, with an equal amount of purpose. Like (ugh) having kids. But this blog actually helps keep me sharp. Or at least, stops me from losing as much of my edge as I could be without the constant practice.

Don't let life blog you down,
T___T

Sunday, 28 March 2021

Software Review: Tableau Desktop

During an ongoing foray into the world of Data Analysis, I was introduced to a Data Visualization Tool known as Tableau Desktop. Prior to that, my experience with Data Visualization had been limited to less sophisticated means - via the use of libraries such as D3; or worse, writing code without using libraries.

Tableau takes care of all the scaffolding required to produce passably decent-looking visualizations, and more.


It was picked up by Salesforce in 2019, and this bodes well for its longevity. Today, I'd like to provide a quick overview of what makes Tableau so attractive to a developer; or actually, just about anyone who needs a fuss-free way to analyze data beautifully.

The Premise

Tableau Desktop is used to manipulate one or more datasets, possibly joining them into a coherent whole, then using that data to create charts of several different types. From there, charts can be placed into dashboards, and in turn these dashboards can be used to form a Data Story.

Dashboard and Data Stories

More intricate work such as interactivity can be added via Actions. Some of the cool things you can do using Actions are - redirect to another dashboard, open a URL, change data filters on an existing sheet, and more!


Actions

Data may also be manipulated using built-in functions provided by Tableau.

Built-in functions



The Aesthetics

Tableau's color scheme, for the most part, is a very black and grey on a white background. That works for a clean look. Other colors come in once the charts are being created. By default, it's mostly a muted blue, but this can be customized.

A clean aesthetic.

The Experience

It's fairly intuitive most of the time. Emphasis on "most". For simple charts, it's easy as pie (heh heh). For the more complicated chart types, the process becomes exponentially more complex. Perhaps it's just me, but trial and error reap little reward as opposed to consulting online documentation. Thankfully, the online documentation and tutorials are plentiful.

Response is fast, but in all honesty, the datasets I was working with were fairly limited.

The Interface

The majority of the controls on a drag-and-drop basis, with other functionality available via right-clicks and double-clicks. Options from the main menu duplicate this functionality in case the user prefers that route.

Sometimes there may be a bit of coding, and the interface allows for it. But there is plenty that can still be done without writing a single line of code. Most of the time, code is only involved when you want to do things like custom calculated fields and dashboard interactivity.

Code interface

Additional levels of detail are available in menus upon right-clicking. There's a lot that is customizable.

Many customizations


What I liked

Fast and responsive. I may have mentioned it before, but seeing data sort itself neatly into charts of various shapes without having to do much beyond drag and drop, is a beauty to behold.

Almost effortless. Tableau saves you the trouble of having to painstakingly set up data visualization, by taking care of most of the hard work. All that's really left for the user is to customize the look and feel... and even then it's not a lot of work because the default setting already looks pretty decent.

Huge variety of chart types. There are so many basic chart types, and variations on them. And quite a few I didn't even know existed.

Treemap

Bubble Chart

Dual-axis Chart

Pie Chart

Filled Area Plot

Grouped Bar Chart

Line Chart

Stacked Bar Chart


And while I might not use it much, I'd like to take a moment to gush about geographical data. Tableau has all that covered. If you define data as Geographical, it gives you visual representation on an actual map.

Geographical data

Country names

And if you further break it down into county level, it actually has updated information on that as well! This is what it looks like for Singapore! Awesome, right?!

County names

The different screen layout options for dashboards is a really nice touch. Tableau does have a nose for the essentials.

Layout for screen sizes

Online resources are vast. There will be times when you need help from more experienced users. It's out there, in spades. The official documentation, on its own, is already pretty comprehensive.

What I didn't

Tableau can be complicated. While the interface is pretty intuitive and most basic uses cases can be resolved with relative ease, beyond that, there are times where things get tricky. Putting together something like a stacked bar chart, for example, can be a matter of a ridiculous amount of trial and error. Thankfully, for such scenarios, the extensive online documentation covers it more often than not.

Tableau would really benefit from an "Idiot Mode" - some step-by-step interface where the user chooses the visualization required and the software provides a guide as to what to drag/drop, and where.

Conclusion

There are probably many Data Visualization software packages out there which I haven't had the pleasure of using (unless one counts Microsoft's Excel or Google Charts), so do bear in mind that my frame of reference is woefully limited. However, having had the experience of having to create visualizations without the use of such a tool, my experience with Tableau Desktop has been overwhelmingly positive.

My Rating

8.5 / 10

Give it a go; it'll bleau your mind!
T___T