Skip to content

Jan Krutisch

Depfu

Jan is a co-founder of Depfu, your friendly dependency update robot factory. He’s a web developer at day and a digital artist at night, but too old to actually stay up at night.

Inteview image for Jan Krutisch

What led you to become a developer?

I’m actually old enough to have grown up with the first generation of home computers, I got a Commodore C64 back when I probably was 15, 16. These computers, when you switched them on, only had a text prompt and you could immediately hack in BASIC programs. I wasn’t much of a gamer, really, so that didn’t distract me from that very clear demand: “Program me”.

Although I later on decided against studying computer science for a number of reasons, the interest in programming never left me and I made good money as a freelance developer on the side during my university years (that was in 1999-2000, the last years of the dot-com era).

After uni I applied for jobs in both IT and my original field (environmental engineering) and ended up at as a web developer for a huge german internet provider (that doesn’t exist anymore).

What’s your setup and development environment?

What’s your favorite stack to work with?

Most of my work is web development work in some sense.

I still do a lot of Rails work and I really enjoy working in Ruby.

On top of that, if I really need to go frontend heavy. I’m a huge fan of Ember, mainly because I really like their approach of gradually introducing modern concepts in a non-disruptive way. You can see that this is a framework built specifically for long living apps, and I’m a fan of that approach.

CSS wise, I couldn’t live without Sass.

I don’t have a go-to packaging tool and either try to not use one (in smaller projects) or just use what’s in use in the community of the framework I’m using.

What are your top 5 go-to repos?

rails/rails
still my happy place, still a really good choice to quickly get something off the ground.

ember/ember
a great framework built by great people with a good sense of how to incorporate modern technologies into a framework and then gradually transition the whole community to them.

electron/electron
I know it’s en vogue to hate on electron in certain circles (and ironically I just complained about Atom’s bloat), but I love the project and I’ve used it a couple of times already to build apps that wouldn’t be possible without it.

bundler/bundler
One of the first package managers introducing the concept of a lock file and making all of our lives so much better. All of the descendants (yarn, composer, cargo, etc.) are great or even better in some aspects, but bundler definitely paved the way. With Depfu, we’re heavy users of bundler and have found and fixed one bug or another.

tootsuite/mastodon
I’m not really spending a ton of time on this repo, but I use Mastodon daily and the fact that we now have an open-source distributed twitter alternative that actually works and attracts enough users to be interesting enough to engage in it, makes me really happy. Also, it’s based on rails :)

What technologies are you most excited about now?

I hate to say this, but it’s gotten kind of hard to really excite me for something. One of the reasons is probably just my age. When you’ve been in this field for 20 years, it does take another Firefox 1.0 or another rails to really impress you.

The other thing is that the whole wave of excitement that carried us through the late 2000’s, the web 2.0 era, where we really, for the longest time did believe that technology and the democratization thereof would make the world a better place, pretty much crashed down on us throughout the last few years, which makes me at least look at all the new technology in a completely different way. Less “how can this awesome technology helps me in doing wonderful things” and more “how can this scary technology assist bad people in doing really bad things”.

For example, if you, in 2019, are giving a talk on machine learning and you are 100% positively excited and don’t mention the risks of encoding existing biases, amongst other risks, I think you’re part of the problem :)

To end this on a positive note: One thing that does have me positively excited is the whole decentralized “indie” web movement. Projects like Mastodon, that for some reason really seem to work in a mostly decentralized way. And ActivityPub seems to have a chance to become the glue to tie a lot of these efforts together and largely seems to work. What I like about this so much that this is really a 100% community effort, happening completely under the radar of any of the big in tech, and thus is reclaiming that little independent corner of the internet that we lost when Twitter replaced personal blogs.

What does your ideal workflow look like, from messing around to production?

I’m always trying to keep my setup as simple as possible. If a toy project, for example, allows me to get away without a build pipeline, I’ll do it. In many cases, HTML, CSS, uncompiled JavaScript goes a long way. I’m also often using CodePen to make examples easily shareable if it’s a simple JavaScript or CSS thing.

For more serious projects, again, I love to use simple, boring, proven technology. Quickly deploying a tiny Rails app on Heroku is probably very me and I’m done with deploying a prototype when the youngsters are still configuring their webpack pipeline.

What are you currently learning?

I’m still trying to get better at JavaScript frontend testing, that’s a topic I’ve ignored too long and am now paying the price. It’s getting better, but it’s still a pain for me to write proper frontend tests.

For a pet project (no pun intended), I’ve started to re-learn 6502 assemblers and explore the BASIC interpreter source code from my beloved C64. Bill gates knew all the tricks back in the days when he wrote that stuff.

I like to talk a lot about how I think that current application development often uses at least 2-3 levels of abstractions too many, and the simplicity of these old systems in contrast what you, nevertheless, could do with them and how much fun they were, is really inspiring to me. There isn’t very much stuff between you and the transistors making up the CPU on the C64.

What project are you most proud of?

One of my current freelance projects is for an English musical instruments company called Novation - We’ve built a web application (with Rails and Ember) to allow customers to backup, configure and edit their Novation Synthesizers and other musical instruments via Web MIDI (Currently only available on Chromium browsers). We’re even doing Firmware updates via that software. It’s such a cool showcase for modern web APIs and it also is the project with the most direct (overwhelmingly positive, but of course also negative) user feedback I’ve ever worked on, and that’s super rewarding.

What are beginner developers not learning that is critical in this day and age?

Soft skills, soft skills, soft skills. Being able (and willing) to communicate clearly, to listen, to accept feedback and to deal with criticism in a constructive way is so important and that really doesn’t get taught very well at uni, for example.

Also, I learned everything about diversity in tech the hard way (aka by making each and every mistake one can make as a northern European white male), it would be nice if we could find a way to build explaining things like privilege and why diversity is important into our curriculae.

Lastly, a lesson I (luckily or not, I’m not sure) learned very early in my career: You need to take care of yourself. No job in the world, however well paid or otherwise rewarding it may be, is worth destroying your body or soul or both.

What tech challenges are you facing at your company?

As we’re building a product that is built on top of other products that probably build on top of other products, most of our challenges are actually dealing with problems resulting from these interwoven services. Today, for example, npm suddenly delivered JSON files with lots of binary zeroes in the middle. How you can build software that can deal with the unexpected and always recover to a good or at least a well-defined state, that’s a huge challenge.

What music do you listen to whilst developing?

Anything you want to promote or plug?

If you are writing software in either JavaScript or Ruby (or both), I’d love you to check out our product Depfu. Automating dependency updates up to a point where you get PRs for updated packages that are chock full of all the important information about the update is such a huge time saver and takes away the cognitive load.

Secondly, if you’re based in Europe and you’re looking for a cool, cheap and really fun conference to visit, I can vouch for jsunconf.eu and rubyunconf.eu both happening in Hamburg in Spring / early summer (Disclaimer: I helped running rubyunconf.eu in 2018)

Interview image for Minko Gechev
Minko Gechev

Google

Minko is an engineer in the Angular team at Google. He is working on compilers, tools for static code analysis, and machine learning. Minko received awards from the President of Bulgaria for his impactful open source projects.

Interview image for David Bisset
David Bisset

Dimension Media, Inc.

A JavaScript, PHP, and WordPress developer for over a decade. David currently specializes in consulting, development of some popular plugins, and education projects. He enjoys organizing various local meetups and mid-size conferences and has been known to speak at conferences on various technical and soft-skill topics.

Interview image for Jesse Jorgenson
Jesse Jorgenson

Evernote

Jesse Jorgenson is an engineer at Evernote that focuses on front-end engineering, rich text editing, front-end dev-ops, and Node.js. He has a degree in mathematics from James Madison University and a background in music. He lives in Austin, TX and primarily lives off of breakfast tacos.

Be the first to read new interviews just like this one with Arthur Doler. from top developers.