by adityam582y on 11/8/22, 9:29 AM with 18 comments
by whydat_whodat on 11/9/22, 6:11 AM
So, I start there: Google "learning plan for learning XYZ-thing" or "Roadmap for learning XYZ-thing".
As a Developer, we're in luck: https://roadmap.sh/ covers many IT skill-learning roadmaps. I highly recommend starting there. and clicking through to explore a particular skill roadmap it shows.
Aside from that-- I mostly read a book on the topic, via free book sites like Libgen.is -- For example, recently I wanted to learn Kubernetes in the context of microservices. I lucked out and found a book there which discusses both, plus docker as well. Same with helm charts.
Another option: Take a Udemy.com course-- many are 30-40 hours-- plenty of learning material for picking up an introductory skillset. After I finish a course, I sometimes try to build my own version of a project using what I learned, and refer to the course material as needed.
From there, I chat with people on IRC (Libera Chat server) in various chat rooms such as Linux, Docker, Nodejs, etc. (Google: "IRC chatroom for XYZ-Thing" to find out if the topic has a chatroom ). Another option is Discord-- same story.
In the chatroom, I can ask "Do you suggest a path to learning XYZ-thing".
So, basically you just ask the internet, and search for resources such as books, videos, chatrooms, forums.
To ReIterate:
**** Roadmaps: https://roadmap.sh/ ***
Videos: Udemy.com (or google: "MOOCS for XYZ-TOPIC courses)
Books: Libgen.is (or google: "where to find free books online"
Ask people in IRC or Discord chatrooms
by EricE on 11/8/22, 4:21 PM
by Bhurn00985 on 11/8/22, 11:04 AM
Basically it comes down to finding an expert or mentor who has either written one or is willing to help you. I know this is not necessarily the answer you're looking for, but the challenge as a beginner is that you do not know what you do not know, and you do not have the knowledge required to judge what is important and what is superficial at that time. Hence, you need some form of guidance by someone.
I agree with you that there is too much introductory content, and the moment you have some level of understanding on a topic, it becomes more difficult to find good sources at your level. In my opinion, this is simply a reflection of how much most people know. These days, many just scratch the surface, make some "content" out of it, and that's it.
For my personal practice, I tend to recognize 2 common options. Either I find some form of learning path, no matter how introductory. Certain topics have more than others. Alternatively I just start with the very basics, and then start practicing. As I learn more, I come across more topics which I keep track of and learn as they become necessary, or based on how often I come across them.
That said, it is a deep wish of mine that more people would write "How to become X" or "How to learn Y" articles from a position of expertise.
Some examples I like:
- How to become a GOOD theoretical physicist: https://www.goodtheorist.science/
- Intro to binary exploitation around CTF challenges: https://guyinatuxedo.github.io/
- A Complete 4-Year Course Plan for an Artificial Intelligence Undergraduate Degree: https://www.mihaileric.com/posts/complete-artificial-intelli...
- Demystifying Security Research: https://alexplaskett.github.io/demystifying-security-researc...
University reading lists, syllabi, tables of content from books, references from papers, etc. are often also good sources.
Good luck on your learning path !
by throwaway0asd on 11/9/22, 9:00 AM
2. Set ambitious product goals. For example you want to drastically increase speed of transmission handling in your product. This means exploring various different transmission options, such as streamed sockets versus HTTP. You have to measure the difference and pick a winner.
3. Be continuously aware of your learnings. Very quickly you will find that the things you learn, from evidence and measures, differs drastically from popular approaches. These differences build on each other. After applying a few of these learnings in your product it will become both vastly superior to the alternatives on the market and completely unrecognizable to popular approaches for most developers.
Those three steps will impose a critical education path based upon evidence that will provide direction, originality, and constructive feedback. It’s not important that one option is superior to another. What is important is just how superior the better option is, which is something learned from experience and will dictate future learnings.
by matt_s on 11/8/22, 1:54 PM
Pretend someone is a web app developer and has completed beginning training so they know how MVC works in their language/framework of choice. They can build a blog/todo app, they know how to write tests, etc. They could theorize what to do if they had a web app that was growing traffic into 1000's of requests per second and response times were getting too high but unless they have an actual web app with poor response times and lots of requests its just theoretical.
My advice is to think about what you want to improve on and learn and then find an organization/company that is doing those things at a level where you will get situations to deepen your knowledge and go work there. Same for soft skills, organizing work, running meetings, negotiating scope, etc. in the practical sense are only going to happen when those things happen.
by dangerface on 11/8/22, 4:52 PM
Planning is the enemy of doing, spend an hour a day doing something you don't know how to. If you are an intermediate and want to advance you need to learn horizontally, broaden your horizons it will be useful in places you didn't realise don't try to specialise.
> Also how do you avoid participating in the sessions which offer beginner-friendly content?
Avoid tutorials and goto the documentation / reference. Think of something you don't know and figure out how to do it. You will fail constantly but thats the key to learning, if you only follow tutorials you will only know what to do and will never learn what not to do and why you shouldn't do that.
If you are used to academia then what I just said makes zero sense you are used to learning pre packaged lessons with the sole aim of a goal, getting a qualification. Learning in academia is like a race to the finish line this doesn't work when you leave.
As you point out there is more things to learn that there our hours in your life to learn them you need to change your learning strategy from one of goal seeking to gradual consistent improvement. The real world is awkward and doesn't try to be understandable which makes it a lot of fun when you figure it out.
by BWStearns on 11/8/22, 5:26 PM
For learning in any new-to-you large context without a structured curriculum it'll be a yak shaving adventure. But occasionally checking your to-learn list you'll realize that you _don't_ need some element you thought you did because you've found an alternate/easier path, so be on the lookout for opportunities to prune the dependency tree.
If you're self-teaching a big new subject area you're going to encounter unknown unknowns and your objectives will change while learning/doing, keep your plan evolving based on what you learn to keep moving forward.
by jstx1 on 11/8/22, 9:41 AM