How many computer programmers does society actually need? (user search)
       |           

Welcome, Guest. Please login or register.
Did you miss your activation email?
May 08, 2024, 06:39:21 AM
News: Election Simulator 2.0 Released. Senate/Gubernatorial maps, proportional electoral votes, and more - Read more

  Talk Elections
  General Politics
  Economics (Moderator: Torie)
  How many computer programmers does society actually need? (search mode)
Pages: [1]
Author Topic: How many computer programmers does society actually need?  (Read 10928 times)
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« on: April 06, 2017, 11:32:24 PM »

As many as the market demands, which is hopefully a lot in the future (CS major).
Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #1 on: April 06, 2017, 11:49:33 PM »

Presuming the OP is referring to the effects of automation - that CS jobs displace other higher paying jobs that do not require technical skills, I think the solution would be through a UBI, guaranteed jobs program, EITC expansion or something of the sort long-term if it turns out that we will see a long-term decline in total employment or an extreme 'donut hole' in wages.  It's important to note that the tech industry has a wide range of jobs, and the improvement of integrated development environments make basic programming much easier by automating low-level systems programming tasks like memory management and pointer handling, so overall ability needed to program is decreasing as time goes on, so accessibility may not be as big of an issue as it might seem for the profession.
Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #2 on: April 07, 2017, 10:36:23 AM »
« Edited: April 07, 2017, 10:39:40 AM by Fremont Assemblyman RFayette »

    I think the talent bar to entry is actually a major factor in properly regulating supply vs. demand for programmers. It is hard to flood a labor market that requires substantial skills in data auditing and mathematical logic as well as many hours of practice merely to enter the field.

This is a good point, but I do tend to think the talent bar will be lowered as time goes on because:

1. Sheer availability of instructional material for programming.  There are now browser games on sites like code fights which turn learning programming into a cool video game.  This reduces the sheer level of concentration required to learn programming, which is definitely part of the bar.  Not to mention the number of programming boot camps, which graduate many people who probably couldn't have gotten a BS in Computer Science in a traditional environment (as those camps provide more support than one would typically find in an undergraduate setting).

2.  As I mentioned earlier, the improvement of integrated development environments (IDEs) over time also plays a big factor.  To elaborate on this, in the old days, people programmed on UNIX with a command-line interface and a basic text editor using a very unforgiving language like C - this requires some technical proficiency just to construct and debug a simple program.  Over time, these integrated  development environments have come about and helped greatly to debug programs.  Now, someone of any intelligence could create a "Hello world!" program in about 5 minutes just by installing Eclipse on their computer.  Also, the ability of compilers to check errors in these environments is a big factor.  In 9th grade, the IDE I used (Eclipse) very often gave cryptic bug reports that had very little to do with the actual error, but 5 years later I get much better reports, making fixing programs much easier.  Some of this is improved ability on my end, but I think there is definitely an upward trajectory on IDE quality, which definitely lowers the bar for entry, at a sheer level of visceral frustration, as anyone who had to debug C pointer errors with just a text editor can tell you.  These days, IDEs have the ability to generate code snippets themselves based on what it appears you want to do - this functionality isn't great - a la suggested messages on SMS with the iPhone, but it will likely improve over time as well.

3. Increased attention to programming skills in early years - when I went to school, I had never even heard of computer programming until high school.  Now, at the same school district, they have 3rd graders playing with Raspberry Pi kits.  Sites like "Hour of Code," along with companies like Google and Amazon, are emphasizing programming in K-12 education heavily, which I think will have a big impact down the pike.  Regardless of initial capability, early exposure to programming (just like early exposure to a foreign language!) is going to improve people's base level of proficiency.  My roommate from South Korea said that anyone who gets just below a 700 on the SAT Math would be considered one of the worst math students in the nation, despite the fact that such a score is easily within the top 5% of United States scorers.  Are South Koreans that much more capable than Americans?  Doubtful.  It's just that they required far more instructional time in mathematics than in the United States, and cram school was in lieu of extracurriculars.  The point isn't to say we should emulate South Korea, just that changes in the educational system can greatly lower the natural ability level needed to enter virtually any field.

I tend to see an increasing number of programmers as a positive thing, at least for now.  The average wage rate is quite high, so an increasing number of programmers means higher wages for a large chunk of folks.  Programmers tend to generate a lot of capital for a company  What to do concerning those whose jobs may be automated is unclear insofar as more data is needed concerning the average outcome for what happens to them.
Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #3 on: April 08, 2017, 04:17:20 PM »

In Rhode Island, we are now making in a required skill learned in 6th-10th grades.

I may be overly influenced by my inability to learn coding and programming, but this sounds like a complete waste of school time to me and is based on nothing more than a 'fad.'

I've already written why I think coding can be of value to students who want to learn it, but I remember when I was in grade two or three in 1977 or 1978 and we had a substitute teacher and there were, for some reason, a bunch of punch cards strewn about part of the school grounds (I believe around the bike racks) and one of the students took one of the punch cards in with them asked the teacher what they were, and the teacher replied "they're punch cards for computers.  We should be teaching you about them and how to use them with computers because you'll be using them when you grow up.

     They're useful as a primer for what computer programming is and the kinds of thinking it requires. At the same time, nobody is going to become a computer programmer on the strength of middle school classes. I think these kinds of classes are useful as an introduction to programming as a field (something we should do more of in school, but that's another topic), but I would caution against overestimating the impact of these classes.

1.A computer programmer no, but my understanding is that these coding classes are about teaching kids to program apps for themselves.  I can see a value in that if the kids want to take the classes.

2.The biggest impact I think regards the loss of class time for other subjects that actually should be mandatory.  (Like critical judgment.)

3.As far as I know, auto mechanics (or shop) was always an elective course.

     I don't program apps, so I am less qualified to comment on such matters. I will say that it does strike me as rather less effective in that case, since app developer is probably a much more limited field than programmer in general.

     Programming encourages the development of logical thinking, of a similar kind to what one needs for critical judgment. A visionary in pedagogy could probably develop a means of combining these two into a single class that teaches children the basics of programming and how to employ the same type of problem-solving and critical thinking in other spheres of life. Sadly I do not see that happening any time soon.

     It's not just shop and auto mechanics. There used to be classes for typing, penmanship, shorthand, household accounting, and more (these are examples I got from my grandmother's Class of 1930 high school yearbook). Obviously not all of those things are still useful, but we could still benefit from leaving these kids with more life skills. Budgeting for a household in particular is something that everyone should be skilled in doing.

I think it's important we split this up.  The appropriate analog to "shop" classes would be closer to these type of app development or language classes - teaching the basics of a programming language like Python or Android, or a markup language like HTML/CSS.  In universities, these classes tend to be worth 1 or 2 units, compared to 3-5 for core computer science classes, which emphasize algorithms, data structures, low-level systems programming, etc. which tend to involve more critical thinking but are also much, much harder/time-consuming and tend to emphasize generalizable concepts rather than becoming skilled in one thing.  I tend to believe that everyone would benefit from basic language classes (learning basic HTML/CSS/Javascript, a traditional language like Java, C++, or Python to teach basic programming concepts, an "app" language for mobile devices like Android or Swift, and maybe R for data analysis).  This would also be fairly accessible, and would give people the tools to learn more on their own, if they so desire.  But it makes little sense for people who don't want to make a career in software engineering (and even then, not all the classes are useful, per se) to tackle hard-core computer science classes at the university-level, as they tend to be very time-consuming and not at all accessible to those at lower ability levels; as Foucalf noted, folks who struggle get passed Algebra 2 would have a hard time in software engineering.
Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #4 on: April 08, 2017, 06:06:31 PM »

    This goes back to what I was saying earlier about coding boot camps vs. university programs. The former is quicker and easier, drilling you on the specific hard skills you need to get some kind of job in programming. Computer science departments go into much greater theoretical depth, developing not only the hard skills but also the broader understanding to really appreciate what is going on and thrive in the most intense programming jobs. The investment is greater, but so is the payoff. On some level it might make sense to think of these as separate but related industries.

The interesting question will be where both groups of people end up in the future.  As an aside, I remember I saw a data science Coursera online "boot camp," and in this 9 month module, we covered the vast majority of the material within it for two 10-week quarters in a fast-paced 3 unit class (and another 4-unit one) at my university.  Apparently, people have been hired in data science based on that certification, which to me is quite surprising given how limited the material was.  Because much of the tech industry is so new, and the number of job openings greatly exceeds the number of people who have specifically studied the subject in college, we see a lot of variety of backgrounds of people entering the field, especially in newer areas like machine learning.  How both groups (those from a more traditional university environment vs. less traditional ways) progress throughout their career will take more time to see, but I suspect (for the reasons you noted above) the former will be more successful.  

Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #5 on: April 25, 2017, 03:51:00 PM »

The correct answer is however many can make a living off of computer programming, to be determined by market forces.

How did I know you were going to say this? Wink

It also happens to be the right answer. Wink

Logged
RFayette
Junior Chimp
*****
Posts: 9,960
United States


« Reply #6 on: June 02, 2017, 02:03:28 AM »
« Edited: June 02, 2017, 02:05:09 AM by Fremont Assemblyman RFayette »

Foucaulf:  I can't speak for all institutions, but anecdotally, I know a lot of people who are pursuing minors in Computer Science, or are studying an unrelated field but want to pursue a coterminal Master's degree.  Since it's in Silicon Valley, this is unrepresentative of the university population at-large, but over 95% of students take at least one computer science course, a number that my CS professor has said is far greater than 10-15 years ago.  Classes in hot topics like machine learning and web development are some of the most popular courses on campus, but most people don't want to take the courses on compilers, operating systems, and automata theory required for the degree form the School of Engineering.  

 The general impression is that a lot of the "core" courses required for a CS degree are extremely time-consuming, and people feel they still have good job prospects in tech (if they want to pursue that route) through a cafeteria selection of courses in addition to side projects and internship experience.  As such, statistics that look only at college major would significantly understate the amount of concentration people put into CS - while the vast majority of non-CS majors have taken at least one CS class, virtually no non-chemical engineers have taken a Chem-E course, for instance.
Logged
Pages: [1]  
Jump to:  


Login with username, password and session length

Terms of Service - DMCA Agent and Policy - Privacy Policy and Cookies

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Page created in 0.04 seconds with 11 queries.