A New Year’s resolution based on discomfort

CorvusCrypto
3 min readDec 28, 2018

--

As we come closer to the new year of 2019, technology has had a myriad of advancements looking back in the last few years. I’ve tried to study and keep up, but of course it is difficult to pick and choose which topic to keep up to date with. I tend to focus more on general architecture research, though I do love to dabble with the security field as well. I often rely on the communities I participate in, namely Reddit and Hacker News, to help me absorb the information that interests me. However, in both communities I noticed that there is a bit of fast judgement that occurs among engineers. I think that when it comes to harmless opinions about the world and life it’s natural to be a bit judgy. However, there are groups of smart engineers that will entirely dismiss technologies that they are wary of, even in the face of successful examples of usage, often because of some personal perceptions (though many times also based on legitimate concerns).

Some introspection revealed that I, too, am quick to form an opinion about something new to me (usually in the form of “Well why didn’t you just use X?”). When this opinion of a certain technology becomes quick dismissal in any discussion at work or on a project, I am choosing to disregard the possible knowledge I can learn about a topic and the possible benefit of a good solution should my teammates follow my opinions. Surely this attainable knowledge might be useful in ways I don’t see at the moment. So I am proposing a New Year challenge to myself and others may feel free to partake as well.

The resolution

Pick a modern (currently used and advocated for) programming paradigm/language/architecture pattern/whatever that you’ve never used before, and would normally dismiss immediately (if you hear yourself say “this is shit,” or something alike toward something it’s probably a good candidate). Then give it a real chance. Pretend someone at work told you that you HAD to use what you’d never use by choice. Try to make whatever it is you hate work with a fun pet project or a serious one if you dare. At best you might find that you come to like all or part of what it is that you have previously held contempt for. At worst, you’ve reinforced what you already felt, but backed it up now with real experience and knowledge of how that thing you disliked really worked in practice. In either case you’ll surely learn something.

Anything that causes discomfort just by thinking about it works, but if you need examples, I have a few things that got at least some dislike/seething hatred on Reddit or HN:

  • JWT-based auth systems (or stateless auth in general if you’re not okay with it)
  • Event Sourcing
  • PHP (be nice)
  • Dynamically-typed (or statically-typed if you hate static-typing) languages
  • Functional programming
  • Serverless architecture
  • Kubernetes
  • Blockchain

For me, I’ve been actively trying to avoid working with blockchain-based technologies. I’ve often thought the whole blockchain protocol is super unnecessary for many applications and also admittedly eye-rolled during the hype phase when companies were (and still are?) using it as a selling point for their architecture. However, I never took the time to deep dive into the technologies surrounding the blockchain protocol and I am extremely biased against using it in any production system currently. So that’s my personal challenge. I’m gonna try to learn enough to get a working application that utilizes blockchain somewhere. I’ll still probably scoff at it, but I hope I’m wrong or at least come to know why I should continue to scoff. Also, this is probably a terrible idea. It’s definitely a dumb one.

Cheers and Happy New Year!

--

--

CorvusCrypto
0 Followers

Hello hello, I work as a programmer when I am not jumping out of planes. Tjena! Jag jobbar som programmare när jag inte hoppar ut ur flygplan.