This post is part of Series: Being a programmer again
If you have read my previous post, you may have already gotten the hint that I started my career as a programmer. I then took a large break as a people manager in support. And now I want to go back to full time programming.
Today, you can break my passion into two large areas. Writing 2D games. And building anything that improves developer experience. Some call it DX.
You may argue that writing 2D games is almost everyone’s little bottled-up aspiration. I will give you that. And I will put that in my side-hobbies list for now.
Writing developer tools and improving developer experience, is what fuels my passion. In fact, it’s always been my thing. It started with my thesis back in 1998 (writing compilers and interpreters). Then some time in 2004-2005, writing a Rails-migrations-like system for Oracle. That Delphi application improved the experience of the integrators 20x or something close. At least this is how it felt to me. That was my initial goal after watching them struggling with updating customers’ databases.
I was so proud of that application. I still am. And that proves to me that I have a passion for building such systems.
If my passion is a fire, today’s complexity is the dry wood that makes it blaze. My theory is that we, programmers, have put ourselves into a corner. The complexity of the systems around us is astonishing. And we don’t spend enough time fixing this. I mean as a collective.
Here are some examples:
- Integrated development environments (IDEs)
- Source control management systems
- How we collaborate and review code
- Build automation tools
- Performance & security risk analyzers
- Accessibility assessment tools
- Virtual machines and containers
- Deploying applications
- Scaling applications
- Cross platform development
- Programming languages and libraries
- Writing concurrent systems
- Databases and database types and taking it too far
- Programming language paradigms and taking it too far
- Our tendency to believe in silver bullets
- Software development methodologies and being dogmatic
I can go on for hours. To be fair, not everything is our fault. The tools tend to become complex because software becomes more complex. Larger codebases and many dependencies, lead to increasing complexity. And we have innovated a lot. Not everything is dire.
But we, programmers, are not always mindful of the complexity of our tools and our creations. And we don’t always put energy into making things simpler when we can.
Out of the vastness of this field, that’s the area I am interested in. I want to squeeze out every little drop of simplicity for the sake of our sanity.
I want to squeeze out every little drop of simplicity for the sake of our sanity.by me (I always wanted to quote myself 🤣)
I am ecstatic to share that, I am joining Zed!
Zed is a fast, collaborative code editor written in Rust. The goal? Be blazingly fast and reimagine how programmers collaborate to write and review code together. I can’t be more excited for the opportunity.
This is hitting both goals of mine. Be a programmer again, by learning Rust. And work on developer tools and developer experience, by contributing to the Zed editor.
It all started when I joined the list to try the Zed editor itself. I saw how fast it was and I was impressed. The more I interacted with the editor, the community, and Nathan, the more clear the vision started to become. One thing led to another, and I kinda “persuaded” Nathan and the fine folks at Zed Industries, to try me. That’s what “for at least 6 months” means. And I will expand on this in tomorrow’s post.
For today, I want to close this saying that Nathan and I were both at GitHub. Nathan joined GitHub in late 2011 to build the Atom text editor, and he also led the Atom team until 2018. You can also check the rest of the team.
Rust is a systems programming language that promises to be fast, concurrent and safe. A tough combination. And that’s what I need to learn to go back to full time programming. Not an easy feat.
Part of this deal is that I have to live and breath Rust for 6 months. I have already started learning and experimenting with Rust. But I am doubling down now.
My first day at Zed will be January 17th. I am spending the first part of January to catch a breath and study to prepare myself. Oh, also do some standup comedy which is another side-hobby I picked up recently. Yes, I know this looks like a middle-age crisis. But it’s not.
Tomorrow I am going to talk a bit more about what the 6 month period means, how we ended up going with that approach. Also, why on earth am I leaving a high paying job that I do well at a great remote company, to risk ending up without a job in June? And to top that, I am doing this in the middle of the turmoil in our industry and elsewhere.
Stay tuned, and subscribe to not miss the juicy details.