AstonJ

AstonJ

The "Work out what you want to learn next" thread!

The dev world doesn’t sit still, in fact it is probably one of the fastest paced industries around - meaning to stay current we are continually learning and honing our skills.

Luckily for most of us, we have a natural tendency towards investigating what’s new and pushing the boundaries to improve on what was before and what we’re doing or want to do next - it’s this striving for innovation that keeps driving the industry and the technology we use move forward at a lightening pace (the pros and cons of which we could probably discuss in another thread :laughing:).

So this thread is for when you want to thrash out ideas and thoughts on what to learn next - who knows, perhaps someone will nudge you in a direction that you didn’t first think of, or maybe you will inspire someone to follow or join you in your journey… because it’s much more enjoyable (and sometimes tolerable!) when you do things together after all :blush:

Most Liked

dimitarvp

dimitarvp

Focus has been a huge problem for me ever since I work as a programmer (so 19 years and counting). For the first time in my life I am seriously questioning my generalist approach and I want to focus some more and have several deep skills. Working on it but it’s extremely challenging to reprogram your own brain. It’s a daily battle.


What I am learning currently

  • Erlang/Elixir's OTP in more detail. It’s a ton of fun. I think I should rework some of my experiments into small demo projects on GitHub. They could be useful as a teaching material to others.
  • Rust to the maximum. It’s a constant fight that hasn’t stopped for ~2.5 years, on and off. Some of Rust’s concepts, especially the lifetimes, just take a while to settle in my brain.
  • Any and all data analysis and visualization command-line tools. Just today I discovered jp and miller and already used them for basic histograms and bar charts right there in the shell. Loved it! But also xsv, jq, yq and a ton of others! When I finally start blogging, I’ll have an entire section dedicated to such immensely useful tools.
  • Home servers, owning your data, and ZFS in particular. I bought a cheap and quiet home server and tinkering with it is (usually) a joy.

What I want to learn in the future

  • OCaml. The language and the compiler are amazing. The compiled binaries are faster than Golang and little slower than Rust – quite the achievement! The community does not seem very welcoming though. Plus some basic features aren’t there, like first-class UTF-8 strings. But I’ll still learn it. For quick scripting at the very least.
  • A subset of the modern JS and CSS tooling. I want to be informed how do people actually bundle, minimize, optimize and remove dead code when working with JS and CSS. And to be able to deploy my own websites using those tools.
  • More command line tools for processing, analyzing and visualization of data. I want to be able to almost not reach for scripts if such a thing is even possible. I want to have a lot of tools in my belt!
  • Containerization technologies and maybe their deployment. Namely Docker/Podman and optionally Kubernetes/Nomad. It’s obvious they are not going anywhere and are used more and more. I want to become comfortable with them (even if Kubernetes is a nightmare incarnate and needs tons of accompanying tools if you want to get anything done with it, and to save your sanity).

What I probably should learn but don’t care much about

  • Elixir's Phoenix and Absinthe in detail. Even if all of my Elixir work revolves around one of these two, I always kind of [re-]learn them on a good-enough level and just move on to the real interesting work which is the business logic and the proper organization of code. Now don’t get me wrong, I’ll orient myself in any Phoenix/Absinthe project and will be productive within the day. It’s just that I am beginning to think that I am just not into some of the plumbing technologies…
  • Modern JS and TypeScript. Yeah, it would probably add extra potential money to my career but I can’t bring myself to learn those. I don’t want to.
  • Kubernetes. My last job made a heavy use of it. I believe I hated it for life but who knows, I might get around to it.
Exadra37

Exadra37

What about learning Elixir:

  • build highly concurrent and distributed systems
  • build amazing realtime apps.
  • learn how to use LiveView to build single page applications without the need to write too much javascript your self.
  • the new upcoming possibility of running Elixir in the GPU’s.
  • and much more

I have I sold you on it :innocent:

davearonson

davearonson

Do you have any idea what you want to do? Frex, do you want to write web, mobile, desktop, command-line, or some other kind of apps, or OSes and their associated utilities, or something else entirely? That can help narrow it down. If you’re “into” some particular ecosystem (e.g., Windows, Mac, or Linux), that can narrow it further by indicating or excluding things; frex, if you want to write mobile apps and you’re into Mac, Swift is the obvious choice.

Alternately, if you’re casting about for a programming language to learn, you could try learning whatever is most different from what you already know. Done a lot of duck-typed OO scripting languages? Try a strongly typed functional or imperative compiled language. There may be such a thing already out there, but you could compose a list of the top twenty or so popular languages, marked by whether they’re OO/FP/imperative/logical/declarative or whatever, strongly or weakly typed, statically or dynamically typed, interpreted on the fly or compiled and linked ahead of time, and so on. That will make it easy to check whether your knowledge is missing some particular option in any column. Try to cover them all, and then if possible all combinations. :slight_smile:

Where Next?

Popular General Dev topics Top

AstonJ
In your opinion which programming languages are simple to use and easy to get started wither those who don’t have a computer science bac...
New
AstonJ
:smiling_imp: What is your preferred syntax style and why? Perhaps we can add examples and use the code below as a simple reference poi...
New
chasekaylee
I’ve been using the classic notebook to-do list, but I’m curious to hear what awesome tools are out there that I am not aware of. I’m alw...
New
AstonJ
Things like smart speakers (such Amazon Alexa), smart TVs or other devices with built in microphones, cameras or with other features that...
New
jamiedumont
This is all going to be a bit hand-wavey and straight off the top of my head, so bear with me, but it’s a thought/debate that’s been ratt...
New
Exadra37
A modern streaming platform for mission critical workloads Redpanda is a Kafka® compatible event streaming platform. No Zookeeper®, no JV...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1143 25883 760
New
New
AstonJ
I’ve been watching Prag Dave’s Elixir course and I noticed he uses tree: Tree is a recursive directory listing program that produces a ...
New
DevotionGeo
Hi everyone! I bought this domain name when I was planning to create a website like ElixirSchool.com, but that didn’t ever happen. Now ...
New

Other popular topics Top

ohm
Which, if any, games do you play? On what platform? I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
AstonJ
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face: Perhaps if there’s enough peop...
New
New
wmnnd
Here’s the story how one of the world’s first production deployments of LiveView came to be - and how trying to improve it almost caused ...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
First poster: bot
The overengineered Solution to my Pigeon Problem. TL;DR: I built a wifi-equipped water gun to shoot the pigeons on my balcony, controlle...
New
husaindevelop
Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New