- SQL, this goes without saying but if you’re only using an ORM without knowing SQL, you’re setting yourself up for failure.
- Regular expressions, it’s not that hard. Knowing how to read and write a regex without needing an external tool (I often use regex101 but I don’t need it) is a huge life saver. It also helps develop a good intuition of when to use (or not) a regex.
- bash, a lot of people use it but never took the time to actually learn it (ie. can’t write a condition or a loop from the top of their head). You’ll use it your whole life, learn bash
Time management. Cooking. How to distinguish false information from true with a reasonable degree of accuracy. How to explain things to people. Formal logic - most computing languages are basically just logic with a quick coat of paint on top. How to figure out people and what to say and what to do and what all the weird contradictory social rules are. How to make a good impression. How to mask, if you're neurodivergent and assuming you haven't already learned it - in which case, how to stop masking.
> In this technique the subject memorizes the layout of some building, or the arrangement of shops on a street, or any geographical entity which is composed of a number of discrete loci. When desiring to remember a set of items the subject 'walks' through these loci in their imagination and commits an item to each one by forming an image between the item and any feature of that locus. Retrieval of items is achieved by 'walking' through the loci, allowing the latter to activate the desired items.
> A variation of the "method of loci" involves creating imaginary locations (houses, palaces, roads, and cities) to which the same procedure is applied. It is accepted that there is a greater cost involved in the initial setup, but thereafter the performance is in line with the standard loci method. The purported advantage is to create towns and cities that each represent a topic or an area of study, thus offering an efficient filing of the information and an easy path for the regular review necessary for long-term memory storage.
Had no idea this was invented before me :D It works wonderfully, even with too vague ideas or concepts and retains even after 20 or something years. You can start working on something and return to it later. When I think about some topic, like hardware or about a set of vague topics, I'm being automatically teleported to a specific place I'm familiar with, or have been there at least couple of times.
Directly related to computing are the capabilities of asking questions. Why is that? Because the computer, being a tool to solve problems benefits from asking the right questions so you can solve them.
Sinte the problem is usually within other peoples mind, you need to be good at extracting this knowledge from them.
Hence the need for knowing how to ask.
If you add the issue of emotional barriers, then knowing how to handle difficult questions is even more powerful.
I'm gonna be the boring guy and say DSA. No matter what computing environment you find yourself in, DSA has the potential to make your life much easier.
Math would be an even more OP answer, but CS can be seen as a kudzu vine of discrete constructionist mathematics, and I don't want to give you the impression that e.g. real analysis is that useful for what we're up to here.
IMO, the most useful thing to learn is how to communicate with others in a way that will help them to understand you. This means avoiding jargon and abbreviations, or at least footnoting them: for example, DSA[1]. Better yet, start every document with a "Terms and Abbreviations" or "Glossary" page.
- Linux/Terminal commands/Vim
- IDE (VSCode/Sublime/Jupyter)
- Network Debugging Tools including Browser Dev Tools (Chrome/Firefox)
- PostMan
- Prompt Engineering for quick development/learning new languages ( Finding AI Studio and ChatGPT both pretty useful currently)
Not sure about a lifetime :) - but 1/2/3 (some version of it) I have been using for more than 20+ years now.
Measuring things, knowing the units and how to convert them, and how to use the appropriate tools (measuring tape, multimeter, your hands, calculator). Math.
Learn physics, it is really useful for understanding just about everything. Knowing the mechanics of machinery is also very useful. If you're asking about physical tools, there are the usual ones: screwdrivers, hammers, saws, wrench's, pliers, etc. Learn to operating a milling machine and you can make anything. Good flashlights are really useful and last a long time and there are indeed aspects to learning to use them well (battery conservation by using momentary on buttons, color accuracy-important in medicine, colors, UV, search and rescue, note taking and book reading, etc.) Also cooking, you'll live better and longer. Some basic sewing skills and the simple tools and materials that go with it. Some sociology for understanding people. Any physical or mental (or both) discipline: Kung Fu, meditation, drawing, reading+writing+arithmetic, art, music.
Some things have proved to be very useful in past decades but may not be so useful in the future, like small engine repair, and possibly computer programming and electronics. Small engines will cease to exist with time, computer programming is trending towards automation and libraries, electronics keeps getting smaller with less ability to manually build and fix it, though understanding electronics from a design perspective seems likely to still be useful for some time.
Learn a bit about electronics and hardware, so you can interface computers to the real world.
You can learn about signal processing by playing with GNU Radio, which is kinda fun even if you're just working with the I/O from your microphone and speakers. Groking negative frequencies is kinda wild, but useful.
I guess being able to focus and discipline (working when you don't feel like it) are two of not only the most general but also most important skills you can learn right now.
It's just a theory of course because I'm still very far away from being remotely proficient at it.
Communicating boundaries, (strong) requests and criticism without making people defensive. Communicating appreciation without condescension. Leading without ego, from behind, for the best outcome and benefit of all participants.
Throughout a lifetime the tools themselves will most likely change. The curiosity and willingness to find, evaluate, learn, and apply tools throughout a lifetime is a skill in itself and would be extremely valuable.
I know my degree required a technical writing class. I've rarely had the chance to use it. But my org is dysfunctional and documentation is considered to be garbage compared to speed.
- SQL, this goes without saying but if you’re only using an ORM without knowing SQL, you’re setting yourself up for failure.
- Regular expressions, it’s not that hard. Knowing how to read and write a regex without needing an external tool (I often use regex101 but I don’t need it) is a huge life saver. It also helps develop a good intuition of when to use (or not) a regex.
- bash, a lot of people use it but never took the time to actually learn it (ie. can’t write a condition or a loop from the top of their head). You’ll use it your whole life, learn bash