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
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
Rainer
Have you seen the new features that will be available in the upcoming C# 9 release? C# is taking a lot of input from functional l...
New
AstonJ
If you’re a fan, why? If you’re not fussed on it, how comes?
New
axelson
Can anyone recommend a tmux session switcher? I’ve used https://github.com/siadat/session-finder in the past but it’s not very actively m...
New
AstonJ
Looking at @siddhant3030’s photo from the Do you blog? thread, do you cover your computer or phone camera as a security precaution? Wha...
New
AstonJ
If you could work on any project, what would it be? :upside_down_face:
New
AstonJ
Inspired by this post from @Carter, which languages, frameworks or other tech or tools do you think is killing it right now? :upside_down...
New
Rainer
Not sure if following fits exactly this thread, or if we should have a hobby thread… For many years I’m designing and building model air...
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
For me it’s six to seven steps above complete dark, on MacBook Air M1.
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
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
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
AstonJ
I’ve been hearing quite a lot of comments relating to the sound of a keyboard, with one of the most desirable of these called ‘thock’, he...
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
New
PragmaticBookshelf
Author Spotlight: Peter Ullrich @PJUllrich Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New