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).
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.
still my happy place, still a really good choice to quickly get something off the ground.
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.
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.
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.
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 :)
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.
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.
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.
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.
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.
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.
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)