RSSAmplifier

Blog

Ionrock Dot Org

Recent content on Ionrock Dot Org

ionrock.orgRSS feed ↗31 posts

Latest posts

My AI Tools So Far

LinkedIn has become really noisy with folks espousing extreme productivity thanks to AI. I’m skeptical. Yes, I think AI is going to be a massive shift, but we’re early in the process. So far, there hasn’t been much measurable impact beyond people not using skills and losing them. With that said, being at the beginning of the changes, tooling is important. The folks trying to…

AI and Software Engineering

It is a scary time for many software engineers. AI has proven itself to be an effective tool at writing code and it puts into question investments engineers have made into languages, ecosystems, and even system design. First off, I don’t think AI will take everyone’s job, but it will take some. This is a simple economic force that reflects software becoming cheaper. The bigger impact…

Speeding Up Python

One theme at Dagster is speed. Python, the langua franca of the data engineering world, is arguably slow. We use Python for everything and consistently see areas where it could be faster. Historically, Python advocates have always said you can rewrite slow code in C. While I’m sure there are a few folks that take this path, I think the more common solution is to simply spin up more…

Managing Environments

With the introduction of tools like Claude Code, managing your environment gets little more complicated. Tools like direnv are helpful when working in a shell, but Claude is often helpful outside a single repo as it can act as an agent, crossing typical development boundaries. Thankfully, I ran into similar issues throughout the years using Emacs for all the things. A common challenge would be…

Details

Simple thing are always complex. Complexity lies behind everything. We see color coming from our computer screen, but our eyes are translating frequencies of light waves in our brain. The dirt outside is a complex microcosm of bacteria, fungus, and animals that changes radically depending on the environment. A laptop looks like a portable screen and keyboard, but it is an extremely complex machine…

The Law of Data Transformation

I have a theory that I’m calling the Law of Data Transformation. I can imagine someone has already researched this idea and communicated it with more rigor, so apologies if I’m late to the party. The essential idea is that for every layer of data transformation a system requires, the cost of that system will increase logarithmically. A Basic Example Let’s start with an extremely…

Velocity

I’ve been thinking a lot about team velocity. IndyCar’s are some of the fastest race cars and get up to a top speed of 236mph, but compared to Top Fuel drag racers that hit 329mph, they are quite a bit slower. The obvious difference is that drag racers don’t turn! Applying this to organizations and teams, velocity requires two critical elements. A Speedometer A Finish line Going…

Alignment and Decision Making

I’ve noticed that people often like to break down problems into hierarchies. When we are tasked with thinking about a Mission or Vision, the immediate goal is to define what we’re planning for on a longer time horizon. OKRs are another example where the Objective is simply a bigger task than each Key Result. Strategy is another concept that ends up being about the work rather than the…

Great Tools

We’ve been building a house for my in-laws and it has been really interesting to watch things come together. I’ve been especially interested in the framing process after watching Essential Craftsman and working on leveling up my (very limited) construction skills. One big difference between a professional framer and a home carpenter is the set of tools. The framing team building the…

Organizational Trust

Organizations often focus on results over anything else. Specifically, the focus is on metrics around revenue and growth, which on the surface, makes nothing but sense. At the same time we also know that bad metrics will undoubtedly produce bad outcomes. Squeezing customers for every last nickel often means the customer will find someone else to buy from. Trying to release more features or…

What can you finish?

As an Engineering Manager, I’m often trying to coach my team members to think about how to break down tasks. I recently had a more junior engineer take on a task we pointed as an 8. This is typically considered a large task and I did push to see if we could break it down. The team felt that the ticket really couldn’t be broken down logically, so I said let’s go for it and see…

Résumés

As a manager, I review a lot of resumes. In perfect world, I could read hundreds of resumes and give each a fair, objective chance. The reality is, I need to filter things quickly, while still avoiding my internal biases. With that in mind, I wanted to suggest some simple guidelines candidates can use to help make my life easier, which in turn, offers a better chance moving forward in the process.

Taking Notes with org-roam

As a long time Emacs user and org-mode user, I was hopeful that org-roam could tame the plethora of paths offered for taking notes and keeping track of information. The key factor was understanding this article on How to Take Smart-Notes with Org-mode . I’ll admit that when I read the article I essentially just skimmed it and totally missed the way the author uses links to files as tags,…

Visualizing Work

One inevitable part of engineering management is some form of ticket management. For most, that means using Jira, and I’ve yet to meet someone who likes it. However, despite the distaste for Jira, everyone knows if we didn’t have ticket tracking, getting things done would be messy and error-prone. Ticketing tools give you a way to visualize work to ensure you can organize and…

Running Meetings

It shouldn’t be surprising that as a manger, you have a lot of meetings. There are the organization wide meetings, syncs with other managers, staff meetings, 1:1s, project meetings, etc. One thing I’ve tried to do (and struggled with quite a bit) is running efficient meetings with my team. I’ve gotten reasonably good feedback from my meetings, but at the same time, I’ve…

Manager Deliverables

One of the hardest things going from programming to managing has been the change in output. People often write about it is challenging being a manager because you don’t get those quick wins like you do as a programmer. Some challenging bug doesn’t get fix in a day and you don’t get repeated test suite passes as you work. Instead, you are forced to look at the larger picture,…

Life Updates

The beginning of this year I made a commitment to write at least once a week . For those few people counting, that has clearly not happened. While I don’t like to make excuses, I think I have some really good ones that certainly trump blogging in my internal scale of importance. The tl;dr is that life got in the way and I’m totally OK with it. First off, my wife is pregnant!

Getting Started

One thing that is always hard when you’re new to something is knowing how to get started. When I try to learn a new language or library, I often get analysis paralysis because I have no idea what is the right way to do things. I can instantly imagine the way I’m organizing my project or writing some code is the beginning of a huge mistake that will be painful to sort out later.

New Year Writing Update

I made a commitment to write more this year. Let’s see how it is going.

Making Career Decisions

There are times in your career where you need to make some decision. Finding a new job is a great example, but there are smaller aspects such as taking on a project, doing a side projects or joining a group all can have an impact on your career. There are tons of articles that provide advice for what sorts of things you should do to help your career, but this is more about when you’re…

Failing

One challenge I’ve found is how to fail and learn without ruining plans and losing trust. In order to write up a plan you have to make assumptions. As with any assumption, you can easily get it wrong, throwing your well organized plan into a tailspin. When your assumptions impact commitments to others, it is natural that those folks might lose trust that you’ll deliver what you say. At…

Making a Dartboard

I mentioned to a mentor of mine that there are tons of resource for working with people as a manager, but there are so few resources for the nuts and bolts of the job. He mentioned that as he has moved up the organizational ladder, the requirements get more vague because many leaders simply don’t know what they want. The result is that part of the job is creating a dartboard they can start…

Not Quite the Year of the Linux Desktop

Every so often I get tired of looking at the same old screens. It is not as if there are tons of programs I use throughout the day. There is a web browser, slack and Emacs. At some point I get antsy and want to see what is I could improve things. Specifically, I recently was thinking about my desktop environment and if something lighter weight might help save a little power and speed things up.

Email and Scheduling

Isn’t there some other email and calendar other than G Suite?

Knowledge Management

When I’m in meetings, I try to take notes. There are TODO items, things I’d like to remember and questions I might want to ask about. The problem is that I don’t have a good way of taking this information and easily using it when I’m doing the work. All of these notes go in an org-mode file in Emacs , but it is pretty ad-hoc, even though Org supports features like agendas ,…

Managing Up

Trying to understand your audience by asking those around you.

Relearning JavaScript

I’ve started to relearn JavaScript after taking a long hiatus. When I first started coding I certainly had the naiveté of youth and jumped on the bandwagon when it came to dissing JavaScript. Thanks to libraries like Prototype , I realized it had a lot of really interesting features such as first class functions and closures. At the same time, web development was always frustrating. Testing…

Job Requirements Expanded

I’m looking for someone to join my team! Here is a deeper dive describing what I’m looking for.

Tactics, Strategy, Mission and Vision

My attempt to understand tactics, strategy, mission and vision as it pertains to organizations.

Personal READMEs and User Manuals

I’ve heard that manager READMEs are bad . The criticism revolves around these documents ultimately being self serving by giving the author a way to justify acting in the wrong. For example, if I write in my README that “I don’t handle criticism well” and I explode when someone says I’m wrong, I’m OK because I said it up front. Camille Fournier made the point…

Reboot!

Long ago I used my blog as a means of learning things like programming languages, databases, etc. It was fun for a while, but I always got hung up on making it easier to blog. As I became more focused as a programmer, I spent even more time trying out new ways to write with the majority being some focus on Emacs. This quest for the perfect authoring environment became painful at some point as well…