Evergreen Skills 🌲
I recently tweeted some thoughts on the constant moving pace of technology:
In the past, I've made the mistake of wanting to learn and implement every cool new thing that came out in the world of software development. There's constantly new tools, services, APIs, languages, and patterns that not only did I get excited about, but felt like I would need to know if I was to ever get what I needed in terms of jobs or the mythical "perfect app architecture" in my personal projects.
I'm sure there are many that feel that way right now, and the problem is that a lot of these skills just end up being useless in due time because of the constant cycle of new technologies eventually being old. You will always feel like there is something new to learn and I don't believe doing so is productive use of your time.
While some skills change in relevance, others stay constant hence the term evergreen skills.
Soft skills
The most useful category of evergreen skills are known as soft skills. These are things that aren't directly related to your role such as research, communication, and sales.
Let's take research for example. Being able to look at different technologies and assess them in terms of viability and whether they're worth your time to learn and implement can help prevent educational debt in yourself and technical debt in your projects.
Communication and sales go hand-in-hand, and are typically ignored by those of us who only focus on the code itself. However, there is constant communication between team members and third parties through different mediums such as email and chat. Being able to construct words together in a way that the other person becomes sold on your idea can be more beneficial to you than any of the code you might write.
Fundamental skills
Let's not forget those direct skills involved in your day to day though. Let's say that you're a web developer learning the React framework. You should already know that React won't be staying around forever, so you have to consider the investment that you're putting in.
With any framework, keeping your code as close as possible to the underlying programming language will allow you to master your fundamentals. React makes heavy use of map()
and bind()
functions which are already built-in to JavaScript, so ensuring your understanding of those functions will provide you with skills that can be transferred to other frameworks or simply vanilla JavaScript code.
The point is to maintain a set of skills that won't change as easily as frameworks do. Those skills can also help you build more efficient apps and write more maintainable code as you will understand how everything works together.
Value your time
Investing into evergreen skills can help you make better use of your educational time, so let me know what you think about soft skills and fundamental skills.
🗂 Tab Dump
- Influencing Your Buying Decision? - Article by Pradip Khakhar on how spelling & grammar influences buying decisions.
- Building the New facebook.com with React, GraphQL and Relay - Video from Facebook team on the technologies used in the redesign.
- 10 Questions You Should Ask In A Web Dev Interview - Article by Milecia McG on which questions to ask back in an interview.
- Podcasts Repo - A collection of podcasts around the web.
- reLift-HTML - A blazing fast view library that lets you write Javascript Template Literals in HTML.
- faast.js - Serverless batch computing made simple
- mrm - Codemods for your project config files
See you next Sunday, same inbox? 👋