18 ms·
Tech Jobs Lead to the Middle Class, But Not for the Masses
- marsrover 7y agoI'm tired of the continued devaluation of my profession. Software development (I hate the term "coding") is not a manufacturing job, as much as some company wants it to be. And apprenticeships at body shops isn't going to create software developers, it's just going to create terrible software with obvious rot and decay as the years go own.
- crankylinuxuser 7y agoI'm a sysad in a software business. Sure, the professional developers are paid well. However the more Jira and agile ideas takes over, you become more replaceable. Why? You're just a card-filling machine dealing with feature requests or problem reports. And sure, the next developer may fill less cards, but they will improve with time. And if you don't work in a protected area (federal, etc), then you can buy card-filling devs for 1/5 to 1/8 of US... And have them QA'ed for less than 1 USA dev. Face it: I, a sysad, am a service worker. And devs are line workers. We're well paid, but so were factory workers at one time.
- ellius 7y agoI disagree with this completely. Development is not line work, and doing it like line work creates unmaintainable, expensive crap. "The Mythical Man-Month" explains this well. Conceptual coherence is of the utmost importance in effective software systems, and you don't get that by just knocking out stories one-by-one like they're desktop support tickets.
- lacampbell 7y agoPeople like us who spend their free time on a message board about programming know it's best not done as line work. But the general population doesn't, and probably many developers don't. There is constant, never-ending pressure to turn it into line work and we need to be aware of it. A lot of software running (barely) in the real world is written this way.
- phkahler 7y agoWhile I agree with you, it's also true that the majority of software in the world is held together with bubble gum and duck tape. That doesn't mean it should not have been written - it solved some problem for someone. We should not build complex systems that way, but plenty of systems are not very complex.
- 0xDEFC0DE 7y agoUpdating strings in database/code is line work. Update images on website is line work. Debugging basic issues is line work. I've gotten these tasks as discreet Jira issues, so someone thought it was important enough. It's fine if line work + hardcore CS positions exist simultaneously. This fighting over the boundaries of where the profession starts and ends is tiring and we should just accept there's a stratification of developer skill levels and start adjusting our attitudes and training accordingly. Development is all of these things because development is a huge job market. You can't abstract your way out of doing the line work and only have hardcore CS positions in the job market.
- geodel 7y ago> Development is not line work, and doing it like line work creates unmaintainable, expensive crap. Huh, it is already happening. I see everyday so many web services are created via auto generating scaffolding tools like Spring boot etc. One just fill in environment details, bits of JSON parsing and service is ready to be deployed. Good for you that where you work people are intelligent enough to read Fred Brooks. Most places, including the ones with fancy gleaming buildings, open office floors, lounges with couches and organic smoothie bars are just making CRUD services with some cloud backed data storage. More so terminology I see at work is more inspired by factory floor not some intellectual venture.
- ardit33 7y agoGreat, looks like you have discovered "That one trick that all engineers hate!" If all it took was some scafolding, some database columns and some html and sprinkle, you should be a millionare by now?
- Jorge1o1 7y agoYou can’t write software in a vacuum. To write good code, you need to understand the whole program (or at least a very substantial part of it), why certain decisions were made in the past, the potential ripple effects of a “simple” change, etc. This means that it’s impossible to just swap devs out like factory line workers, otherwise you’re just creating more bugs. For similar reasons, you can’t paint half a canvas and then hand it over to another painter and have him finish it...
- lacampbell 7y agoYour scenario perfectly describes practically all code I come across in the wild (I work outside of a tech center).
- empath75 7y agoThere will always be software development work that can’t be done that way because it requires specialized knowledge or cutting edge programming techniques.
- NotSammyHagar 7y agoYes, like making handmade clothing, only certain cases require advanced skills like that. I think over time less and less work will require that handmade software. More can be done by putting other packages together. I've been luck to work on infrastructure work that has ended up having new ideas and advancements over existing systems that we could justify a new version. But I do feel like this opportunity to do new stuff could shrink. How many compilers, databases, os kernel writers do we need? The vast majority of people can make great use of an existing compiler, or database. Justifying making a new one should be hard.
- Chyzwar 7y ago> Sure, the professional developers are paid well. However the more Jira and agile ideas takes over, you become more replaceable. Why? You're just a card-filling machine dealing with feature requests or problem reports. Agile do not make developer replaceable. If anything it empower developers to become on equal footing with everyone else. > And sure, the next developer may fill less cards, but they will improve with time. I saw projects outsourced to huge teams in India failing to deliver. Reality of software development is that unless you have right mix of experience, skill and people you might never deliver. Programming require both engineering and creative skills. Some class of problems cannot be brute forced by large number of young bodies.
- eropple 7y agoAgile shouldn't make developers more replaceable, but in my experience that's the effect of Scrum when wielded by many kinds of management. Stuff like "story points" rigged such that a problem that would take a week must be reduced to smaller--preferably parallelizable--micro-stories that have implicit context but no explicit dependencies so that the decision of farming it out to many juniors can be upheld. I'm not saying that this actually works better, to be clear. But I would bet it works cheaper for the time horizons that the folks making those decisions care about.
- Chyzwar 7y agoSplitting the store into smaller tasks is better. It forces you to plan and communicate your progress. It allows for adjustments in both requirements and estimation. In many business cases, this approach is better. The senior developer should outperform multiple juniors anyway, in most cases, it is seniors that carry progress. Toxic companies will twist a good process and make it horrible. It is not Agile or Scrum to blame.
- eropple 7y agoSplitting things is not inherently bad. Doing so in an attempt to commodify its application is not inherently bad. Doing so in an attempt to commodify its application is definitely bad for developers' careers.
- catmanjan 7y agoThats a funny way to look at it - if anything a sysadmin is more of a line worker (I do both dev and sysadmin so I'm not particularly invested in either), with enough software you could be replaced by BA's coming up with architecture requirements and a system like docker... Just a perspective thing I wonder
- crankylinuxuser 7y agoPeculairly enough, ive had our management ask how to show what we do, and how we allocate out time. And as many times we have ticket after ticket from Jira, nothing adequately shows how we work. That's why I equated Sysads as service workers. Some assistance may be 5m, and others may have looked like a 10m issue but turns into 3h timesink. We're serving others, or serving machines for serving others. Whereas I see Agile, or the Kanban system, to be set up to send work to either internal or external devs. The only reason why real factories don't use international work is because sending lines and parts is onerous on a short cycle... Whereas software Kanban seems fit for each other. Sure there's dev work that requires specialty knowledge, but most dev work is a CRUD web app with a DB backend. And those jobs are especially prone to outsourced via a thousand cuts.
- invalidOrTaken 7y agoWho writes the cards? It's easy to write them, but writing the right ones is much harder. Automate or outsource that and you become a trillionaire. Yes, seriously.
- eropple 7y agoI don't understand why your post is so defensive. For years, "tech jobs" were marketed as a way to the upper middle class for a broad swath of people (in America and elsewhere). This was not the doing of "two-bit journalists" (and Steve Lohr has a track record of pretty good work!); it was a concerted effort by tech companies. It's turning out to not really be the case and the successful stories are comparatively few and far between, while the rest of America falls further and further behind for reasons largely not of their own making. Should that not be talked about?
- devoply 7y agoWhat should be talked about is what's actually the point of jobs. It's not as a means to get work done so corporations can generate profit. Jobs are a tool to organize society. Profit is a side-effect of that but an irrelevant part the primary function of jobs. This concept of jobs as a tool to organize society rather than a way to solve problems using human "capital" or humans as machines or tools for problem solving which can then be replaced by other machines which can solve the same problems cheaper needs additional studying. As using humans to solve problems for corporations is becoming more and more irrelevant.
- eropple 7y ago> What should be talked about is what's actually the point of jobs. I fully agree, FWIW. Perhaps it's where my interests have typically lain, but as a developer whose primary job has been to automate other tech people--sysadmins mostly, but developers as well--this has been on my mind for about a decade now. I don't know what the solution is.
- Noumenon72 7y agoYou mean a tool to organize society like castes were? Or a tool to organize society so that it produces enough medical care and has a large enough army? The first one really doesn't fit with how dynamic jobs are, as they can be created at any income level or sector regardless of the impacts to social class.
- paultopia 7y ago
- bilbo0s 7y ago>apprenticeships at body shops isn't going to create software developers, it's just going to create terrible software with obvious rot and decay as the years go own... Well, if we're intellectually honest as software developers, we also "...create terrible software with obvious rot and decay as the years go on [sp]..." Sometimes, we are our own worst enemies.
- colordrops 7y agoJust like manufacturing jobs, some software work could be completed by uneducated felons, and some work could only be done by PhD specialists. In fact I work at such a place that has an extremely wide gamut of both software engineers and production staff.
- blahblahthrow 7y agoIt's cool how nobody with a PhD ever committed a crime and only worthless, stupid people do crimes.
- colordrops 7y agoI would say the statistics would probably support your comment (besides the binary "nobody" and "only"), despite its obvious sarcasm. But that wasn't really my point. I had no intent to criticize certain classes. My point was that software people should get over the exceptionalism.
- llamaz 7y agothis but unironically. If I was Javert from Les Miserables the novel would last 10 pages because Javert didn't hate felons as much as I do
- Alex3917 7y ago> Software development (I hate the term "coding") is not a manufacturing job The typical tech job is more like someone getting paid 30k a year to delete porn from Facebook or draw boxes around pictures of stop signs.
- adventured 7y ago> The typical tech job is more like someone getting paid 30k a year to delete porn from Facebook or draw boxes around pictures of stop signs. No it's not. There are approximately ~1.3 million people in the US doing software development at extremely high income levels for the top 3/4. Median pay $107,000. 840,000 computer support specialists ('tech support') earning a median of $54,000. 600,000 computer systems analysts earning a median of $90,000. 300,000 computer programmers, earning a median of $84,000. 170,000 Web developers with a median pay of $70,000 per year. 165,000 computer network architects earning a median of $110,000. 120,000 database admins earning a median of $90,000. 100,000 information security analysts earning a median of $100,000. 28,000 Computer and Information Researchers, earning a median of $120,000.
- scarface74 7y agoCitation?
- masonhensley 7y agohttps://www.bls.gov/ooh/computer-and-information-technology/mobile/software-developers.htm https://www.bls.gov/ooh/computer-and-information-technology/...
- NotSammyHagar 7y agoThanks for that. It's amazing to look at those median job salaries and try to understand how salaries vary so much, along with cost of living. I'm in one of the coastal tech hubs and we pay bachelor's degree people over 130k. An amazing amount, but way over that median.
- njepa 7y agoThe devaluation of the profession happened a few decades ago, otherwise most of us wouldn't have been able to join the industry. Especially in the last decade most people in the industry have been cheering on the abstraction of what you do from what you make. At some point someone is going to call the bluff. I think people who join the industry now can do very well. And they probably see it more as a profession than most of the industry with all their social conventions. Then we can go back to the profession being valued for what it actually delivers.
- mlevental 7y agohow can someone else "devalue" your profession? market forces decide the value of your profession. if you feel like your value is being diluted then I hate to break it to you but the truth is that you're not valuable anymore. you are welcome to upskill (in order to be able to deliver more value) or change careers. like I love people praising the maw of capital (startups rule the world yay!) and simultaneously inveighing against. you have an issue? unionize (but you'll be excommunicated from the church of capital for trying to).
- nitrogen 7y agoA profession can be improperly devalued by disregarding or demeaning the values provided by that profession. For example, one could devalue the dentistry profession by convincing a bunch of people that cavities are a myth and sugar is good for you, or the medical profession by convincing people that getting infected with the measles is a good thing.
- true_tuna 7y agoHate to break it to you, but well trained software engineers create terrible software too. Everywhere I’ve worked had some really boneheaded things going on. A reasonable person showing up with a keen eye to making things better can contribute a lot. We had one software engineer at YouTube just hunted down and deleted unused code. This reduced the maintenance complexity and generally made the codebase more maintainable. Was she a rockstar? Probably not, but every day she made the codebase better. For the most part, showing up, being reasonable and having a handle on the basics goes a long way. I’ll take that over a hotshot working on the wrong problem any day. There’s nothing like the smart man monkey trap to make otherwise intelligent people cause more harm than good.
- scarface74 7y agoI think you overestimate how hard it is to create yet another software as a service CRUD app or a bespoke internal app using your chosen framework. As far as creating software that last for years, I also think you overestimate the longevity of most software that is being used today.
- thelasthuman 7y agoI will never understand people's innate desire to pull the ladder up behind them after they've achieved a comfortable life. Then again I've never strived for comfort, just the rarest thing of all... equality.
- richdev 7y agoI agree with your hatred of the term "coding". It rings like "typing" or having typist skills. It demeans the many years of time it takes to learn real software engineering skills, which includes proper software requirements analysis, design, testing, packaging, and deployment. I work with a bunch of data analysts teaching them programming for data analytics and machine learning. If I use the term "software development" the managers think it is out of scope for their job ("that's something IT does, not our group"). But when I use the term "coding" the managers don't seem to mind. They need to grow up and appreciate what it takes to develop analytics software. I like what you said "apprenticeships at body shops isn't going to create software developers, it's just going to create terrible software with obvious rot and decay as the years go own." These junior apprentices produce stuff that barely works, and it is rotting crap whose "technical debt" never disappears, and eventually requires a senior software engineer to rewrite it after it fails.
- seibelj 7y agoThere has always been a bottom-tier category of software development, which is programming at the level of "tweaking wordpress websites". Not that all jobs at this level are doing this, but the technical skill is what it takes to setup, configure, operate, and tweak a wordpress website, which requires some understanding of how websites work, web servers, PHP, JavaScript, CSS, a plugin ecosystem, backups, etc. It is quite simple for a software pro, but light years beyond what someone untrained could do. Also, this can be extremely high-impact to a business. Consultancies exist at this technical difficulty making lots of money but also delivering lots of value. Go into a non-tech business, notice how 1000 man hours per month are essentially updating Excel files, automate most of it with a Python or VB script, and save the company hundreds of thousands of dollars. You don't need to feel attacked or nervous that these jobs exist. "Software [Developer|Engineer|Architect]" has no legal definition and the title is meaningless, which is why hiring developers has overhead where you need to check far beyond what the resume says to assess a candidate's true skill. It's great that $50-80,000 salary jobs can exist for people who have a modicum of software development talent. I'm very happy for these people.
- jaabe 7y agoIs fixing Wordpress really bottom-tier programming jobs? I know people who do that as freelance consultants, and they have a lot of freedom in their lives. Compare that to some enterprise developers who get hired right out of the university to build exactly what they are told, when they are told for long hours until they turn 36 and get replaced. I mean, the latter requires a higher education, which is something that doesn’t exactly rain on people below the middle class, it also pays better and the problems are more interesting, but I know which of the two I’d personally prefer.
- jinfiesto 7y agoSkill-wise, absolutely. Demand-wise, absolutely not. I'm a freelance developer now, but before I was a senior engineer at an international software company. I've considered several times pivoting to productized Wordpress consulting because of how easy it is and relatively scalable vs other kinds of software development. The level of demand for basic Wordpress setup/configuration is really pretty astounding.
- jstewartmobile 7y ago"Today, Mr. Davis, 27, is a cybersecurity specialist working on an incident response team at the company. He earns above $40,000, more than twice his salary in retail." Isn't that like what people at Costco make for running a cash register and being friendly? And who do you think has more job security? edit: To be less coy about it, if you are any good at this stuff and are only making "above $40k", you are getting f-ed.
- javagram 7y agoCostco jobs are an outlier in retail as I understand it. $40k/ year in Georgia may be a liveable salary, and if this is an entry level job for him there’s probably the possibility to increase that salary by a 1.5x factor or more over 5 years if he can continue career growth (not sure exactly what a cybersecurity job path looks like, but I assume there is some upward mobility or increased ability to transfer to other higher paying tech roles).
- jstewartmobile 7y agoI know some fairly credentialed people in the same field. Their pay is much better, but the job security seems very tenuous--especially for something so joined-at-the-hip with the defense industry.
- mynameishere 7y agoOut of curiosity, what compels people to use terms like "liveable salary"? ("Living wage" used to be more common, but whatever.) The median salary in the US is less than 32,000/year. Do you think half the country is failing at "living" in anything but a totally fantastical definition of the word "living"? It's a cheap propaganda term--obviously--so why use it? Is it just habit? (https://www.ssa.gov/OACT/COLA/central.html https://www.ssa.gov/OACT/COLA/central.html)
- javagram 7y agoMedian salary may be less than 32,000 but keep in mind a lot of people get welfare assistance. EITC, food stamps, Medicaid, and many other programs are available for the people making very little. Personally I started my career on what was probably a similar salary to this person’s 40k (adjusting for inflation.) I had my own experience in mind when I used the term liveable - thinking about being able to afford an apartment on my own and eventually save up to buy a car rather than use public transit/bike exclusively. Obviously, people do make do with less. Sometimes that means stuff like spending 4 hours a day commuting on multiple buses or something, or juggling multiple jobs and increasing stress levels, etc...
- frankbreetz 7y agoI worked teaching factory workers how to use a software, and can say that no matter how much education and training the majority of these people receive they are not going to become software developers, and it isn't just the older generation. It takes a certain level of abstract thought to be a software developer. The kind of software development jobs that a typical factory worker is capable of are quickly disappearing if they aren't already gone.
- Kinnard 7y agoHow are you able to assess what they are capable of?
- neonate 7y agoThat is part of the teaching process, no?
- Kinnard 7y agoI'm asking how he assesses their capacity, not asserting that he is not able to. Not a statement hiding in a question :|
- madengr 7y agoHe teaches them. In my experience, only a few people in an undergrad EE EM class understand divergence and curl. Those that don’t probably won’t do well in certain EE disciplines.
- nitrogen 7y agoWhen I was a young kid I came across a mini golf game for the computer (can't remember which platform, could have been Atari 130XE, IBM PC XT, or Apple iigs) that represented sloped surfaces as vector fields. So I knew if there were arrows pointing left, my golf ball going right would slow down and roll back to the left. That kind of early exposure made it much easier to understand vector fields later on.
- 7y ago
- killjoywashere 7y ago> Training, mentoring and counseling people — often from disadvantaged backgrounds — is not a mass-production process. Yes, yes it is. It literally is. Maybe you need some additional sorting of raw materials in, maybe the machines (the teachers, the mentors) have a relatively low number of cycles in their lifespan (number of students they can teach), maybe there's more sorting on the output (just like chips are sorted after production), but at nation-scale software engineers are definitely mass-producible.
- richdev 7y agoThis is a nonsense answer. Total BS.
- dang 7y agoMaybe so, but can you please not post like this to HN? We're trying for thoughtful conversation here, and that means being kind and responding substantively (or not at all), even when another comment is completely wrong. If you'd read the site guidelines and take the spirit of HN to heart, we'd be grateful. We're trying to be less hostile and a bit more interesting than Internet Default, if you know what I mean. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- richdev 7y agoRemember why Agile/Scrum sucks and you'll see when attitudes started to get out of whack : https://news.ycombinator.com/item?id=5406384 https://news.ycombinator.com/item?id=5406384 https://www.reddit.com/r/programming/comments/44bmmq/why_agile_and_especially_scrum_are_terrible/ https://www.reddit.com/r/programming/comments/44bmmq/why_agi...
- ngcc_hk 7y agoCan everyone (the mass) is in the middle ... is the middle ...
- csense 7y ago"Your job screwing bolts on cars disappeared? Learn to code and be a programmer." Great advice for the typical HN reader, but a lot of people who can learn to screw bolts on cars just don't have what it takes to be a good coder. I don't know if it's due to innate intelligence, upbringing, environment, attitude, or what. But there are millions of people out there who just don't seem to be able to master the abstract thinking required. And I'm not sure they'll ever be able to, regardless of how much education we give them. What should our economy do with those people going forward? For social stability and ethical reasons, we ought to give them a path to decent middle class lives. How do we make that happen? I think the key's that from 1880 to 1980, we invented mainly technologies that pulled more and more people into the labor force. Now we've started inventing technologies that push more and more people out of the labor force. How do we reverse the trend? What kind of technology can we try to invent that pulls in a huge number of people to work, the more laborers, the better?