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
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
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
chasekaylee
Hi everyone! I have been in the professional industry for ~2 years now coming from a boot camp. I started a base foundation by programmin...
New
AstonJ
Just been adding some more portals, currently have the following languages: Apache Groovy C C# C++ Clojure CoffeeScript Crystal ...
New
AstonJ
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 conti...
New
AstonJ
Hi everyone… I’m so sorry about the delay in getting this thread up, I’ve just been so busy :see_no_evil: Are there any book clubs you’d...
New
chaptuck
I am thinking about getting a fitness tracker of some kind (probably one from Garmin). Have any of you developed your own widgets, watchf...
New
DevotionGeo
For me it’s six to seven steps above complete dark, on MacBook Air M1.
New
harwind
I’m working on a C++ program where I need to convert a string containing a numeric value into an integer. I want to ensure that this conv...
New
harwind
I’m working on a Spring Boot project and I have a controller where I want to map multiple request paths to a single method. Let’s say I h...
New

Other popular topics Top

wolf4earth
@AstonJ prompted me to open this topic after I mentioned in the lockdown thread how I started to do a lot more for my fitness. https://f...
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
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
PragmaticBookshelf
Rails 7 completely redefines what it means to produce fantastic user experiences and provides a way to achieve all the benefits of single...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New