Hacker News new | ask | show | jobs
by hijklmno 2107 days ago
Not if someone is striving every day to become better, observe, learn, test, and adapt. For someone who procrastinates a lot and does not proactively look to improve, it might take 6-8 years!
1 comments

I don't know if this comment is serious, but I'd suggest you explore the idea that you don't know, what you don't know. With a few years of experience, you can feel comfortable in a technology stack and seen and learnt from a few mistakes. You may know the names of other areas, and played around with them a bit, but you won't understand their pitfalls. This is not enough to make decisions. Software is not easy, it's far too easy to make reasonable design choices, that turn out in the long term to be poor. These can cripple large scale systems.

There is so much that you can't learn from books. Reading Mythical Man Month does not make you Fred Brooks, reading Shoe Dog does not make you Phil Knight, nor does reading a medium article on event driven systems make you ready to implement one.

Imagine that the college of surgery acted in the same way, a surgical trainee who has worked for a few years and reads a lot may feel comfortable taking the lead in a surgery, but will be out of their depth the moment things deviate from normal. I spoke to a surgeon about this once, and he described how he taught a particular procedure. At one point he has his student reach in to the body, with the explaination that 'it should feel like this'. No book can substitute that experience.

What you say is true. Perhaps, a distinction ought to be made between mere mortals like us, and the obsessed ones. In our era where information is more easily available than food, and where experienced people willing to help, are just as reachable, I think for someone who dedicates the time towards mastery, 2 years will take him/her very far.
I say this as someone who started learning to program on his own at age 8, and is now 37:

> I think for someone who dedicates the time towards mastery, 2 years will take him/her very far.

You might get very good at a particular niche in 2 years. You will not have learned the lessons you learn when you go back to a five year old project yet and make changes. You will not have the breadth of experience from having worked intimately with dozens of teams in different languages, cultural expectations, and business domains.

Honestly, the more I learn, the more I know I don’t know. As an example, last year I had an opportunity to work on robotic control systems. I dusted off my calculus and linear algebra skills from way back, implemented calculations that ran in under 1ms, and has a ton of fun doing it. Could I have explained a Jacobian before starting that project? Not likely! Do I use it in other stuff now too? Definitely.