Working through the software engineers’ guide book and covered another chapter the initial was on promotions: how they’re decided, business cases, and performing at the next level. A lot of that tracks with what I’ve observed at Shift: definitely the support of others and perception.

There is mention, if it’s a lightweight or heavy-weight promotional process. It can depend on the company setup so the less mature companies, it’s usually fast-tracked and it’s very informal and more of a political thing with the adolescent and senior companies of the establishments. We make use of self-evaluation and getting feedback as well, and there is a mentoring process, one that I haven’t taken advantage of. I’ve had an opportunity but maybe that’s something I should look into.

I think part of it stems from the assignment of the people that I had when I was on the last team and shifting out of that. On the current team there are very strong opinions, which aren’t necessarily negative; however I feel it exposes a bit more of a risk profile with the team that I’m on.

It’s sort of like we’re in a kitchen and we have two head chefs with different flavor profiles and the rest of us are line chefs offering samples up. There is often disagreement with how things need to be seasoned and presented. That conflict will not resolve or go away and so the consensus, or just in practice how it’s worked with the team, is acquiescence.

I also understand that titles and this type of advancement do not define the engineer. There is fulfillment, just like there are accomplishments, more than these base things. Like anything else when you’re really hungry you really desire even the most basic of satiation and the same for money when you don’t have enough of it. Optimizing for that can blind you.

Keeping your creativity and curiosity, being able to work on a variety of projects that move the needle or just make the lives of those who you work around better, just even leaving the project in a better state, are all different things. Work is a means to an end so that’s something to keep in mind as well. The other part is being easy to work with and not stepping on people to get where you need to. There are other factors that come into quality of life that really should not be neglected. Additionally, thriving in different environments. There are product teams and product-minded engineers, and there are also platform teams. Typically as the company gets a little more established, you’ll have engineers that can go directly onto the platform side. It’s a little harder to observe how you move the needle and what the impact is on customers since you’re away from that. The downside also is that this can be viewed as a cost center so typically the product teams are the least likely to be let go. Peace time and wartime themes:

  • getting established as a company
  • everything is an existential threat
  • versus conflict are the typical environment of the teams moving fast
  • and conversely peacetime is getting consensus and alignment, really reasoning through the things

There are trade-offs to both of those environments and doing standout work is how to succeed anywhere.


as far as hobby projects tangentially related to agentic design patterns, a free ebook published by a Googler and today I was learning about LangChain, monolithic prompts, and chaining prompts. the monolithic prompt can bake in inaccuracies, result in context drift, and introduce hallucinations as the constraints color the responses. Chaining prompts also reduces the token costs too. This allows more of an iterative process and enables concurrent fulfillment as the task can be broken up into subtasks and then serialized and summarized.

Eino is the go equiv of langchain albeit with a smaller ecosystem. Why are the integrations good?Each API has its quirks and you’ll be wrestling JSON otherwise. Alibaba recently shared Zvec, sqlite for vector - python interface for a C++ DB, and Higress - a “proxy” for AI with caching and model fallback, both came onto my radar today.

been actively working on my hobby hosting, switching between a mini-Kubernetes and Nomad and Consul with my own API layer and dashboard and push to deploy. Got a little wild with federation and multiarch and I still don’t know which I like best. I like the minikube tbh but being able to easily expand worker nodes (need a gpu heavy compute or db, multiregion - it’s done)