RSSAmplifier

Blog

John Kurkowski - Senior Full Stack Web Developer

With 14+ years in the game, I help frontend teams ship incrementally, with test coverage confidence, without rewrites. Debug any app, existing or legacy. Collaborate on distributed teams via docs, code review, and mentorship.

master--john-kurkowski.netlify.appRSS feed ↗14 posts

Latest posts

Avoid Git First Drafts

Here are pages rife with debate on using git pull vs. git pull --rebase. I’ve decided for myself there are times for both, that is, there are times for merge commits and not.

Accumulating More Than One Failure In A ValidationNEL

This is an adaptation of an internal blog post I made for Gravity engineers. To preface, Gravity likes to use 2 very predictable patterns throughout its Scala codebase, which is very important for a TIMTOWTDI language like Scala: the for-comprehension and ValidationNEL.

Credo

Here’s a collection of the high-level concepts I’ve adopted over the years. I think they add human value—to customers and teammates alike—and GTD value. All while keeping me happy with my career in the otherwise often bitter IT ecosystem.

Good Ideas From Mobile Design That Are Good Everywhere

A collection of 9 usability tips from mobile design, yet they benefit desktop users too. 2 birds, 1 stone.

Don’t Learn to Code, Learn to Program—But Come Back in 10 Years

I want to discuss why programming and coding are not the same, and why I can no longer support the Learn to Code movement. I can no longer tell my friends to learn coding. Although I’m passionate about it, it’s too arcane and insular for mainstream practice.

Ongoing Learning in Breadth & Depth

To those overwhelmed by all the programming languages and tools you can learn, changing daily, I’d like to offer some peace of mind. In my previous article, I questioned the rampant, disconnected proliferation of code. I don’t know why it is stuck the way it is.

Code As Craft As Career?

As a career programmer, I pursue code mastery. Economics at scale however stamps out the craftsman. How do I stay ahead?

Paint By Types

My introduction to Haskell has shown me the promise of types, enabling type-driven development. The type system self-documents better than any docstring or variable name ever did. It even guides your thinking and program architecture.

1st Class UX for Web Programmers

On the web, your users are no longer a secondary engineering concern. A thick-client framework, like Ember.js, makes UX 1st class.

Still Measuring Devs With LeetCode?

I'm disappointed to find tech interviews are still asking LeetCode questions. Companies haven't listened to old advice on competitive hiring like DHH's "Hiring programmers with a take-home test" or Matasano Security's "the Hiring Post".

Procrastination By Doing

I suffer from a particular form of procrastination. My problem is not that I instead watch Netflix, unable to get off the couch. I will do productive work. It just won't be the assigned task. I have some tips to fight this procrastination.

Procrastination By Perfection

I also suffer from a less common form of procrastination than my previous article. I would not attempt something at all if I knew I couldn't do it perfectly. On a hobby of mine, I discovered a decent workaround.

Hands on Home Row for AI-Assisted Coding

AI-assisted coding has fit surprisingly well with the terminal and text-first tools I spent years sharpening. Agent orchestration may be the industry productivity boost I long wanted. While engineering discipline still matters, I feel wistful for hands-on coding.

Jujutsu for AI-Assisted Coding

I switched from Git to Jujutsu `jj` late last year. It interops with Git, so collaborators haven't noticed. I was hardcore into the Git CLI for 15 years. I haven't looked back. `jj` made it easier to reorder, squash, rebase, and stack AI-assisted changes for review for me and my team.