Maker Skill Trees
github.com
github.com
Looking at the PCB design skill tree, it just doesn't look very realistic. "Use an Autorouting tool," for example, is second after "Learn PCB Software" when it should be in the top half of the tree (if not in the top few rows).
"Design an SMD PCB" is on the same horizontal line as "Hand solder SMD Parts", as is "Learn to Read a Schematic" and "Learn PCB Software"(?!) Learning the PCB design software is a process that must run in parallel with most of the skill tree.
"Use a reflow oven to solder a PCB" is two who levels above "Use a pick & place machine" and so on. I get that a lot of this is path dependent on experience but "Use SMD tweezers" should probably go alongside "Solder SMD parts"...
https://github.com/sjpiper145/MakerSkillTree?tab=readme-ov-f...
- There's definietely a lot of fluff in the beginning and a few odd side roads. Fluff is definitely fine in the beginning (yes, you ideally should play games, and especially bad ones), but some seem a bit useless without more direction. like following a dev stream or learning about accessibility features (which I think is great, but this is so far into the future unless your audience is someone who needs it. Accessibility is polish beyond polish).
- There's an odd focus on tech that implies "more tools good". Make a game in Renpy, then make one in godot later on, then learn a 2d and 3d engine? as a nitpick I also find it funny that "make a game in Unreal Engine" either requires a game in Unity, a VR game, or this scenic route of level design and user research. What's your goal and game motivation? I go with the Bruce Lee mentality here. Pick a direction, pick a tool, then get really good at that tool. devs make games, not tools.
- similar story with game features and ieas. AI (game AI not llm), procedural generation, voice acting, puzzles, modding, etc? Some people could go their entire careers and not need to use these for their games. It's a general purpose list but I guess this is where roadmaps could help. you definitely need different steps to work on a puzzle game compared to VN, compared to a procgen'd rougelite.
- "fail to submit a game jam game before the deadline"... well, I didn't ask for a personal attack :(
A lot of these "skill sets" have fractal complexity, where if you dig in on "Concrete work" you'll find yourself going down a rabbit hole of form building, hydrostatic pressure, foundation squaring, and so on. Even pouring an unreinforced slab for a patio requires some distinct skills. Plumbing is the same way where being able to replace a water heater could devolve into sweating new fittings.
Is the intent here to document what you could do without knowing what the residential code is and how to pull permits in your area?
Concrete forms, soil management, concrete testing, that is more than a rabbit hole, its a whole immense specialty. ( Ask Richard Sloan, who literally taught me how to finish concrete like glass... over very large areas. )
Tiling is deep also. ( Thanks Alejandro ).
Even after more than 10 years work, texturing as a skill is still beyond me, and like far beyond me.
Your point is well taken, but...
This is an amazingly LARGE amount of work.
Environmental skill?I cannot wait to see this one:
I should make a Building a Desktop PC, Coaching, Transform your life. Truck Driving and Taking no sh*.
Interesting. Sounds like you have way more experience than me, but I feel pretty comfortable doing tiling and do a decent job, after doing a kitchen floor, backsplash, bathroom floor, and shower. The biggest risk with doing tiling is once you learn how to do it, you'll start noticing bad tiling jobs everywhere. Particularly lippage.
I've also done decent jobs of texturing the couple attempts I've done. I don't love them, if I stare at them I think they look terrible but if I'm walking past I don't notice them. What in car racing they'd call a 50/50 paint job: looks good from 50 feet when it's going 50MPH. :-) But, what I'm starting to do, and what I did on my bathroom remodel, is doing a level 5 finish. It took me a while to get to where I was happy, but not having to texture and instead just painting the untextured wall came out pretty nice. I guess it's more common in "the west" to texture and level 5 in "the east" (USA).
> you'll start noticing bad tiling jobs everywhere
To me, that's the crux of it. There are structural and system jobs (load bearing carpentry, electrical, plumbing) and there's everything else (tiling, painting, countertops, cabinetry, etc).
If you screw up the latter... it looks bad, and that's about the end of it.
Which is to say, give it a go. Most people, with the proper investment of time and care, can do a better-than-contractor job on non-code/permit type work, simply by virtue of caring about it more.
There is a lot of power in caring about your work. My philosophy is: Anything worth doing is worth overdoing. Contractors can't affordably overdo their work, generally. They need to bang it out and get on to the next one. Their experience lets them work faster, but their budget limits the level of work they can do.
Plus, I love the level of knowledge it gives me about the house. For example, when our drier started blowing the breaker every load, I was comfortable enough to open the panel and take a peek and notice that one of the legs on the breaker was heat damaged, and the breaker was cracked, and that leg wasn't torqued down very well. Cut off the damaged wire, replaced the breaker, and I'm back in business. And that work was done by a pro 7 years ago.
Don't let permits stop you. I'm sure it varies from location to location, but our city permit office is crazy helpful to DIYers, and it makes sense: making it easy for DIYers to get permits and inspections is a huge win for safety in the long run.
I love having the "backstop" of an inspection to find any problems I have, and the inspectors have all been extremely nice. And for my tub drain, it was in a confined area that was really hard to work the necessary pieces in, the general inspector called in a plumbing inspector who called in a master plumber before we could get it worked out so that I didn't end up with an S-trap.
1. half “you build it yourself”, and
2. half “have someone else build it but you make the plan”
I don’t get who the audience for it is.
You’re supposed to start at the bottom too but the order is kind of all over the place.
Link to the house building one for anyone interested: https://github.com/sjpiper145/MakerSkillTree/blob/main/House...
Especially seeing them in practice, it's pretty clear to me that the goal is to fill in all the segments, which helps to identify which skills or projects might be be sitting in a blind spot. And especially in a group environment, helping to point out which people might be able to answer questions about specific tasks because it's easier to spot on a chart like this than asking each member the same questions.
It's less appealing, but a more directly communicative design would be more of a difficulty "bucket". Do X% of tasks in tier 1 and then start trying to tap into tier 2, etc.
It looks like these are an attempt to create units of work that are approachable and individually researchable to complete.
I think it's pretty great!
What "higher quality" project deserved to be worked on more than this in your mind.
One project I contributed to in the past was Anki. Since I was using it a lot and getting a lot of value out of it, I felt motivated to contribute some translations for its UI so that the students at my school could use it.
I also didn't like that line of thinking for the undertone that working on an educational guide is a waste. A sadly growing sentiment as more people shift to a "hustle culture" and forget the joys of solving problems in lieu of making products.
Once more, criticism is fine but not all criticism is equal. The name "bike shedding" came about for a reason
If you contribute to a "Java guide" that's actually about JavaScript, you're probably wasting your time.
This wouldn't even be a 1 story point task to fix (after days/weeks of bikeshedding). seems to be a silly thing to abandon an entire project over a name.
This is a shallow dismissal of the legitimate criticisms that others have of this project.
This is Hacker News. The culture and goal is to satisfy intellectual curiosity and have interesting conversations. The point is NOT to emotionally dogpile (either positively or negatively) on things. That's boring, not enlightening, not intellectual gratifying, not curiosity-satisfying. If you have a legitimate praise or criticism, then you can air it, as long as it's interesting.
which is what he GP is criticizinh. What interesting conversation do we get out of "These skill trees are so awful....Also they aren't trees." or "Almost as if this whole thing was the output of an LLM" do we get here?
Also they aren't trees.
https://github.com/sjpiper145/MakerSkillTree/commit/752a1356...
I am assuming, of course, that everyone will break down a path into their own personal steps rather than just downloading an random roadmap.
I can see this being more appealing than a boring to-do list.
But there's also a lot of people pointing out that the basic vs advanced sorting is really questionable in some cases. It's going to be impossible to get an objectively correct sorting, but some seem to just be completely wrong.
I think if I were a newbie in any of these subjects and followed the "trees" as presented I would be quickly discouraged and lost.
My thoughts exactly. There’s a strong LLM flavor to them.
It's missing a tree structure, so there is no ordering of skills (learn easy stuff before hard stuff because there is a learning curve to anything).
They might be good as prints to hang on your wall, but in the current state they're more "achievement lists" rather than anything resembling a tech tree.
That being said, I find the idea intriguing and the format appealing.
This is also why (controversial take incoming) I don’t think calculus should be a prerequisite for computer science or even machine learning. Yes, it is possible you will need to know it. But most likely you won’t. Most people aren’t writing their own loss functions or backprop libraries. And if you are, great! You can learn it later. Way too many people stop before they ever get started because of unnecessary gatekeeps.
And that's (in the broadest strokes) the key skill set for complexity analysis and software architecture. One of the worst trends I've seen in recent years is the dogma of benchmarking and profiling as the gods of performance analysis. Any decent software engineer should be able to reason about how a program behaves by reading it before reaching for automated tooling - which by the way, won't tell you why a benchmark is bad or why some section of the program is a bottleneck.
Like... Writing a sorting algorithm comes before using a debugger? I've never written a sorting algorithm and don't expect I'm going to want to any time soon.
I think ideally these would be simple markdown or JSON files with the cool tree layout generated automatically.
I'd rather see a more fantasy game looking layout, I'm sure some would love a sci-fi or cyberpunk theme, and everyone would like easy pull requests and contributing.
I think perhaps a true tree layout might be the best, because it could capture the orthogonality of different paths.
Low level algorithms could be a totally different branch from "Regular old coding", to capture the orthogonality and extreme specialization of modern tech.
I'd probably also keep the steps a lot more general.
Like, for electronics, I would probably have firmware, analog (Branching to RF and power), hand assembly, digital, and DFM.
Digital might go:
* Blink an LED with Arduino
* Build something with at least two outputs and two inputs
* Use a discrete logic gate
* Do something with an FPGA
* Design a Linux or other OS capable PCB
Analog could go:
* Use an op amp * Sub microvolt signals * Megahertz * 10Mhz * Make an RF transmitter or receiver * Control something greater than 25 watts * Design a piece of uncommon scientific equipment
When you don't know what you don't know, any little map can be helpful to get one started.
When one desires to learn a skill they usually don't know what questions to ask to get started. This is one of the biggest challenges in learning, and there's a multibillion dollar industry devoted to easing that burden via textbooks and instructional videos. But equally important: beginners don't have a mental model for where that specific desired skill or knowledge lies on the continuum of the domain in which they're seeking to grow. This project puts skills in context, even if some of those contexts are (currently) very flawed.
For example, I've begun working with a couple of teenage garage bands that live near me. I have a lot of experience as a working musician, and they didn't have any at all-- but they knew they wanted to write, record, and perform teenage garage music. I noticed a "Music" domain on the maker tree. It could use improvement, but what it does is make clear that there's more to being a performing musician than learning guitar. In fact I've watched these kids go from "make a playlist" to "learn about copyright & licensing" to "produce a track with another person" to "play a ticketed show", and many of these steps were both required ("learn to keep a beat" springs to mind ;) ) and also not obvious to them when they started.
Each one of these domains is massive and full of intrinsic, context-dependent experiential knowledge. But they make a great starting point. I already learned some things about, say, the PCB design domain and have a better catalog of what I'd need to search the internet for to begin that rabbit-hole.
Edit: spelling, grammar
Sure, the word had been coopted to sell things. But so has DIY. And basically any label. If something is big enough to have a label that enough people use, someone else is going to use it to sell to that group. Our society commercializes the hell out of everything.
[0] but of course there's overlap
My working definition of "maker" is someone who fabricates physical things. It's less DIY'er and more crafts & hobbies on steroids. The classic example is people who work in prop departments in movies and theatre. In that arena, you need to be a jack of all trades when it comes to fabricating physical anything. The skills include everything from woodworking and metalworking to mold making, model making, painting etc.
The more you specialize the less the word "maker" applies as I conceive of it. A guitar luthier could certainly be considered a maker by some, I mean it is "making guitars" but the term is intentionally broader than someone who specializes in making something very specific.
But consider the term "furniture maker." We have used the word "maker" in the past to describe someone who makes something specific. You just take off the qualifier and you have someone who makes all sorts of things.
My wife and I are part time magicians and what I often say drives me to magic is that it is the ultimate "maker" hobby. It is extremely multi-disciplined. There's the strict "magic domain" (misdirection, sleight of hand) but depending on what you want to do you end up getting into all sorts of tangential skill development from costume and wardrobe fabrication to building illusions out of a variety of materials (woodworking & metal working) to making smaller hidden devices ("gimmicks" as magicians call them) to practical VFX (makeup, prosthetics etc.)
All that being said, I completely agree that the term has become so overused as to start to border on meaningless.
This is how I view it as well. DIY is something entirely different from making. But the term has been misused for so long that it has, at least in the larger population, lost a whole lot of meaning.
I think that we say "maker spaces" rather than "hacker spaces" probably has a lot to do with the success of Make's branding efforts.
The Visual Artist one mostly works though. I can fill pretty much all of that one in too.
I would honestly expect for the three disciplines where I am fairly confident I am good at, ie 10+ years of experience in an actual working environment. I would expect a relatively new to the industry person to have completed most of the goals. Completing the "skill tree" is the start of the journey in those disciplines not the end.
My take, if you have done this skill tree you are now equipped to know whether you actually want to become an expert in that field.
If this skill tree is up to the hobbyist level then sure, it's not too bad.
I love the idea. The execution... leaves questions.
I feel like the author should have done a few for areas that they are actually knowledgeable in, then left the rest up to others. These feel too much like they were made by someone who tried to learn the surface of every topic they could access but doesn't know enough to organize any of what they learned.
> Using keyboard shortcuts has nothing to do with coding.
Unless you're coding with a pencil or a mouse, it very much does. People like to repeat the "most of my time coding is spend on thinking; typing speed is irrelevant" mantra quite mindlessly, and then they fail to appreciate just how much time they actually spend typing, miss that their bad typing ability is still impacting their overall speed (see: Amdahl's law) and is hindering them from working at a higher conceptual level than just characters and syntax tokens.
Proficiency with keyboard shortcuts of your environment makes high-level operations like "swap these condition branches" or "move these functions over to that class" or "rename this function" atomic or near-atomic operations that you can use on the fly, without thinking much about it. This in turn makes you reason in those higher-level terms more, improving utilization of your thinking capabilities in the non-typing phase too.
So yeah, I'd very much classify keyboard shortcut proficiency (including the associated mentality) as a mid-level critical coding skill.
I don't debate keyboard shortcuts accelerate you somewhat, but they have low payoff and they aren't foundational for anything else. It doesn't hurt to learn them, but it's in no way a necessary skill. You can be just as good a SWE by just being all mouse-clicky. Or living with cut/copy/paste only. What matters is understanding the operations they enable, and internalizing that the source code is merely a representation of the actual problem, not the goal. (And I've debugged and fixed 250k line code bases via fax, so I feel very confident making that statement)
(Also, "swap these branches", "move function", and "rename function" are really not high-level operations.)
"Were these made with AI? No, these were made in collaboration with experts or using my own expertise, without any AI usage."
Same goes for anyone who wants to suggest a better nomenclature (and there are some good suggestions amongst the HN comments).
"Will you keep the 'Skill Trees' name when they aren't really traditional skill trees? While these templates are skill tree inspired, I'm working on some new name ideas, potentially 'Skill Trackers' or something else. Any suggestions appreciated!"
https://rainfordrestorations.com/tag/sloyd/
>Students may never pick up a tool again, but they will forever have the knowledge of how to make and evaluate things with your hand and your eye and appreciate the labor of others...
I've built out some of it but would always get a bit lost in the weeds. I think there's a big challenge with self-learning in that you do kind of want feedback from people about whether you're going about some material the right way or not.
This sort of stuff looks fun though.
Probably not the most useful list.
Sounds like a typical tech influencer.
It is extremely difficult to be an expert in ~50 different skills. Because of this, it is difficult to make ~50 high quality skill progressions.
Have you considered trying to crowd source skill achievements and priorities for these progressions?
I wonder why the cocktail tree has “Ask a liquor store to stock a new ingredient” as one of the most advanced category? Sounds more like an achievement.
"Make garlic bread" is near the bottom, and then "use fresh garlic or ginger in a meal" is five rows higher. Apparently using fresh garlic and ginger is more advanced than "make a daal", which I've never considered even doing without fresh ginger?
(And, wait, making popcorn is even more advanced?!)
These specifics aside, the big issue I have is that basic/advanced is the wrong axis. It should be fundamental building blocks going up to more complex things dependent on those building blocks: using fresh ginger is a building block you learn so you can cook daal. You don't learn how to cook daal and at a later date learn how to add spices!
- rice and beans from three continents
- make a good vinegrette
- make three mother sauces (learn a roux, fond, etc)
- brine, dress, and roast a chicken/poultry
- hunt, field dress, and butcher venison
- catch, filet, and serve fish
- top of the skill heap would be a bouliabaisse, if heap didn't include baking
No. Do not attempt this casually. Every couple years someone in the northwest gets the idea to catch their own salmon and serve it up as sushi. Sushi is not an at-home thing. Either learn to freeze the fish yourself per local hygiene rules and in the correct freezer, or buy from the professionals.
For reference, with tables listing the basic rules in various jurisdictions: https://www.publichealthontario.ca/-/media/Documents/E/2017/...
You can in fact casually make nigiri. It's not a big deal. I'd start with poke, though, because good nigiri is actually pretty hard to do.
As someone commented on AskCulinary: the big no-no is random (non-exempt) raw wild catch.
Buying the proteins? Do you mean that or do you mean buying the fish, maybe?
I was as amazed as you are to find this in a discounter grocery store.
Sushi is absolutely, 100% an "at-home thing". The idea that only "professionals" can do things is something we need to get away from, and I would hope people will see these charts and be inspired to leave that sort of learned helplessness behind in at least one area of their lives.
Go ahead, go make some sushi. People have been doing it for as long as sushi has existed. You can leave off the raw fish if you're unsure how to do that safely.
Sandworm101 seems to be thinking of sashimi.
It depends on where you live. If you're in the Bay Area, you can go to the Tokyo Fish Market in Berkeley to pick up a variety of sushi-grade fish, beer, sake and related groceries.
Not saying, this is the way it should be (and i admit, i installed java by hand .. on freebsd once), but i am a bit skeptical.