It’s been a long time since I added to this work diary series, and enough has piled up that it’s finally worth catching up. Chronologically, this is the point where Company D enters the story.
At the end of the previous chapter, that miserable project said there was no budget to renew the contract, so we happily did not choose each other. Since the project had already been unpleasant enough, I never stopped the job applications and interviews I had started that summer anyway. The market didn’t look great, so I was talking to both contract and full-time roles. I had also finished my Canadian citizenship application in 2022, which meant I could start considering US companies through a TN visa.
Better at interviewing, fewer openings to aim at
I spent the last few months of 2022 interviewing. My project experience had grown a lot, and compared with the middle of 2021, I was obviously performing better this time around.
Unfortunately, it was also the beginning of the big layoff era. You could visibly feel the number of openings shrinking.
One fairly well-known public company gave me feedback through HR saying every round had been positive. The system design round was even rated strongly, and the hiring manager round was also positive. The only problem was that they happened to meet someone even stronger and more experienced. HR asked about the timelines for my other offers and said she would try to find other teams inside the company that might be interested in my profile, so I could potentially skip straight to a conversation with the hiring manager and make a decision.
Another company, pre-IPO, seemed like it may have been a similar situation. HR didn’t provide feedback, but the coding rounds had gone well, and the interviewer in system design kept affirming my approach during the interview and said I had considered things quite thoroughly. Then I got rejected the next morning, and HR vanished completely. Even when I followed up to ask for feedback, there was no response. The timeline was so short that I doubted their hiring committee had even met. My guess was that maybe they had already extended an offer to someone else who hadn’t signed yet, and by the time my interview happened, that person finally accepted, so I got dropped. Whatever the real reason was, ghosting like that was unprofessional.
In total I did five on-sites. I got two offers, there were the two companies above, and one more was still pending. I hadn’t spent much time grinding LeetCode that year, but I could still get through most algorithm rounds. The biggest improvement was clearly in system design. Overall, my experience and confidence were both much stronger than the year before. But it was also obvious that there were more candidates and fewer seats, and that affected outcomes too.
The offer I accepted came from an infrastructure company. Their interview process didn’t follow the standard interview script at all. Every interviewer would start from something on my résumé and then keep digging deeper and deeper into the project details, all the way down to low-level implementation questions. I walked out of every round feeling like I’d been stripped down to the bone, convinced I had no chance. Then they made an offer.
The role was based in Seattle, and we had already discussed applying through TN status. That gave me a chance to try a new setup: working for a US company from Canada under a TN visa.
TN visa: useful, awkward, and probably less convenient than before
At this point, writing about the TN visa already feels a little dated. The category still exists, but with the US and Canada very much not in a honeymoon phase, I doubt the practical experience is as smooth as it once was.
The first time I paid attention to TN was through an online post by someone explaining how, after getting Canadian citizenship, they applied to US jobs, used the employment contract to get TN status, and then moved to the US. The point of the post was simple enough: the same kind of work usually pays much better in the US than in Canada.
The comments, however, immediately turned into a giant debate over whether the person should enter the H-1B lottery. A lot of people enthusiastically explained that TN is not an immigrant visa, so if you want a green card, eventually you still need H-1B or some other immigrant-path visa. They also pointed out that green card backlogs are based on country of birth, not citizenship, so even after naturalization the person would still be counted under mainland China for priority dates. Therefore, if they wanted permanent residency, they should start trying for H-1B as early as possible.
After pages and pages of that discussion, someone finally asked the obvious question: has it occurred to any of you that maybe this person doesn’t want a green card at all?
That thread stuck with me. It was a good reminder of how easily people absorb the assumptions of their environment and start acting with the same ignorance and arrogance as if everyone in the world must be chasing the exact same American immigration outcome.
At the time, I hadn’t seriously considered TN myself, because most US roles, even remote ones, still wanted you physically located in the US, and I had no desire to move there. Later I came across a Reddit comment saying that TN simply gives you legal permission to work for a US employer; the visa itself does not require you to remain in the US full-time. I followed that trail and found that a small number of people really were spending several months a year back in Canada.
That was enough to make me want to test this edge case in person.
To apply for TN, you only need an offer from a US company. It doesn’t have to be a giant company either. Later on, even a six-person startup contacted me and said they were open to hiring through TN while letting me stay remote in Canada the whole time. If there is a practical difference, it’s that larger companies may already work with law firms that handle the paperwork, while smaller ones may expect you to submit the materials yourself. I still don’t have a clean answer for what exactly counts as “sponsorship” in the US, but TN clearly doesn’t place the same kind of burden on the employer that H-1B does.
That said, the US visa system is absurdly complicated. Going through this process felt like once again submitting my entire family history to be examined in microscopic detail. And after the application and entry process, I still needed someone in the US with legal status to help verify things. To activate the visa, I made a trip to Seattle, finished the required steps, and then happily returned to Toronto.

What the job was actually like
Before joining, I looked around online to see what employees were saying. The consensus was that the work-life balance was excellent, and the company had already been operating in a hybrid style before COVID. Unsurprisingly, the tradeoff was money: in Seattle, the compensation landed around the middle of the range, not the top. Internally, I was delighted. This sounded exactly right.
My team was tiny, five or six people. The tech lead was an Indian man; everyone else on the team was white men. My direct manager’s manager, who oversaw the broader department, was also a white man. Other than one weekly meeting, he barely participated in our day-to-day work. In principle I was supposed to have a biweekly 1:1 with him, but soon after joining I reduced it to once a month on the grounds that work was going smoothly and there wasn’t much to discuss.
He was a former college band guy. He told me that back when he was in school, computer science didn’t seem cool enough, so he wanted to do music instead. He got to know a group of people from the underground scene who had at least a little reputation and followed them on tour across different cities. After experiencing that life firsthand, he came to a depressing realization: these musicians, many of whom he considered far more talented than himself, were struggling just to support themselves. So when graduation came, he became a software engineer like a sensible person.
He was decent. His kids were already in college, and he clearly just wanted to coast into retirement. If anyone on the team needed something that fell within his authority, he would generally help. When the company went into one of its “return to office” phases, he proactively helped me get a six-month extension and even suggested registering an address farther away in Washington state to work around the policy.
The Indian tech lead, meanwhile, was a walking rebuke to lazy stereotypes. On Chinese-language social media, people often repeat the cliché that Indian coworkers talk a big game but work carelessly. I dislike racial stereotypes in general, and my own experience has often contradicted them, but for contrast’s sake: this man barely wasted a single word on small talk.
In our first 1:1 after I joined, he opened Zoom and said, first sentence, basically: do you have any questions about the tasks assigned to you? Let’s go through them. No self-introduction, nothing decorative. He spent the hour explaining domain knowledge I didn’t yet have and sent me a huge pile of documentation. The whole meeting was just technical discussion. Sometimes he would miss meetings, and coworkers would mention that he had to drive his daughter a long distance every week for water polo training.
There was also another white male coworker with a "Von" in the middle of his name. I once asked him what it meant and whether there was some noble family legend behind it. He quickly explained: no, no, no, my ancestors were poor Irish people; where we’re from, this is just an ordinary middle name and has nothing to do with nobility. He was extremely enthusiastic about praising others. Whenever anyone on the team asked even a small question in a company group channel, he would show up like a one-man cheering squad. After return-to-office rules kicked in, he even checked in to ask whether being the only person working remotely from Canada made me feel excluded, and said that if I ever felt too disconnected from the team, I could always set up Zoom chats with people.
The company atmosphere overall was very sleepy, in the specific sense that people were thoroughly settled in their routines. One example: the Irish-poor-ancestors coworker won some internal company award, and it was announced during an all-hands. Our manager posted a congratulatory message in the team Slack channel, but didn’t actually explain what had happened. Then another coworker messaged me privately to ask whether I knew the details, because he had missed the announcement while picking up or dropping off his kids. I told him I hadn’t listened either. So we both decided to wait and see whether anyone else in the team channel would explain. Nobody did.
Then he said that since our manager had already congratulated the person, it would look weird if we said nothing, so he hurried to react with an emoji. I immediately followed. Then the rest of the team also joined in with emojis. Still, not a single person actually replied with what the award was for. Our manager, clearly experienced in this sort of thing, eventually added another message explaining what the award was. One brave coworker then admitted that he hadn’t listened to the all-hands either and had only dared to add an emoji reaction.
That was the vibe.
Remote, except when suddenly it wasn’t
When I interviewed, the role had been presented as remote. By the time the contract arrived, it said hybrid. My manager told me all their contracts were written that way, that hardly anyone went in, and that I shouldn’t worry. He himself had no desire to go into the office.
Then, not long after I joined, the whole industry changed direction. Company after company began pushing office returns. CEOs who had recently been giving interviews about people-first leadership and remote-first values suddenly spun around 180 degrees and started mandating office attendance. At this company, anyone whose registered address was within 30 miles of an office now had to go back in, and there were minimum monthly attendance targets.
My manager got me an exemption extension, and it was approved. But by then I had already done the math and realized there wasn’t much point in continuing. Around the same time, a new client opportunity had also come through, so I resigned.
A year of paid learning, plus tax reality
My experience there was mixed in a fairly complete way. The workload really wasn’t heavy. But the stack was completely new to me, so I spent every day cramming documentation and learning the system. In that sense, I got a full year of aggressive paid study.
One of the main reasons I had joined was that I wanted to try infrastructure work. After a year, the novelty had worn off. The company’s technical architecture also wasn’t especially well done; CI/CD was often painfully slow and would get stuck for long stretches.
The other major reason I left was taxes.
Because I stayed physically in Canada, I remained a Canadian tax resident. That meant I had to make up the difference between US tax and Canadian tax according to Canadian tax rules. Canadian personal tax rates really do make US salary look less dazzling once you experience that in practice. Of course, moving to the US and becoming a non-resident of Canada for tax purposes would solve the problem. But I simply had no interest in living in the US.
I knew from the beginning that I would owe the extra tax. Knowing it intellectually and actually paying it, however, are two very different emotional experiences.
Career planning? Not really
Anyone who has read the earlier parts of this series can probably already tell that my grand approach to career planning is mostly: I don’t really have one.
It’s not that I have no desire to think about it at all. It’s more that at any given moment, there always seems to be something more important for me to spend my limited energy on.
A close friend in the industry, someone I met back in China, often laments that I missed the explosive growth period of China’s internet industry. In her view, I should have joined a giant company back then, made money while the market was booming, and saved more before moving to Canada. Her point is that if I had done that, my early years in Canada would not have been so financially rough.
My answer is always: or maybe I would have died of overwork first.
I don’t spend much time imagining the road I didn’t take. I’m a low-energy person. I’m only willing to allocate my limited energy to what matters most to me. There isn’t much left over for pointless alternate-history fantasies.
And somehow... it doesn’t seem to have cost me that much. This is not me recommending that everyone copy me. My friend certainly thinks I missed out on plenty. But I don’t need her to think so. I only need me to think so.
Before I did contract work, I assumed that to survive independently on project-based work, you had to be some kind of lone-wolf technical powerhouse. It turned out that wasn’t true. After several years of intense project work, seeing different kinds of projects, different stages of projects, and different stacks across different companies, I could clearly tell that my ability to deliver on projects had become much stronger. If I had to estimate roughly, maybe five times stronger.
Most leadership teams are improv theater
Maybe this is no longer even a fresh observation. After everyone watched the farce of US government officials apparently doing serious work over Signal in early 2025, complaining that corporate leadership teams are ramshackle operations doesn’t carry the same dramatic force anymore.
But since COVID, if you spent even two hours paying attention to what executives across companies actually say, you could see the pattern clearly: most of them are just following trends and repeating one another.
One month they’re talking about expansion and aggressive hiring; the next month it’s budget cuts and efficiency. Last year it was people-first and remote forever; this year it’s in-person collaboration and productivity. And the current fashion, of course, is generative AI.
Following the crowd carries less personal risk. If you’re in management and make a genuinely brave decision for the company’s long-term interest, and it fails to pay off, you become highly visible in exactly the wrong way. Anyone familiar with Yes, Prime Minister already knows what a “courageous decision” usually means.
And if leadership behaves like that, regular employees certainly don’t need to imagine the company’s future rests on their individual willingness to work one more unpaid evening. The place is not going to collapse tomorrow just because you didn’t sacrifice yourself for it tonight.
In earlier entries I wrote more about observing the businesses themselves. This company was in the B2B world, not B2C. For anyone not used to the jargon: B2B means selling to businesses; B2C means selling to consumers. There’s also an industry joke about a third category, “to VC,” for companies that chase hot trends and investor money without building anything meaningful.
This company’s business looked like the sort of thing that had already seen its best days. But B2B businesses can decline very, very slowly. I checked later and found that the stock price was still going up.
One more thing
After doing contract work, going back to full-time employment felt psychologically much easier.
By that I mean: I simply stopped caring about most of the corporate theater. I didn’t attend all-hands. I didn’t attend big department meetings. Other than the routine meetings required for my actual team’s work, I skipped basically every piece of “personal growth” programming the company tried to offer.
That, more than anything else, may have been the real perk.