blog

12022-04-29

SEAN K.H. LIAO

job2

Impact ... none? The fact that I achieved on the order of nothing over the course of 2 months weighed quite a bit in this decision. Overall I didn't feel like it would be an environment I could be productive in anytime in the near future, which had knock-on effects for job/life satisfaction, leading to the final decision to end the contract.

probabation and onboarding

Probation is like an extended interview, the costs of breaking off an engagement are lower to allow either side to make proper judgements when this is still little confidence in each other. I acknowledge that I joined at a tumultuous time for the team, that in and of itself may not be a problem, it could be a chance to demonstrate a high level of impact/effectiveness. What I'm looking for is: what is there to do, and what is the process for doing those things. Here there isn't a lack of things to do, but the process for getting things done felt convoluted, with half a days of actual work needing 2 weeks of sheparding to get through.

developer experience

So I get a Windows laptop, people use those all the time, can't be that bad, right?

Central guidance is to only install software from the approved fileshare, one look and you'll find that everything there is outdated by at least 3 years, if it even exists. So off to click on random installers from the internet I go.

So, working with developer tooling needs a shell. Sure windows has command prompt and powershell, but have you used those??? A unix-y environment is a practical requirement to get anything done, First instinct might be WSL, but WSL1 is only some sort of shim compatibility layer, and WSL2 won't install/run because virtualization is disabled somewhere. You coworkers might say "just install docker", but docker on windows needs a VM, which needs virtualization, which is disabled... Also, what's with needing 5 seconds just to run ls. Anyway, this means to build a container, it's push to github to trigger a jenkins job requiring provisioning an ECS instance, to provision an AWS Codebuild instance, just to build a thing. Still don't know how I'm expected to debug anything.

Speaking of developer tools, lots of things need to reach out to the internet, but what's this blocking my TLS connections? Go to the office, lose connectivity to anything, so the office isn't for work. At home, nope, aws, gcloud both still can't make outbound requests, and how exactly am I supposed to get things done?

team

Overall team cohesion felt low, with communication being a sore point.

The team channel appeared to only be used for "important" things, such as completion of a piece of work, everything else seemed to be pushed off into direct comms, leaving other people out of the loop of any discussions (which may be useful to look/search back on). This also means extra effort has to go into documentation, if people remember to do it.

People seemed siloed into specializations, with responsibilities resting on single people instead of shared by the team. It was like the development model of "go off and produce one big PR every month". Even things like incidents, which can be like a realtime crash course in what the team does is very isolated.

The team structure/position within the organization was also reflected in technical decisions, like perpetuating a known failure mode because otherwise there is apparently no budget to address tech debt. Having a product person may be in theory a good thing, but so far I haven't had any real positive experiences, with this one dominating conversations but us needing to reverify any technical points mentioned. Also, what's the point of me sitting in a meeting with 5 other people, if the person who's going to make an actual decision isn't here and is going to override any decision made today?

comp

The next job offerinng 45% increase in base pay was certainly worthy of consideration.