top | item 25981348

(no title)

diN0bot | 5 years ago

why not study both? or rather, encourage people to balance their diet according to their specific situation. learning two types of tools sharpens them both. in the case of design/implementation, it provides both short-term and long-term utility and enjoyment.

for some people, that means learning an actual database and building something rather than consuming more information. for other people, that means learning more computer science concepts and meta knowledge/skills.

cynically, i agree that fundamentals seem to be increasingly on shorter and shorter supply... but i suspect it's a wide world, and that what we're actually seeing is a WIIIIIIIDE spectrum of jobs (and interests!) all called "Software Engineer".

besides, people can think for themselves -- that's the point of learning fundamentals (meta-concepts and thinking skills).

the exact diet someone needs depends on where they are at currently, both technically and financially, and where they want to be.

PS - the main article is about apprenticeships, which serve a way more important function than learning: getting a foot into the job market. for many engineers without work experience, they're not even getting a chance to interview without first getting a network and proven track record.

discuss

order

hintymad|5 years ago

> why not study both

Because no need. Technologies come and go all the time. They can be learned on the job anyway. With the right mental models that we developed by studying fundamentals, we get to pick up specific technologies quickly too. Studying in our spare time is an investment, so we need to treat our time as the most precious resource.

scottLobster|5 years ago

I'd say applying said fundamentals is absolutely essential to fully learning them for engineers, and that requires specific technologies, particularly if you're doing anything with hardware. Sooner or later you have to pick a micro-controller and read the data sheets, learn all the vendor tools that come with it, experiment with open source options, etc.

It also depends on your objectives. Are you studying for fun/general improvement or are you angling for a particular job/vocation? If the latter you better be using the tools the job is likely to require.

Not disagreeing that fundamentals are important, they're vital. But I wouldn't say there's "no need" to study specific technologies. You'll never be competitive if all you do is train fundamentals with no applications or objectives. And not all employers are willing to let a new hire "learn on the job". Also technologies do not "come and go all the time" outside of webDev. My knowledge of c++ and Java from 17 years ago serves me well to this day.

edmundsauto|5 years ago

> why not study both

Because time and energy are finite.