Live data from Hacker News

Ask HN: With such fast changes in technology, how do you update your skillset?

news.ycombinator.com

51–60 of 90 posts

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#51
post #34
post #11

To be honest, it isn't and I don't. That sounds rather blunt, but most organisations that aren't startups don't change technology quickly if at all. C++ has served me well for two decades; I probably ought to adopt C++14 but on the other hand my current job requires that the codebase build with a 2008 compiler. I'm also extremely skeptical of the extent to which AI and VR are new , as opposed to incremental improveme…

I have to say, as a student it is very comforting to read this. I've been worried sick trying to learn the things I see people commenting here or in hackernoon. I had the idea that by the time I graduate, these technologies will be trending or have a good market share.

Glad to be of reassurance. There's more in the world than it's possible for one person to know in a lifetime. The "last man who knew everything" died in 1829 ( https://en.wikipedia.org/wiki/Thomas_Young_(scientist) ). So we have to pick who and what we keep up with, and to what depth.

There's a good chance that something else could be trending by the time you graduate. The media mood is very ephemeral. For employment purposes it's better to look at job ads statistics (annoyingly hard to search for phrase) and make your own inferences from there; anything currently popular will take a while to sink. As with any statistics, also ask yourself what is left out.

Stackoverflow dev survey is a reasonable starting point: http://stackoverflow.com/research/developer-survey-2016

Javascript frontend has been big for a while, but suffers from a tremendous amount of churn. Maybe the best solution here is what people used to do with music: find someone "cooler" than you and copy their taste.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#52
post #11

To be honest, it isn't and I don't. That sounds rather blunt, but most organisations that aren't startups don't change technology quickly if at all. C++ has served me well for two decades; I probably ought to adopt C++14 but on the other hand my current job requires that the codebase build with a 2008 compiler. I'm also extremely skeptical of the extent to which AI and VR are new , as opposed to incremental improveme…

I completely agree with you. I started in this field in 1992. I've seen the coming and goings of many flash-in-the-pan technologies. If you are a dev and are selling yourself on your skillset, ask yourself, "is this sustainable?" The answer is "no." A fifty-year-old brain simply does not absorb new technologies as fast as a 25-year-old-brain. If your plan is to continually adopt new cutting edge technologies in order…

Er, one of the best developers I know is over 50. However, they consciously chose that path instead of tracking into management because they like being a principal engineer where that means they still get to work with code, but also have enough experience to anticipate pitfalls and make considered decisions.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#53
To give you some context, I'll answer this as a [largely] life-long consultant. As such, I don't chase technology, I anticipate the trajectory of job growth. I want the project that I decide to work on next to propel me to a project that will likewise broaden and deepen the experience and skillset I have to offer.

I also try not to get trapped into working for clients whose only interest in my experience is to recreate one of the last things I did. The easiest way to kill your value is to do the same thing over and over - even twice is too much.

It's true technology progresses in dog years. When you are working you are not learning outside that bubble. When you are between assignments you absolutely must treat that time as a sabbatical to learn something/anything new.

By broadening your skillset through selective project engagement, you are better off than Skippy who has worked on the same application with great job security for 5 years - Skippy will not be someone you will re-encounter 10 years from now unless you are buying a used car and they happen to be the sales person. The industry is self-selective this way. The complacent "I got mine" mentality is toxic to longevity in the industry.

Let me also dispell the meme that sticking to a specialty is a desirable thing. The fact of the matter is that the ocean of legacy code grows exponentially and there is always a need for someone who knows a legacy language or technology. this kind of career trajectory is as desirable as cleaning out septic tanks. There's job security to be had and you'll hear plenty of "Ho, ho, ho - I don't need no stinkin' new fangled whatever" to be indispensible. My advice is not to be that guy/gal.

It is a much harder and a much richer experience to navigate a career in the flow of technology than to get myopically paralyzed by a desire to featherbed where you are today. But your question is "how" to keep up. IMO, the answer is to skim lots of material and only dive in at the last most relevant moment. The generalist is far more qualified that the specialist these days because most companies cannot afford a prima donna - they need people who can perform many jobs and serve many needs.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#54
3D graphics math is all trig and linear algebra, with some signal processing. You don't have to know that stuff to use unity to build VR apps, but it helps. Those skills will never, ever, be obsolete. Even deep learning is rooted in linear algebra.

The technology churn in other spaces like front end development can be mitigated by learning to read really fast. I don't have deep experience with any one front end framework, but I can inhale the docs and source code pretty fast when I need to get my hands dirty with one. Again, speed reading is a skill that will never be obsolete.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#55

Earlier quoted context omitted.

I completely agree with you. I started in this field in 1992. I've seen the coming and goings of many flash-in-the-pan technologies. If you are a dev and are selling yourself on your skillset, ask yourself, "is this sustainable?" The answer is "no." A fifty-year-old brain simply does not absorb new technologies as fast as a 25-year-old-brain. If your plan is to continually adopt new cutting edge technologies in order…

> Plan your exit into management, a related field, or some other job altogether. If you expect to be a coder at age 50 you're going to be disappointed. I'd like to simultaneously disagree and agree with you. If you were a 50 year old coder 10 years ago, then your only hope of remaining in the tech industry would be to add "Manager" to your job title. If you are a 50 year old coder today, that's still a sound directio…

I'm seeing a lot of mythic stereotypes here. I am a 52 year old full time coder, and have been actively developing since taking a college pascal class at age 11.

> If you were a 50 year old coder 10 years ago, then your only hope of remaining in the tech industry would be to add "Manager" to your job title.

People outside the startup bubble value delivering, regardless of age. Developers outside the startup bubble work consistently in a few areas of technology, they develop deep personal understandings with cookbook / solution / frameworks they personally authored enabling them to construct stable solutions that expertly address the problems being addressed.

Essentially, if you remain a "coder" and you use your brain at all above simply being a coder, you will become a software scientist. I never start anything from scratch, as I have about a dozen application skeletons ready for various specific purposes, plus similar libraries I wrote, plus a knowledge of several large commercial SDKs, and developer experience in several major FOSS applications. The work that I do now would give my 20 or 30 year old self a heart attack with the large scope, number of complex technologies, and the time frame I'm expected to deliver. But I've been writing code for 40 years now, and I may bitch at my tools, but it will deliver, it will be well written, fully documented, and so on because anything less just creates technical debt.

If you like writing code, start acting like a scientist about it. Few developers do, and in time you will accelerate away from your peers into a truly enjoyable professional space very few seem to occupy.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#56
- Be aware of new trends. You don't have to learn everything. But pickup and try those that are promising to solve real problems in your current position.

- You should be able to move back and forth between management and technical positions. They are not mutually exclusive. You can a skill set that allows you to do either. It gives you greater perspective and flexibility. One piece of advice that I was given in college is that even if you are the Director of IT you should leave small (non-critical) pieces of software for you to work on. So you never lose touch.

- Try to work for good companies. My definition of good companies are those where you can be productive every day.

- Some skills will be helpful all your life. I learned Unix in 1989 and have used it almost every day.

- Learn the fundamentals. Data structures, algorithms, relational theory, structured programming, object oriented programming, functional programming, networking, Operating systems, theory of computation, et al.

- Understand the business domain in which you are working. That makes you extra valuable for your current company.

- Develop your soft skills. http://www.skillsyouneed.com/general/soft-skills.html

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#57

A lot of the technology on the bleeding edge will be gone in a couple of years. AngularJS v1 used to be the next big thing, now it's obsolete. Who knows if v2 will stick around. So following the latest technology in detail is unnecessary. Far more useful is just having a broad sense of what tools are available out there; it takes less time, and it's more useful since it gives you access to a broader set of tools on-d…

While Angular 1 might be 'obselete', there's still a lot of corporations out there with tons of Angular 1 code, and most of them are not going to be upgrading anytime soon. Angular 2 is enough of a paradigm shift that it would require rewriting those apps from scratch, pretty much, and there won't be a business need to do so for another 5+ years for a lot of these companies.

We're still doing new apps in Angular 1 here, because everyone knows it, we can reuse more code, we know most of its quirks and how to squeeze performance out of it, and we can get the apps out the door a lot faster. Eventually we will have a new project where we decide to use something more current, though.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#58
When I was in college, I majored in math and physics. Only two math classes gave me trouble. One was Real Analysis. There were just too many theorems. I couldn't remember them all, and then I couldn't figure out what to use to solve the problems on the test.

Eventually I realized that, out of maybe fifty theorems, only maybe three were used to prove all the others. So I memorized those three, and worked out anything else I needed for the test on the fly.

You don't need to keep up with the Hotness Of The Week(TM). You need to know the fundamentals well, and you need to be able to learn the rest when you need it.

Re: Ask HN: With such fast changes in technology, how do you update your skillset?

#59

Earlier quoted context omitted.

> Plan your exit into management, a related field, or some other job altogether. If you expect to be a coder at age 50 you're going to be disappointed. I'd like to simultaneously disagree and agree with you. If you were a 50 year old coder 10 years ago, then your only hope of remaining in the tech industry would be to add "Manager" to your job title. If you are a 50 year old coder today, that's still a sound directio…

I'm seeing a lot of mythic stereotypes here. I am a 52 year old full time coder, and have been actively developing since taking a college pascal class at age 11. > If you were a 50 year old coder 10 years ago, then your only hope of remaining in the tech industry would be to add "Manager" to your job title. People outside the startup bubble value delivering, regardless of age. Developers outside the startup bubble wo…

I appreciate your different perspective enormously.

I have spent the bulk of my career working in larger, team-based environments. In my experience, being able to conform to cultural norms is essential to being a high-performing team leader or member.

Many, many teams have prejudices and / or litmus tests. For example, I've spent decades doing project management. I use Gannt charts. Why? Because they are the best way to communicate timeline expectations with stakeholders. I don't use them to manage the project. But I've encountered more than one Agile team that flat-out considers the use of these charts to be anathema. You might as well crap on the rug.

That's just one example. Obviously there are also the buzzword technologies. Here's an overgeneralization you might agree with: young developers tend to naturally gravitate towards newer, less proven tech. Us older developers naturally gravitate towards more mature, established tech. This creates a source of age-related friction.

Then there's the inability of others to grasp the applicability of your experience. For example in the 1990s I built a lot of actually awesome Lotus Notes/Domino applications. Now that's a technology that, if you mention it in various meetings, will get you laughed at. However, Domino was kind of the original "noSQL" / "BigTable" world, and it turns out that my application architecture experience in the Domino world translates meaningfully into these "newer" (ha!) database technologies. But try to tell that to team members.

So I guess my comments are orthogonal to yours. I agree with pretty much everything you write, but it leaves out the important social aspect.

Post reply on HN