I am 18+ year exp software professional. I see wide variety of topics in HN and I feel like I don’t know a lot of things in computer world. Off late I find it hard to follow lot of them. Crypto, ML, Data, Quantum Computing. Do anyone feel this or if you feel it how you cope up ?
I feel you first need to learn how to be competent, then you need to learn how to be incompetent. By that I mean recognize your areas of deficiency, know how and when to ask for external support without being ashamed about it (being competent _somewhere_ helps with that). I don't know if this is meta-cognition, wisdom, or something else.
While you're still struggling on the first step it's easy to get tripped on the second one.
My recommendation to younger people starting out is to aim to become a "T Shaped Person"[0], or even better "F", or "π" shaped. The idea being to have a very wide range of shallow knowledge, enough to communicate, understand, spot the BS, and make a start. But have a very deep area of expertise in one, or ideally a few, core areas relevant to your chosen field.
Personally I find HN an invaluable resource to ensure that I have a very board, but shallow(ish), understanding of a large number of interesting things. I've been here for 14 years and it's probably been one of the most valuable experience I have had.
0: https://en.m.wikipedia.org/wiki/T-shaped_skills
So following the HN community too closely can stir feelings of insecurity and inferiority and the imposter syndrome. And yeah, I feel it sometimes, too. :-)
You can't know everything and you can't keep up with this firehose of new knowledge that is published every day.
Most of that is not relevant to your field anyway - whatever it might be, so you don't actually have to know any of it.
I mean, you're free to take it all in, but don't expect anyone to quiz you on it in a professional environment.
Hacker News is :
1- a jungle of expertise.
2- an "evanescent" stream of trends 3- a leading edge So you should :1- Try to just enjoy it
2- Work on you negative feelings 3- Reflect on you personal knowledge needs PS : search the thread for the original contextIf I find something I genuinely want to learn, it’s just a matter of spending focused time learning it. I also believe it’s important to know when to cut off an interest that is no longer serving you. While discipline is important to push through discomfort and overcome adversity, it’s really silly to be wholly invested in a topic or hobby that brings you no value in life. That value can be monetary or happiness or growth. But it’s important to know that you don’t have to know everything and it’s really silly to do so. There will always be something you don’t know.
For you, maybe ask yourself why do you want to know all these things? Maybe you can identify if they serve you in a way. Of those that you believe will make your life better, spend 30 minutes every day or every other day learning from the ground up about the topic. Maybe put it into practice, or just take a course on it. Regularly reflect on if this is what you want to be doing, if your making meaningful progress towards whatever goal you have, and celebrate your successes!
> I think the key is to focus and prioritize
I think prioritizing is the key. Part of that is figuring out
What is past its prime (Cobol on punch cards), or never really had its day in the sun at all.
What is dull but you can make money with, which will probably be around in some form five years from now too (backend programming of micro-services with a popular JVM language)
What exciting things are coming into being now which might have some jobs or interesting applications now, or perhaps a lot more in a few years (training and using deep learning models).
Crypto nowadays is mostly a scam which began unwinding over a year ago. Probably best to ignore it, its day is past.
Quantum computing is interesting but it's such early days that you can put off reading about it this year if you're overwhelmed.
ML and big data have had a lot of interesting applications this year. GPT, Stable Diffusion, DALL-E. I can do some pretty cool things on my workstation with Stable Diffusion that was not able to do five months ago. If you have time to look into something new this would be it.
As I said, there's modern but dull and not much new innovation things, which there is steady work and money in like React front end programming, or JVM Microservice backend programming, or whatever. There are also things like deep learning which are going from innovation to innovation, which is exciting and may open up a whole new field (Stability AI just got $100 million in funding, although things are so new, they only started putting their hiring team together last month - they're mainly recruiting recruiters right now).
The best way of coping is a JOMO (joy of missing out) and moderation. You don't need to know everything and you surely don't need to spend all your time trying to. It's okay to not know. That's the beauty of life.
1. What problem is this trying to solve?
2. What are the strengths / weaknesses?
Usually you don't have to go very deep to get a feel for these questions. I figure that if I know these things, then in future if I encounter a problem where tech X is useful I can go learn the details. If I never do, I can at least prioritize within whatever free time/energy I have for additional side learning.
As an example, for quantum computing the problem it's solving is surprisingly hard to identify. Breaking (some) cryptographic algorithms is the classical example, but that's not a problem I plan to try and solve anytime soon. Other use cases tend to be vague - ML is often mentioned but actual players in the AI space don't seem to be investing into QC much. Quick eval result: pass for now until use cases become clearer.
What about ML? Many useful problems that can be solved with that - anything where you can't easily express an algorithm to solve a problem but one may be learnable by example. Strengths: capable of doing things no other technique can do. Weaknesses: requires lots of clean(ish) data, advanced ML may need specialists, training/inference can be expensive, finding ways to actually apply it to business problems is remarkably tricky due to its capacity for random failure and difficulty in coming up with fixes for that, which doesn't fit the needs of most automation projects ... but can be OK if you can predict fast enough to speed up a human who's already in the loop, or if mistakes are cheaply correctable. The exact details of how it works? I enjoy reading about it. There's a good article on the GPT-3 DNN architecture on the HN front page right now actually, but it's just some casual hobby learning. I don't feel stressed if I don't grok all the details right now because it's not necessary to do so.
In other words, focus on knowing the outlines of these topics and learning when/how to apply them, then forget the rest. That doesn't take as much time as you'd expect.
These two simple questions seem like a great approach and one I will take in future, appreciate your sharing it.