Skip to content

Stefan Judis

Twilio

Stefan started programming 8 years ago and quickly fell in love with web performance, new technologies, and accessibility. He is also a curator of the web performance online resource Perf Tooling, organizer of the Accessibility Club Conference, contributes to a variety of open-source projects and enjoys sharing nerdy discoveries.

Inteview image for Stefan Judis

What led you to become a developer?

I became a developer more or less accidentally. After school, I worked for several years as a sound engineer for German television. I reached the point where every day was the same. Go to the location, set up the equipment and mix the show. Honestly… I got bored.

Being in my early twenties, I had to find something else to do for a living. One of the local universities offered the course Media and Computer Science which seemed to be a good fit for my television background. And I was always good with computers so why not give it a shot. I learned basic Java programming and discovered that programming is like solving puzzles. There is a problem, and there are countless ways to solve it.

I loved that and the fact that there are so many technologies out there is still fascinating to me. Going on from there I was hooked, started an internship, and this internship led to my first job as a web developer. Luckily, I got in a team with very knowledgeable developers. We became friends and they got me up to speed quickly. Half a year later I was involved in my first single-page app with Backbone.js. Good old times…

What’s your setup and development environment?

I try to keep my home screen clean. Only my podcatcher and calendar are there. The apps I use daily are in the bottom line. There is Todoist (I use it to plan and structure my day), the Twitter light PWA and Whatsapp.

I keep two additional folders in reach. One with all the apps that I use regularly but not every day and one folder for travel, because I travel quite a bit to conferences and events.

I keep notifications to a minimum. There are very few apps that get my attention. Additionally, I use Google Digital Wellbeing which turns my phone into greyscale after 10 pm. Not looking at the screaming colors leads to a night of better sleep for me.

Also, my phone is always in silent mode. There’s no buzzing and ringing – that’s very important to me. My friends and family know that they can’t reach me anytime and that’s okay.

Looks like I use way too many apps. 🙈 These are the apps that are running while I answer this interview:

The following are always in my dock

  • iTerm2 as a terminal (as you see I’m giving Hyper another try as my terminal though)
  • Several browsers for development and testing
  • Wavebox as my mail and work client - it’s an app that wraps web apps. Trello, two Gmail accounts, and other daily work sites are in there
  • Fantastical 2 as my calendar
  • Todoist
  • Slack and Whatsapp
  • Dashlane is my Password manager for many years

Open when I need them:

  • VSCode for development
  • I’m giving Notion a try to keep work notes and a list of what I did during the day
  • Journey to write my private journal
  • Pixelmator Pro as a Photoshop replacement
  • Spotify
  • Keynote for most graphical work (I love this software, and I do everything in Keynote 🙈)

Additionally, I use Rocket for Emoji handling, Menu World Time to know when my colleagues are awake, Clipy for my clipboard, Bartender to keep my top menu bar clean and Alfred as a tool for all the rest.

I work mainly from home in my living room. The room is full of dark wood, so I got myself a big fitting table, too. On it is an LG widescreen monitor (when you tried widescreen once you’ll never go back) and a 13’ MacBook Pro. A Yeti blue is there for podcast and video recordings.

Ben Schwarz made the framed poster above. He runs his excellent performance monitoring service Calibre.

What’s your favorite stack to work with?

That highly depends on the project – but something JavaScript-driven for sure. I know the language and how the ecosystem works which is a significant advantage when I hit a problem. Debugging and going into your dependencies is way more manageable when it's written in a language you’re comfortable with.

Thinking of frameworks, I don’t have a preference. I feel good with the main ones these days – React or Vue. I have to say though that hooks in React are a very valid reason to build my next project in React.

For most Frontend-related projects I go with Netlify for hosting because the service is tailored for static sites and a breeze to work with. For more complex serverless function setups the serverless framework in combination with AWS is my go-to choice. I’m not an AWS expert but with this framework it becomes fun, and your project can grow because AWS has a service for everything.

What are your top 5 go-to repos?

That’s a very interesting question because I’m not sure I have a “go-to repo”. What I can say is that years ago I spent some time setting up proper filters in Gmail which allowed me to finally follow a bunch of repositories without getting distracted all the time. I disabled GitHub in-app notifications and manage everything via email. I have filters for work projects, private repos and also several “watching only out of interest”.

I spend an hour or two on the weekend checking what happened on GitHub. The two most important repositories include the compatibility data sets for caniuse.com and MDN.

If you follow these two repos, you’ll automatically discover new things that are supported by browsers and the web platform itself. Very often I read an email notification about a thing I’ve never heard of.

These emails (and a few newsletters) are my way to catch up with the way too fast-paced web.

Additionally, I follow two repositories about Node.js and Frontend things which are valuable to keep track of common best practices:

Lastly, I keep an eye on a few awesome lists and use these to discover new libraries and tools.

As you see, GitHub plays a meaningful role in my inbox. :D

What technologies are you most excited about now?

I’m very excited about the JAMStack and serverless technologies. When I started developing for the web, there was a clear separation of Frontend and Backend.

Today this is a different story. Thanks to countless APIs and services with incredible good developer experience you can build whole products quickly with a little bit of JavaScript knowledge.

For Frontend related projects I often use Netlify which allows you to build and deploy a static site quickly. It provides all the good stuff like HTTP/2, serverless functions and a global CDN. When I first tried it two years ago, I was impressed by how easy it was.

These hosting capabilities paired with progressive web apps get me very excited in general. I mean think of that... you can deploy a scalable site in a few hours, build a few endpoints to handle data, and then make it run offline. That still feels like magic to me. It’s a perfect time to be a Frontend developer.

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

If it’s a side project do whatever feels right. Mess around. Try new technology. Have fun!

If it’s in a business environment be more careful. Think clearly about what the project is about and evaluate how much pressure it includes. Don’t choose a cool new thing for your project when you know you have a tight deadline.

Start building, have fun, but also, watch yourself and how you feel closely. If you have a team with you, be transparent and honest about if you’re on the right path or not. If you don’t feel good about something, say it and maybe take a step back to evaluate. Don’t build up technical dept in the early phases of thinking that you can fix it later. You probably can’t. I missed massive deadlines in my career because I wasn’t honest with myself up to the point that I had to admit that I messed up a day before launch.

If you know that you’re on the right track bring proper tooling in place. I’m a big fan of automated testing and quality controls. Start implementing unit tests, code quality checkers and end-to-end tests before it’s too late. Your codebase will grow, and if there are no automated tools in place, it will be tough to establish a testing culture later. Code becomes cleaner when you write tests for it, too.

Additionally to code quality, consider your users and make some tests if your project is received as you think. Is it fast enough? Is it accessible? Does it work on a low-end phone? Once you shipped a bloated inaccessible app, you usually won’t be able to make it right.

Then, ship a product you are proud of. It will feel awesome!

Haha – I think I went a bit off-rail here and it sounds very dramatic. :D As an explanation – I worked for several startups here in Berlin, and we followed the “lean principle” a few times too often which lead to products that weren’t great and me being super stressed. I was far away from an ideal workflow and the reason for that was clear. It was past-me not pushing back when he should have.

What are you currently learning?

I just recently started a new job at Twilio which means that my core focus the last months was learning all things communications. All this new stuff keeps me rather busy.

Apart from that, I can’t wait to build my first app Svelte. It looks fascinating and very powerful. I wonder if it really could evolve to a serious React/Vue alternative.

What project are you most proud of?

I have a few projects that made some more GitHub stars but the project I’m most proud of is my blog. I made it a habit to document my learnings. If you’re following Twitter and have seen “TIL” tweets (Today I learned), writing these learnings down instead of only tweeting them is what I'm talking about.

Today, my blog includes 140 pages, and 80 of these pages are documented learnings. These are sometimes longer articles but very often only ten sentences. I write these down to remember things in the future. When you spend more time than only posting a Tweet with a topic, you’ll be more likely to remember it. And then, you can share your learnings with the world, and when only one person learned something, it already makes my day.

In addition to writing on my blog, I use it to learn new technology. Right now it’s Vue based and runs on Nuxt. Let’s see when I’ll rebuild it with the next “cool technology”. ;)

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

That’s a very hot question these days. I’m not into framework wars or the daily discussions around if you should know how the CSS cascade works or not. Use whatever works best for you. Enjoy building!

What I’d like people and especially beginners to get a better understanding is what it means to build for the web. The web has to be safe, affordable and inclusive. Building good products for the web is very challenging. Things like that semantic markup exist, that not every internet user sits in front of a two thousand dollars computer that can swallow one MegaByte of JavaScript easily or that not everybody uses a mouse (screen readers are a thing you know) are essential to me. I believe that we still have to do some education around these topics.

What tech challenges are you facing at your company?

That’s a tough question for me to answer because I work in the developer relations team at Twilio. Our team is not writing the code going into Twilio’s products. Our job is to keep all our developers happy. This includes writing great docs, coming up with inspiring tutorials and helping developers online and offline to succeed.

The biggest challenge for me is “to choose the right tool for the job” when starting new projects. The “Yet another Framework” syndrome is very much a thing in the JavaScript ecosystem and it can be quite overwhelming. Should I use TypeScript or not? Which framework should I use? Should I go for a webpack or Parcel?

Sometimes I spend hours bikeshedding the tools I could use for a new project. Picking the right tools is tough these days. 🙈

What music do you listen to whilst developing?

Anything you want to promote or plug?

I write a monthly newsletter that includes my documented learnings but also a quote, a song, a favorite talk, and one or two excellent articles. So if you’re not going under by being subscribed to too many newsletters give this one a try. :)

Additionally, I do occasional pair programming sessions with people that do cool things in the web development scene. The way it works is that I jump on a call with someone and let them guide me through a library/framework/… I try not to prepare which leads to many noob questions. It’s a lot of fun and if you’d like to have an intro to a tool in this format, let me know. I’m happy to reach out to a person.

Oh yeah, and one last thing. If you’re on MacOS and use Netlify for your static sites, you might want to check out a menubar app that I built. It helps me to monitor build progress and statuses on the platform – I wouldn’t want to miss it anymore.

If you wanna get in touch, Twitter is probably the best approach and definitely let me know if you plan a project with phone calls or messages using Twilio. Always happy to help with these. ;)

Interview image for Martin Konicek
Martin Konicek

Synthace

Martin is a software engineer based in London. He currently works at a biotech startup called Synthace. Previously he was on the core React Native team at Facebook.

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.

Interview image for Arthur Doler
Arthur Doler

Aviture

Art is a human being and genuine, certified crazy person, but for some portion of the day, he’s also a software engineer who enjoys thinking about how and why we program computers, and how psychology can help us do it better. He’s an advocate for mental health, an avid learner and reader, and he believes that green apple is the worst candy flavor (even worse than grape).

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