

Ask HN: Does modern software development require too much knowledge? - hoodoof

New developers need to know SO MUCH stuff that I wonder how its possible to get anything done without four years intensive learning and practical experience under your belt.
======
thebigspacefuck
If you're having fun, seeing the possibilities instead of limitations, eager
to experiment and learn, then you won't even notice. Find what you can do, do
it well, learn how you can do it better, and it will all come into place.

I've heard it said that software development knowledge has a half-life of 3
years. That means you'll forget half of what you learned 3 years ago. That
means half of the stacks that are relevant today are going to be gone in 3
years. What doesn't leave is your ability to learn, how you do things, your
approach to problems and your priority.

Keep dreaming and visualizing what you want to create. You may not see how
what you're doing today is ever going to materialize into something, but at
some point everything will click and you'll be building what you want.

------
xennan
Actually I think starting with programming is easier than ever. When I started
programming there was no Google, no stackoverflow.com, there weren't even
decent IDE's.

Modern languages like C# or Python are powerful and easy to learn.

For JavaScript you just need a text editor and a browser. But then, I think
that JavaScript is not that suitable for a beginner because It has some nasty
gotcha's and it fails easily without an error.

But it is true, the learning never stops, there are always new tools to
discover.

------
tejasgarde
Software development requires continuous learning it may be new
technology/language methodology or a complete new platform so Why only 4 Years
, In my opinion as software developer you are a student always, you need to
continuously increase your knowledge and its practical implementation;
technology comes and goes so you need to be adaptive.Yes it always takes some
practice experience to build something valuable but you can always start with
something very little and working and then build as you improve your knowledge
and skills. So be open minded learn something new every day and build valuable
things.

------
davelnewton
You don't start off having to know everything.

You start off picking off small problems that don't require deep knowledge of
an entire stack.

 _Then_ you have to know everything: there's no question a full-stack dev has
to know a stupid amount of stuff. I've drawn a line at all but the basics of
devops; it's not something I'm interested in, and even though it's important,
it won't be where I focus much attention.

------
CryptcWriter
I think development of software will continue to get "easier" as languages,
technologies and ideas evolve. I think over time these technologies will get
to the stage where you barely have to think about the technology in use, and
rather just focus on the problem at hand/what you want to build; this really
is currently the case only after years (or decades) of experience and
purposeful practice.

The current development of software does require a lot of knowledge to break
into the market; however this also means that software development is a
skilled profession which leads to higher than average salaries.

I would also add that we are seeing people enter the software/web dev market
without a 4 year degree. A lot of people that I know have done 2 year diplomas
and even compressed 4 month "bootcamp" style programs

------
theideasmith
It is true that to succeed the modern developer requires an enormous skillset.
At the same time, everything is so accessible because of places like Github,
IRC channels. There are a wealth of tutorials covering every topic imaginable,
sites like StackOverflow giving you the opportunity to have your problems
solved, and a community of developers who truly want to help fellow
developers.

Because everything changes so fast in software, in the developer DNA must be
built in the ability to master new concepts and apply them very quickly. You
build a solid foundation and can apply it everywhere. Additionally, in
software development, you reinforce the skills that are important because you
use them. You learn as you go and must always be learning.

And for some perspective, think about how relatively easy it is to become a
developer vs. getting a PhD.

------
27182818284
Absolutely.

It especially hits when you try to teach someone new how to do something. It
is terrifically easy to open notepad and show them how to make a <p> tag, but
the curve then climbs quickly. Stuff that I take for granted I didn't really
realize until I was teaching someone—I had to introduce them to browser's
developer tools, what caching is, and hey what are these status codes anyway,
etc. On top of that, deployment seems harder these days for new folks.

I actually have high hopes for Meteor JS simplifying some of this. Thus far
I've noticed that people really like being able to do "create" and "deploy"
and have a working URL they can share with a friend.

------
richerlariviere
You can keep your software development workflow simple. Example: You could do
a website using Html5, CSS3 and Old-school Javscript or you could use all the
tools like grunt, bower, CoffeeScript, SASS (or LESS) etc... It depends on the
level of engineering you want to put into your project.

------
Avalaxy
> four years intensive learning and practical experience under your belt.

You're not even finished after four years. In fact, you're merely starting.

