DEV Community

Cover image for What is worth learning?
Sue Smith for Glitch

Posted on

What is worth learning?

AI-assisted coding is lowering the barrier to making software. It’s also increasing the complexity of managing it. You can make applications with less upfront knowledge than before, and organizations are having to figure out how to handle the ensuing unpredictability and risk. So it’s getting easier and harder.

Building software became unnecessarily difficult over the last few years in my opinion. We switched to frameworks that closed a lot of the doors to opportunity we’d seen open in the earlier years of the web. Now there’s a widening divide between those with the skills to make software “properly” and those who are no longer prevented from participating by this gatekeeping. Then we have the threat of jobs being eliminated because some executives think AI removes the need for engineers. It's a bit of a mess.

Working in developer education, I often ask myself if I’m teaching the right skills, the ones that are worth learning. It’s getting harder to make reliable guesses about which topics will enable people to make the web and get paid doing it.

For most of us it isn’t about the tech

I recently set up a local developer environment for a project I wanted to contribute to. It was painful and I resented every minute of it lol. The actual contribution was easier than installing the tooling.

In spite of essentially being paid to learn coding skills so that I can teach them to others, I find it incredibly hard to motivate myself to learn if the subject doesn't interest me. A lot of what’s involved in setting up local environments falls into that category. Compatibility between libraries, reciting the correct incantations of path and environment variables, that type of thing. These are not the parts I care about.

The same frustration kills the motivation to learn. For a new developer to spend hours configuring an environment before they can make a change to a web page that they can see in the browser is a big problem when it comes to learning. The motivating part is where you achieve something visible, tangible, significant to you – that’s what builds momentum as you feel you’re making progress. Exasperating setup experiences tell the person “this is not for you” and most quietly go away.

The best motivator to learn any skill is a goal that is meaningful to you and that the skill is helping you to achieve. For most people, setting up an effective developer environment does not constitute such a goal.

If it does for you then congrats, but I believe you're in the minority! In the developer community there’s a wholesome passion for technical elegance, but unfortunately it’s frequently accompanied by an alienating disdain for those who don’t share the interest or understanding.

It shouldn’t need to be hard

Earlier this year I ran employee training for my Fastly coworkers. I wanted to teach them to use our technical product in a way that absolutely anyone could engage with. Some colleagues feared this might be impossible, but for me, removing the expectation of prerequisite knowledge is a useful constraint – it helps me make learning experiences that are better for everyone. So I gave myself ground rules like no local environment, no dev platform accounts or tooling like GitHub. And it was surprisingly successful!

This is part of why I’ve always loved Glitch – and how we got those employees to use our technical product by the way. It lets you jump straight to the parts of a project that are intuitively valuable and resonant to most people. I’d rather spend my time learning how to create the functionality or the experience I want to give users than installing the toolchain that only gets me to the starting line for that work.

If I never had to set up a dev environment again I simply would not. 💅🏻

Motivations do not need your validation

Today’s coding tools are abstracting away parts of software engineering that will invite many more people to the party and create significant challenges around maintenance, security, performance, and more.

However attached we are to notions of correctness, of what people should know in order to create software, the reality is that most will not invest in something they don’t consider worth learning. You better believe people will flock to the tools that enable them without judgment or the expectation of virtuous toil! We can’t complain about this while insisting that the painful, exclusive alternative is the only valid one.

If we want software that is reliable, safe, and inclusive, we need to provide paths that empower a wide representation of people to build it. That means accepting the motivators they bring with them.

Our goals determine what is and isn’t worth our time, and for most of us the technologies that help us get there are largely incidental. Those choices are driven by the opportunities each person is trying to unlock.

What makes something worth learning to you?

Top comments (3)

Collapse
 
atsag profile image
Andreas

Hello Sue. I partially agree with your perspective - many times all too much emphasis is placed on tools/methodologies especially without discussing the reasoning behind. But, developing software also has some responsibility related to it, especially manifested in painful scenarios when something fails in important infrastructure (hospitals, life-supporting technologies, power network etc.) Therefore, I would not take a 'flock' of programmers with 'any' motivation, ignoring any tools they don't like, as a necessarily good thing. For me motivation is something also depending on the sense of reality, and the needs that exist, and this can make people responsible and happy to learn about something

Collapse
 
suesmith profile image
Sue Smith

I agree with you! This is what I'm referring to when I say we have additional complexity when it comes to managing the increase in risk. What I'm saying is that we can't judge people who engage using pathways that enable them when we've made it incredibly hard for them to engage through the mainstream channels.

Collapse
 
atsag profile image
Andreas

Great Sue! I also now better understand the aim of your article... Indeed, let's hope that more people get trained on the vast wealth of software and experience which has been gathered, otherwise chaos can progressively get to be the norm, relying on... AI to interpret it. But, this also requires a lot of selflessness on the part of some people (e.g software trainers / business executives / policy makers) - let's hope more of these people appear and make a difference