
Ask HN: For devs with 10+ years of experience, advice for setting milestones? - _redwire
Hi Hacker News,<p>I&#x27;d like to ask those of you who work or have worked as developers&#x2F;engineers with at least a decade or two of industry experience what kind of milestones you would have set for your younger self.  Essentially, if you were to look back on your first one or two decades of professional work and thought about the major milestones you hit, how might you retroactively imagine a set of milestones that you could have set for yourself at, say, two year intervals, in order to have made as much progress as you did- or more, if there are things you wish you&#x27;d done.<p>Please don&#x27;t feel any need to keep your milestones in some particular mold- I&#x27;d love to know about your goals and growth with regards to all aspects of working as a professional software developer&#x2F;engineer. This could include learning new programming languages&#x2F;tools&#x2F;libraries, studying other subjects that would contribute to other skills- such as psychology for business purposes-, involvement in communities and projects, career moves, etc. To clarify, I don&#x27;t expect for any specific details to carry over. Technologies popular in the past may not be now, so I&#x27;m only really expecting an abstract here.<p>Thank you kindly to all who take the time to respond.
======
nostrademons
It's pointless to do this, because the computing world changes on a timescale
much shorter than 10 years.

I started my career in 2000 at the tail end of the first dot-com boom. When I
started, Java was the hot new language to learn - but not for J2EE or any of
the enterprise stuff, servlets had just been invented a couple months before.
No, you used Java to write little applets on web pages, or if you were
_really_ cutting edge, to write Swing UIs that could run on Windows, Mac, and
UNIX (which meant Solaris as much as Linux in those days). "Programming" was
synonymous with "Windows desktop programming", at least as a growth industry
(there were still mainframe programmers & embedded systems off in established
companies, but the common discourse in the tech world ignored them because you
could make more money with less training jumping on the latest hype train).
There was none of this sub-specialization into frontend devs, mobile devs,
backend devs, data-scientists, devops, SRE, etc: you just did everything
necessary to write the product.

Toward the end of my gap-year, I told my boss "I want to learn COM", because I
was running into the limitations of what Java could do. His response was "Why
bother? By the time you graduate from college, it will be obsolete." This was
fractally right - not only had COM been replaced by .NET and C++ by C#, but
desktop apps had largely been replaced by webapps, and programming in general
was moving to the server.

I did end up advancing throughout my career - I doubled my salary with every
new job I took, and then it kept doubling every 2 years or so. But the _way_
that this happened was completely unpredictable and involved seizing
opportunities that just happened to land in my lap. I ended up at Google; for
many people Google is the dream job that they spend their whole life going
after, but for me it was the consolation prize for a failed startup. I thought
I would leave Google after a year, but I stayed more than 5 because each time
I debated leaving, I looked at the opportunities available to me inside the
company and thought they were more exciting than the ones I saw outside of the
company. And then one day, I looked around at the opportunities inside the
company and couldn't find one that seemed more interesting than the
opportunities outside, and so I left.

If I had to give advice on milestones: it'd be this: ship. And much more
frequently than every 2 years; try not to go more than 3-6 months without
producing something tangible that you can point to and say "I built that". If
you're not at an organization that can do that, move. Finish your project
unless it's totally apparent to everyone that the project is ill-conceived or
apparent.

And don't be afraid to abandon your life goals & milestones if an opportunity
comes along out of nowhere that seems really, really exciting. The biggest
successes of my career (getting into software in the first place, switching to
webapps in 2006, joining Google in 2009...and not quite career-related, but
marrying my wife) have been because I was willing to abandon my life plans and
go after an opportunity that wasn't what I had in mind, but seemed really good
regardless. And my biggest failure (saying no to Dropbox when they had closed
their seed round a week before and were just Drew, Arash, and Aston) was
because I had a plan and what seemed like obligations to finish it, and so I
didn't even consider the opportunity.

