Is programming still a valuable skill to learn?

Hacking employment, improving work, professional development
alex123711
Posts: 3
Joined: Fri May 15, 2020 8:33 pm

Is programming still a valuable skill to learn?

Post by alex123711 »

Is programming still a valuable skill?

It seems like everybody is doing tech/ programming and salaries are going down, almost everyone who loses their job or wants to change careers is being to told to learn to code.

It's also in the best interests of tech companies such as FAANG to hype it up as a career to drive wages down.

It feels a bit like a gold rush/ race to the bottom where it may be valuable for a few years, but then there will be a lot of unemployed people who spent years learning a skill for only short term employment.

What will the future look like? Will programmers basically be the low paid factory workers of the future.

User avatar
Stahlmann
Posts: 892
Joined: Fri Sep 02, 2016 6:05 pm

Re: Is programming still a valuable skill to learn?

Post by Stahlmann »

I saw post of recruiter on LI who claimed that he received 1 000 (yes, 1 000) for junior Java developer position,

This story from Eastern Europe. I try to write this from true libertarian position. I think I have some "predisposition" to this (nevertheless, I'm not). I haven't met/read online/heard IRL libertarian who was content in case of offshoring/loosing his job due to global price competition.

Coming back to the topic and derailing a bit: what will be the next "gold rush" of XXI century? I think this gonna be still connected with IT (yea, this is PIDOOMA), assuming you're living in highly "capitalized" parts of the world (I saw somewhere of Big4 map of Europe with marked superhub, big cities, rural areas etc.).

Alphaville
Posts: 2035
Joined: Thu Oct 03, 2019 10:50 am
Location: Quarantined

Re: Is programming still a valuable skill to learn?

Post by Alphaville »

Stahlmann wrote:
Thu Oct 08, 2020 5:58 am
Coming back to the topic and derailing a bit: what will be the next "gold rush" of XXI century?
religion and pharmaceuticals to cope with despair :mrgreen:

but seriously, we can’t know. i think epigenetic optimization could be a thing everyone wants, but i suspect it will be done by ai and not human operator.

so... ownership over labor?

poker, then, as a means to win/lose. but again ai...

the next gold rush: finding the right inheritance

User avatar
Stahlmann
Posts: 892
Joined: Fri Sep 02, 2016 6:05 pm

Re: Is programming still a valuable skill to learn?

Post by Stahlmann »

Yea, summarized in some sentences:

Stagnation of wages in Ist world, stronger division of inequality due to offshoring, a bit better conditions in IInd and IIIrd world.

Firstly they outsource what can be sent by email, then what can be sent physically, so what is protected by local unions/certs will be available.

The problem is how to have practical steps from above combo and optimize for given person SGTCIY style.

I'm personally interested in the future of welfare in Western/Nordic countries (yea, this gonna be cut -.-, but when/how. This would be connected prolly with swinging "moral" pendulum again. Yea, apart from political BS, living in welfare/"very" LCOL is quest on its own). Consider joining "free" ride as being wealthy is not the easiest part of my ERE strategy.

Edit:
Coming back to the topic - isn't it like that consulting groups write reports on this :lol:? Maybe someone has link to some valuable data on this, I don't know.

borisborisboris
Posts: 60
Joined: Sun Aug 08, 2010 4:12 pm

Re: Is programming still a valuable skill to learn?

Post by borisborisboris »

programming is labor intensive and adds a lot of value (automating lots of processes), so yeah, I'd argue very worthwhile to learn. Hard to know exactly how long that will last since anything can happen, but it's persisted for quite a while at this point. Moore's law isn' what it used to be, but compute costs are still falling, and so compute is being thrown at harder and harder problems (e.g. genomics, proteomics), which is just going to drive the need for more and more specialized types of programming. Possibly programming shouldn't be viewed as a skill in and of itself, but rather as a fact of life for people who pursue a specialized skill.

I would actually advocate that literally everyone who works with numbers at all (i.e. anyone who would use Excel) should learn SQL, and either R or Python/pandas. Again, the programming isn't the hard part here, but being able to work with a data set, especially a large one, and draw insights out of it that are useful to a business, is a very learnable and valuable skill. There are so many companies out there that have tons of data but haven't analyzed it, and just need a competent SQL analyst to tell them, like, their average cost to acquire a customer. Toss in some basic predictive modeling (e.g. random forest to predict which of our prospects are most likely to convert on their next sales call). This skill set will land you a $100k job with just a few years of experience at pretty much any medium to large sized company.

And at any rate, the modern world is just built to such a large extent on IT infrastructure. It's worth knowing how a database works, certain basic algos like sorting, multi-armed bandit, and hashing functions, if for no other reason than to have a decent grasp of the world around you.

User avatar
Lemur
Posts: 817
Joined: Sun Jun 12, 2016 1:40 am

Re: Is programming still a valuable skill to learn?

Post by Lemur »

+1 Boris

Absolutely still worth it....database management as well. CISA, SQL certs through Oracle & MSFT, Python & R (for analysis), and Java / C++ (if you want to be a straight code monkey). These skills are not being displaced anytime soon....except possibly by RPA (Robotic Process Automation) and Machine Learning in the far off future.

Viktor K
Posts: 451
Joined: Sat Jul 30, 2016 9:45 pm
Location: Chicago
Contact:

Re: Is programming still a valuable skill to learn?

Post by Viktor K »

Free to learn online with starting US salaries around $60k average on the low end. Pretty good investment even for a few years. But I’m biased

User avatar
Sclass
Posts: 2065
Joined: Tue Jul 10, 2012 5:15 pm
Location: Orange County, CA

Re: Is programming still a valuable skill to learn?

Post by Sclass »

borisborisboris wrote:
Thu Oct 08, 2020 7:46 am
And at any rate, the modern world is just built to such a large extent on IT infrastructure. It's worth knowing how a database works, certain basic algos like sorting, multi-armed bandit, and hashing functions, if for no other reason than to have a decent grasp of the world around you.
Agree 100%. And it’s only getting worse. The world is getting computerized at an exponential rate. It was happening when I was a child but now it’s in high gear. Being able to write some simple scripts or make calls to developer APIs puts you at a huge advantage over people without those skills. I’ve seen this in a number of fields aside from computer science like biology, finance, business and manufacturing.

I’m not saying everyone should be a SW engineer. I’m saying it’s going to be part of modern intellectualism to know how to lay down a few lines of code and execute them as much as it was to know some Greek and Latin roots a hundred years ago. For example being able to write an iterative macro for a spreadsheet in basic will put you in front of a coworker who can only fill cells with expressions and cntrl-d. Have you ever seen a business types with and without DBA programming skills? All other things being equal it is a huge advantage.

A recent example I saw was two marketing employees at my old job trying to correlate atmospheric gas concentration data collected in a mobile sampling installation with geography. One tried putting colored push pins based on numbers in a paper map of the region. The other fired up Google Earth, downloaded the API, and used our systems built in GPS logger file to automatically plot all the gas concentration data as a heat map. It made the other employee look like a fool because she was basically doing the same thing but it was beautiful, automated and shareable. Then she went on to do this for our client data base and she came up with dozens of similar maps from all over the world...a few days later. Both are marketing weenies but one just knew enough programming to be dangerous.

So I think it’s wise to know just a little bit more than your average person. It doesn’t take much. It’s kind of like learning Latin and Greek roots.

Hristo Botev
Posts: 966
Joined: Tue Jul 17, 2018 3:42 am

Re: Is programming still a valuable skill to learn?

Post by Hristo Botev »

Caveat: I don't know the first thing about programming.

That said, I was having this exact conversation with opposing counsel on the phone yesterday (it's always good to chummy up with opposing counsel, and almost any lawyer LOVES to talk). He was telling me about how his kids have really enjoyed a technology class at their high school where they basically start from point 0 with a computer, learning what all the hardware is and what it does, and from there learning software and programming at a very basic level, to the point that by the end of the year they have a pretty good grasp on the basics. My experience with my own kids so far is that they are really adept at using various applications, but they'd be pretty lost if they had to suddenly switch to a different application or platform, even if that application/platform does pretty much the same thing as the one they learned on. Sort of in the same way my generation grew up being pretty adept at Microsoft Office products, to the point that if anyone wants to compete with Office they've got to mimic the look and feel of Office as close as they can without running afoul (too much) of IP laws. Or when I was in law school, Lexis was always buying pizza for law students in the hopes of getting them addicted to the Lexis legal database as opposed to its WestLaw competitor--and sure enough, people that use Lexis usually have no idea how to use WestLaw, and vice versa. But there was very little understanding among students as to how the underlying databases actually worked.

My point is that there's gotta be a benefit to continuing to make kids learn the fundamentals, no matter how complex the end world gets. Sclass makes an excellent point about learning Greek and Latin. From a humanities standpoint I'd make the same point about the benefit of a classical education--it's good to actually start by reading the ancients, and the middle ages, and the renaissance and reformation, to see how the great conversation has evolved, as opposed to just jumping right in to postmodern criticism of that conversation.

ETA: Learning the basics/fundamentals/origins makes a complicated world seem smaller and more approachable.

AnalyticalEngine
Posts: 403
Joined: Sun Sep 02, 2018 11:57 am

Re: Is programming still a valuable skill to learn?

Post by AnalyticalEngine »

I work as a software developer, and I think that programming skills are still valuable.

However, software development isn't really about knowing how to write code. I spend maybe ~2 hours a day actually writing code. Rather, software development is about managing complexity. This is why those coding booting camps, everyone trying to get into the field, etc doesn't really change anything. Software development requires a certain mindset and a certain way of solving problems.

To truly excel at software development, you need to understand design patterns and how the business side of software works. If you understand these things, there's a million jobs for you. If you only know how to "write code," it will be hard to find a job.

Software development isn't really computer science either. It's basically translating corporate nonsense into code with the full understanding that the program you are working on will never be elegantly written.

There are downward pressures on software salaries (they've been trying to offshore it for a long time). But again, because software development is about managing complexity, this is inherently difficult to eliminate/automate/offshore, despite the business efforts to do so.

Case and point, there's been a trend in the industry to replace traditional testers/QA with automated tests. Sounds fancy in theory, but in practice, someone has to write the tests, and the tests themselves quickly become more complex than the actual software because they're not written well. Then you spend all the time troubleshooting the test results, and so no time has actually been saved. Because complexity is innate in software, this problem is never really going away, and as long as there are computers, there will be demand for software engineers.

jacob
Site Admin
Posts: 12863
Joined: Fri Jun 28, 2013 8:38 pm
Location: USA, Zone 5b, Koppen Dfa, Elev. 620ft, Walkscore 73
Contact:

Re: Is programming still a valuable skill to learn?

Post by jacob »

I suspect the days where one person "wrote the entire thing" are just about over. Making a program takes several different kinds and they're all beginning to specialize now.

Using auto-mechanics as a dated metaphor, the software engineer is the person who puts all the components together in a driveable car. They likely have little understanding of what goes on inside a given component. The components are for all intents and purposes black boxes pulled from a library or other team members. Much like someone who drop an engine into the well of a car w/o understanding more about it that rpm/torque, fit, etc.

A data scientist is someone who builds black boxes. They would have detailed understanding of the engine but not know enough to build a car. As far as they're concerned the engine sits on a test bed ... maybe with fixed wheels attached for proof of concept but a car it is not.

And then there are interface designers, usability experts, etc. ...

Some programming is involved in all of these roles ... but it's not the programming that is essential here but rather the way of thinking that underlies any given role. For example, a data scientist does not think in the same way as a software engineer. It is in any case worthwhile to learn the language because it is required to communicate what you want both wrt the computer and the other team members.

There are just a few different language families e.g. scripting, functional, and object oriented. If you speak one example from each well, you can usually understand/translate another language in the same family no problem. For example, I would often create algos in R and then ask a software engineer to translate it and make me a version in Java to speed things up for production runs. This was a combined skill set. I focused on making things not available in standard libraries and the engineer focused on making my spaghetti code robust and fast with the proper data structures.
Some programming is involved in all of these roles ... but it's not the programming that is essential here but rather the way of thinking that underlies any given role. For example, a data scientist does not think in the same way as a software engineer. It is in any case worthwhile to learn the language because it is required to communicate what you want both wrt the computer and the other team members.

There are just a few different language families e.g. scripting, functional, and object oriented. If you speak one example from each well, you can usually understand/translate another language in the same family no problem. For example, I would often create algos in R and then ask a software engineer to translate it and make me a version in Java to speed things up for production runs. This was a combined skill set. I focused on making things not available in standard libraries and the engineer focused on making my spaghetti code robust and fast with the proper data structures. Here my value add was not in knowing R but through years of proving theorems and solving equations in math and physics. R was just a way to communicate this process clearly to the engineer(*). Indeed, I've never taken a single class in R, but it was quite easy to learn because it's pretty close to the BASIC I learned as a kid.

(*) In particular, the closer your delivery is to the finished product, the less they have to change/restructure and the happier they are. This also reduces the potential for misunderstandings/miscommunication. Usually the problem in computing comes from who/whatever doing what you said rather than what you meant.

Alphaville
Posts: 2035
Joined: Thu Oct 03, 2019 10:50 am
Location: Quarantined

Re: Is programming still a valuable skill to learn?

Post by Alphaville »

AnalyticalEngine wrote:
Thu Oct 08, 2020 9:43 am
Because complexity is innate in software, this problem is never really going away, and as long as there are computers, there will be demand for software engineers.
that’s the big difference between an engineer and a coder you can hire for cheap at freelancer.com where it’s inevitably a race to the bottom

eg see: https://www.freelancer.com/projects/php ... ypass=&w=f

but yes to what @Sclass said—even if it’s just to hire the right freelancer for the right price

User avatar
Sclass
Posts: 2065
Joined: Tue Jul 10, 2012 5:15 pm
Location: Orange County, CA

Re: Is programming still a valuable skill to learn?

Post by Sclass »

jacob wrote:
Thu Oct 08, 2020 10:14 am
Indeed, I've never taken a single class in R, but it was quite easy to learn because it's pretty close to the BASIC I learned as a kid.
There’s the Greek and Latin roots. It’s good to remember a few things from middle school.

The other point brought up in this thread about salaries deflating is interesting. I’ve been out of the game ten years so I’ve missed the cycle. I was unaware of any saturation but I guess it would make sense after years of unfulfilled demand.

Old timer aerospace guys used to tell me stories of the crash in aeropace engineers during the 70s at the end of the space race. Apparently universities churned out too many aero astro grads for the industry to absorb. There was kind of a short lived revival during the Star Wars initiative that temporarily reversed the trend in the 80s.

Hristo Botev
Posts: 966
Joined: Tue Jul 17, 2018 3:42 am

Re: Is programming still a valuable skill to learn?

Post by Hristo Botev »

Always fun to see what pops up on the blog for the day; today's post from Jacob seems very much on point here*: the problem with having created a system that no one person understands: http://earlyretirementextreme.com/why-b ... rease.html

*Perhaps not particularly responsive to OP's original query; but relevant to the Greek/Latin and hyper-specialization angle.

Also, wow, COVID anyone?

Complexity MUST NO LONGER be achieved by interconnectivity. Differentiation by outsourcing is downright crazy when the outsourcing is limited to a contract and a phone call.
Let me repeat that. It is INSANE! If you are a business, you will someday find that your supply chains get disrupted for reasons beyond your control. You will also find that these disruptions hurt all players and that you can not simply find another supplier. You are, in short, screwed. If you are a person, who has outsourced basic living tasks *shakes head*, you will find someday that you
have created an entity comprising you AND “your helper” that can not be separated without pain. You have become interdependent. You will be the only source of money for your assistant, who will be kept at the “technician level”. Your assistant will be the only one knowing how to run the very basics, that is, the foundations of your life. Again, you figure, you are safe because you can always find another, but you can’t; because few things are independent anymore. Never outsource “your legs”!

User avatar
Jean
Posts: 1317
Joined: Fri Dec 13, 2013 8:49 am
Location: Switzterland

Re: Is programming still a valuable skill to learn?

Post by Jean »

The only thing coding earned me was the frustration of having my papier rejected because the reviewer doesn't believe in C.

7Wannabe5
Posts: 6627
Joined: Fri Oct 18, 2013 9:03 am

Re: Is programming still a valuable skill to learn?

Post by 7Wannabe5 »

Isn’t the essential skill just understanding logic? I know/remember how to code at about the level that I know/remember how to do my own plumbing work, which isn’t very high level, because not called on very often. I mean I wouldn’t pay somebody else to do it for me except in situation where expensive tools were necessary, but how often do you have to replace a toilet or write a bit of script for a website if it isn’t your career?

daylen
Posts: 1712
Joined: Wed Dec 16, 2015 4:17 am

Re: Is programming still a valuable skill to learn?

Post by daylen »

There are at least two different trends I see in this thread. First, that programming is becoming more important to more jobs even if it is just to query a database. Second, that understanding how to think more like a computer (i.e. logic) or within a particular paradigm is more important than the actual implementation.

It depends on what you want to be/become. If we assume that you do not know what you want to do in 5 years, then I think most would agree that some theory along with some ability to implement may be a worthy investment. Though, what that entails exactly is probably best narrowed by setting some bounds on what you want to be/become (e.g. entrepreneur, corporate worker, hobbyist, scientist, philosopher, electrician, etc.).

Otherwise, with limited self-information. Spending at least 30 hours on a breath of concepts and practice problems may be a good investment in most cases. Even if just to find out that you hate it.

Scott 2
Posts: 1632
Joined: Sun Feb 12, 2012 10:34 pm

Re: Is programming still a valuable skill to learn?

Post by Scott 2 »

IMO we'll see the same thing with programming that we did with college degrees - "hello world" will be a minimum barrier to entry for white collar positions, even in jobs that don't require one to code. The conceptual understanding changes how you work.

For someone who can specialize, and has technical aptitude, there's no shortage of opportunity. I think that only escalates as time goes on - a digital divide between the haves and have nots.

luxagraf
Posts: 198
Joined: Tue Nov 26, 2013 4:32 pm
Contact:

Re: Is programming still a valuable skill to learn?

Post by luxagraf »

alex123711 wrote:
Thu Oct 08, 2020 4:47 am
Is programming still a valuable skill?
Valuable for what? For who?

Abstractly I don't think it's really all that useful. You can learn logic studying ancient greek or half a dozen other things, just as well as control structures in programming languages. Logic didn't arrive with C.

If you want a high paying white collar job then obviously it's useful. I found it interesting more than useful at first. I taught myself how to program because I wanted to do things on the web back in days when you had learn something like Perl to process a simple email :D But then I ended up making a bunch of money doing that on the side and reached my financial goals faster because it so, it was useful.

AnalyticalEngine
Posts: 403
Joined: Sun Sep 02, 2018 11:57 am

Re: Is programming still a valuable skill to learn?

Post by AnalyticalEngine »

jacob wrote:
Thu Oct 08, 2020 10:14 am
Using auto-mechanics as a dated metaphor, the software engineer is the person who puts all the components together in a driveable car. They likely have little understanding of what goes on inside a given component. The components are for all intents and purposes black boxes pulled from a library or other team members. Much like someone who drop an engine into the well of a car w/o understanding more about it that rpm/torque, fit, etc.
This is basically how software development works. And it's also why your entire job as a software engineer is to manage complexity and NOT so much write code. And it's also why hiring someone cheaply to """write code""" can actually cost more money in indirect ineffectiveness than paid in their wages.

So when you do write code, your job is to follow design patterns to make it as "black box" as possible for future engineers. The complexity therefore comes with the interactions between components less than the components themselves.
jacob wrote:
Thu Oct 08, 2020 10:14 am
I suspect the days where one person "wrote the entire thing" are just about over. Making a program takes several different kinds and they're all beginning to specialize now.
This is one weird area of the industry that tends to go in a giant circle. For example, we used to have traditional QA who would test the software. We'd hand it over to them, and they'd be responsible for the test data, automated tests, etc. However recently, business has decided QA is a cost center and has thus invented the role "Software Development Engineer In Test," which is where they dump old QA responsibilities onto the software engineer. Likewise, we now have this abomination of the English language called "DevSecOps," which is basically combining developer/security/operations tasks into one role.

This is all driven by an attempt to drive down the cost of software development. However, what will happen, and what I already see happening, is the cost of generalization becomes too much. Because of how complex enterprise software is, trying to have one person do everything comes at the cost of being able to troubleshoot that one weird time when JQuery stopped working in IE11 for Client X. So then they split up the roles again to get the benefits of specialization, then realize they're having to hire more people, then they go create DevSecOpsQASDEIT all over again.

Note that I do think a lot of developers end up somewhat unhappy in the industry because it's not really actually focused on computer science. So if you went to school and thought algorithms were interesting and enjoy thinking about how to invert binary trees, you basically never do that at work. You download some open source library to invert binary trees and then focus on why JQuery stopped working in IE while troubleshooting Selenium tests they had offshore write to save money.

It's not a BAD job per say because it pays well and is pretty secure, but if you expect it to fulfill any kind of creative passion, then you will be sorely disappointed.

Post Reply