Slashdot Mirror


The Extinction of the Programming Species

Max Goff writes "Given the recent chatter surrounding the extinction of the U.S. programmer, /. readers might also be interested in a series of articles I recently penned for java.net -- the Blacksmith and the Bookkeeper (part 1, part 2 and part 3) -- in which I posit that the postmodern programmer (the entire sub-species, not just those domiciled in the U.S.) shares much with the blacksmith of old, and will become just as extinct in relatively short order. It is not due to work visas or outsourcing, but has much more to do with the evolution of work itself."

107 of 491 comments (clear)

  1. The real reason by Anonymous Coward · · Score: 5, Funny

    Programmers can't reproduce without sex, and sadly, we're not getting any.

    1. Re:The real reason by Kenja · · Score: 3, Funny
      "Programmers can't reproduce without sex, and sadly, we're not getting any."

      And yet most of us try to reproduce asexualy on a daily bassis. In fact, most of the internet is geared to helping us.

      --

      "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
    2. Re:The real reason by Rand+Huck · · Score: 5, Funny

      Hey, now, get out of the 70's. Nerds are starting to get increasingly popular with the ladies. They're starting to realize that computing is just about the most sexual thing, what with the fact that we connect male-female sockets together and even have kinky master-slave role playing stuff.

    3. Re:The real reason by rpozz · · Score: 4, Funny

      I think the really worrying thing about this post is that it has been modded 'Interesting'.

    4. Re:The real reason by Gentlewhisper · · Score: 2, Funny

      http://www.bride.ru/

  2. Egad! by TheMediaWrangler · · Score: 5, Funny

    Somebody else RTFA! I don't want to know how I'm gonna die.

    --
    People should not fear what they do not understand; people should fear because they do not understand.
    1. Re:Egad! by Lehk228 · · Score: 4, Funny

      according to the article you will die from excess bullshit (at least that's what i got from the article)

      --
      Snowden and Manning are heroes.
  3. The real reason-Test Tube Baby. by Anonymous Coward · · Score: 3, Funny

    " Programmers can't reproduce without sex, and sadly, we're not getting any."

    Why do you think test tubes were invented?

  4. I, Roboto by Anonymous Coward · · Score: 3, Interesting

    "It is not due to work visas or outsourcing, but has much more to do with the evolution of work itself."

    When we have robotic programmers, then I'll buy your argument.

  5. great news! by Anonymous Coward · · Score: 3, Interesting

    I will be graduating in december with a bachelor's of Computer Engineering. Just as all the other in my study program, we got work experience up'til now in programming, because that's where the job was. For 50 programmers there is about 1 engineering job offer. Now I have to find my first carreer-job.

    So my work experience and part of my academic background was all for nothing this says? Great news! Now that I've studied for more than 4 years, I learn it is going to be useless.

    I'm wondering how many other slashdotters feel like me at the moment. Extinction of the programmer species means for me that I lost a few years of my life and now I have to change my carreer. What about the other thousands like me?

    1. Re:great news! by smallpaul · · Score: 5, Insightful

      They have been predicting the demise of programmers since the invention of COBOL in the 60s. It was supposed to turn ordinary business users into programmers thanks to its easy, English-like syntax. We're still waiting. Now this writer is talking about "codeless development environments" which are (like the 5GLs and expert systems of yesteryear) supposed to replace programmers.

    2. Re:great news! by C10H14N2 · · Score: 2, Interesting

      The world owes you exactly 'Jack' and 'Shit'.
      Well then, I would like to pay this particular corner of the world for my student loans accordingly.

      The problem with this "no one owes you anything" attitude is that if you're paying for something, whether in work or dollars, it very distinctly owes you something in return.

      See, I can bee a FReeper too.

    3. Re:great news! by delco · · Score: 5, Insightful

      Now this writer is talking about "codeless development environments" which are (like the 5GLs and expert systems of yesteryear) supposed to replace programmers.

      The way I see it, if the current demand for software systems doesn't change, this argument may possibly hold *SOME* water. However, users keep pushing what they want onto the cutting edge of what current systems can do.

      For an analagous example, look at processing power. When companies come out with faster processors, do we just run the same applications, but now just faster? No. Not only do our standard applications do new and *cough cough* wonderful things, We find new and exciting uses for our extra processing power. which in turn pushes the need for even faster processors.

      It seems that the extra time made available by the eases of case tools, intelligent IDEs and more intuitive syntax is being put to use implementing more sophisticated architectures, developing more robust business logic and implementing more useable software overall.

      Without the increase in productivity associated with evolving programming tools (ie languages,environments,frameworks) would we have more programmers working on projects of the same scale as today, or the same number of programmers working on projects with less usability?

    4. Re:great news! by mitchus · · Score: 3, Insightful

      The great thing about engineering is that it's very polyvalent! It's about the greatest education you can get, because up to a point (at least not within your lifetime) the basic principles are never obsolete, and lateral mobility is relatively easy. Remember, you're an engineer before you're a computer engineer! I wouldn't say that you've lost any years of your life. Maybe you can't work as a coder anymore, but if during this time you became a proficient programmer, just realize that this is something that will be useful to you throughout your life, regardless whether it's not your job anymore. You just might find that there are actually more interesting tasks than coding in the engineering field :) Anyway, don't throw the towel is all I'm saying. Cheerio

    5. Re:great news! by mitchus · · Score: 2, Funny

      The world owes you exactly 'Jack' and 'Shit'. The sooner you learn that, the happier you will be.

      That's some kind of a recipe for happiness, I'll tell ya!
      (not)

    6. Re:great news! by Tablizer · · Score: 2, Interesting

      They have been predicting the demise of programmers since the invention of COBOL in the 60s. It was supposed to turn ordinary business users into programmers thanks to its easy, English-like syntax. We're still waiting.

      I agree. The author does not seem to know computer fad history very well. If anything, today's "enterprise" web applications are harder to create than Visual Basic or Delphi one's. The industry took a step backward in terms of development with biz web forms. Deployment may be easier, but programming is harder. One can perhaps debate about long-term software-engineering attributes of the code, but Visual Basic and similar tools made it pretty easy to make and manage business applications. Web forms and related DOM+JavaScript were afterthoughts to a technology that is designed for e-brochures, not business forms.

      Web developement for biz apps seems to be at the analogous point where SmallTalk was the de facto GUI development tool. VB came along and wiped SmallTalk's butt because of its RAD abilities. SmallTalker's bragged about reuse and other claims, but the benefits either failed to materialize or managers ignored them. Web forms are probably going to have a similar revolution soon. I can't beleive the clunky current approach is the pinnicle. There are some good ideas out there, but the industry has not settled on a standard yet.

    7. Re:great news! by bitingduck · · Score: 5, Insightful

      Now that I've studied for more than 4 years, I learn it is going to be useless.

      College isn't a trade school, and you shouldn't treat it that way. The most important thing you learn in college is how to learn. In many, if not most, fields what you learn in college is outdated by the time you finish (if it wasn't when you started) but it does (or should) give you a strong background from which to learn other things. In graduate school you learn how to learn things that nobody knows yet.

      As an example, an undergraduate physics degree from a pretty decent school will get you to about the mid-1950s as far as physics knowledge, with a few little tastes of stuff from the 70s(and maybe even the present, if you work in someone's lab). You can fake your way into a lot of engineering jobs from there, and if you go to graduate school, you catch up to maybe the 70s (or even 80s and 90s) in a lot of areas, and you take one small piece of physics right up to the present day and become a world expert on it, adding new knowledge at the leading edge. All the stuff you learn along the way provides important context and background knowledge, but the most important thing you learn is how to obtain new knowledge. If you need any of that stuff that you didn't have time to learn (because the field has gotten very large) you at least get the tools to go back and catch up quickly. Computer Engineering has to be much the same, if not more so, since things are changing even faster than in physics.

    8. Re:great news! by singollo · · Score: 5, Interesting

      The premise of the article is also similar to the kinds of arguments people were making in the '80s about expert systems:

      "We can develop inference systems for all these professions with voluminous, but highly specialized knowlege bases, and then we won't need the highly trained professionals anymore".

      This also harkens to a software engineering fantasy that we can standardize and simplify hard problems. There are many who disagree with this point of view, including Fred Brooks.

      An interesting take on the failures of software is Jaron Lanier's One Half of a Manifesto. (Actually even more enlightening is the debate that ensued around the manifesto (responses, reply).

    9. Re:great news! by Madcapjack · · Score: 2, Insightful
      College isn't a trade school, and you shouldn't treat it that way. The most important thing you learn in college is how to learn.

      You're right , of course, but, its no consolation to a recent graduate with 30,000 in debts and no job prospects.

    10. Re:great news! by manual_overide · · Score: 2, Interesting

      Now I have to find my first carreer-job.

      May I suggest applying for a job as a /. editor?

      --
      If bad puns were like deli meat, this would be the wurst
    11. Re:great news! by bitingduck · · Score: 2, Insightful

      Job prospects in tech things aren't what they were 6 years ago, where you could practically walk out of school and roll in money, but there are still tech jobs out there. And 30K in debts isn't chump change, but it's nothing like doctors and lawyers collect in debt, and loads of them don't wind up in the big $$ jobs.

      The thing that most bothers me when I check out job web sites is that the only work that seems to stay in the US anymore is defense stuff that can't be offshored because of the need for cleared people. There needs to be some of that kind of work, but if the only thing produced in the US anymore is pizza delivery and weapons systems, we ought to be worried.

    12. Re:great news! by Citizen+of+Earth · · Score: 3, Funny

      Now this writer is talking about "codeless development environments" which are (like the 5GLs and expert systems of yesteryear) supposed to replace programmers.

      Yeah, computers are going to take over the programming business because they have become so fast recently that they can solve the Halting Problem in five seconds flat.

    13. Re:great news! by Thangodin · · Score: 4, Insightful

      I will say that I agree with him on hyper-human skills. Computers are being used in the wrong way. When I worked for a dot com, everyone was raving about alltheworld.com, a flash in the pan search engine. I pointed out that I didn't want 60,000 matches--I just wanted the one that I was really looking for. They all looked at me funny. Computers are being used to flood people with data. What they should actually be doing is giving people the few pieces of data they actually need. And nobody in the dot com world seemed to grasp this. They had no idea what people actually wanted or needed. As Winston Churchill put it, "Give me this day, on one sheet of paper, the following information..."

      But the current great extinction has nothing to do with any of the things he's talking about. It has to do with the outsourcing, the bust of the dot com bubble, and a popular belief that now that the dot com bubble has burst, you don't have worry about that computer stuff anymore (I kid you not--a lot of technophobes out there actually think it is all going to go away.)

      There is no question that programming will evolve, and that we will work at higher and higher levels in the future. But it is equally true that as the methods ramp up, so will the target, and competition to produce software that reaches that target quickly, efficiently, and easily will demand the best solution, which is always hand tweaked. Build by number tools are always general--2,000,000 lines of code used to do what 1000 lines would do better, because the code is literally written with no idea of what the real task is. And to use these high level tools effectively there are always "Tips, Tricks, and Traps," which require a background knowledge of the underlying architecture to grasp.

      And by the way, assembler still does everything better than anything else. Check out Gibson Research (http://www.grc.com/) for proof of that.

      As for genetic programming, allow me to contrast the hand coded solution to the genetically designed solution:

      Hand coded: 2 + 2 = 4;
      Genetic: 1 + 1 + 3 - (4 * 3) + 3 + (6/2) + 2.5 + 1.5 + ln(e) = 4

      Yeah, it will give you the right result... eventually. But if you want to read your email, you better book a couple days time with WETA's server farm. Not to mention that it takes as long to train one of these as it does a human--and it takes someone who knows a lot about computers (a very good programmer) to specify the criteria. A good example: the Pentagon wanted a genetic algorithm that could recognize a tank. They got one that seemed to work, until a new set of photos were used. It turned out that all the criteria photos with tanks were taken on a sunny day, and all the others were taken on a cloudy day. So if the sun is out, it's a tank. Doh!

      The more sophisticated the software is, the harder it is to fix when something goes wrong. Superficially simple applications for complex tasks are that much harder to diagnose and fix when they fail. Windows appears easy, until a bug rears its head, and then it takes thousands of man hours just to track down the cause. Linux has a steeper learning curve, but a core simplicity once you're over the hump. Simple software is simple because the brain is built in. But that doesn't mean that the brain will always work.

      Eventually, someone will have to go down and sing to the metal.

  6. Blacksmith? by nuclear305 · · Score: 3, Insightful

    Ok...without RTFA...since the blacksmith was generally replaced by industrial production (either directly or indirectly) ...does that mean programmers are going to be replaced by machines that can code on their own?

    If that's the direction TFA is taking...I highly doubt it. To quote the Borg Queen from ST: First Contact: "You are an imperfect being created by an imperfect being."

    Unless humans as a whole somehow reach perfection, we'll never be able to produce something to completely replace the human element.

    1. Re:Blacksmith? by LiquidCoooled · · Score: 2, Insightful

      No, but we can mechanise the process.

      A factory machine is not autonomous, it doesnt just do everything itself, it must still be told what to do.

      I see development work adapting and expanding, and yes I see fewer actually code monkey jobs.

      In a computerised brassband, there is still a need for a skilled composer.

      --
      liqbase :: faster than paper
    2. Re:Blacksmith? by smallpaul · · Score: 2, Insightful

      Why not RTFA?

    3. Re:Blacksmith? by Sponge+Bath · · Score: 2, Funny
      ...does that mean programmers are going to be replaced by machines that can code on their own?

      Yes, but humans will survive by learning to service the machines.
      "Do you want WD-40 with that sir?"

    4. Re:Blacksmith? by drix · · Score: 4, Insightful

      Isnt this pretty obvious? Java and Python are two "machines" that allow me to forget about areas of programming that people had turned into veritable art forms just a decade ago, things like memory management and code portability. People who are still doing that kind of work are the technological equivalent of blacksmiths--still needed for some niche roles (kernel hacking, scientific computing), but by and large a relic. The same may be said for the ever-increasing (quality and quantity) assortment of code libraries available today, and for code reuse in general.

      I don't think this is a bad thing; I don't agree with the chicken little tone of this story. If we have a lot of blacksmiths--e.g. high skilled, labor-intensive jobs--dominating any given sector, they should be disappearing at a healthy clip. The US (or any country, for that matter) is left better off as a result. That's just plain and simple Econ. 101: technological advancement drives long term growth and prosperity. Programmers (esp. on Slashdot) are quick to lament the de-commoditization of their profession, because it means lower wages and more competition than that to which they became accustomed in the nineties. But there's no denying that in an overall, macro sense, having a nation full of Java programmers will result in much greater overall well-being than one of 10,000 C haxors and 250 million farmers.

      --

      I think there is a world market for maybe five personal web logs.
    5. Re:Blacksmith? by azyuroth · · Score: 2, Insightful

      I can't honestly see this happening any time soon. My main problem with it is games... I wouldn't want to be having to spend X dollars on hardware to run a game that would be able to run on my current machine, were it written in a faster language.

      I suppose this has already happened to an extent, with C instead of assembly language. Maybe writing fast code is an obsolete technique...

      I don't understand your remark that a nation full of Java programmers results in better well being... Could you explain it?

  7. Why? Heres why! by jsm008us · · Score: 2

    It's because the "cool kids" beat them up. Then again, there are less programmers because people aren't AWARE of most of the things that go on (e.g. programming, them being sent overseas, etc). Dont be so harsh on ourselves. Look at those who succeed as programmers AND who get some. Except maybe the geek girls are all already takem :/ ) Just my thoughts!

    --

    mysql>SELECT * FROM users WHERE clue > 0
    0 Rows Returned
  8. It's all a fad by tomstdenis · · Score: 5, Insightful

    Tools come and go. Knowledgeable people are here to stay. The problem is many people pretend to have knowledge in fields they're not experts.

    It's the same with diet/exercise. As the years go on new diets/plans come and go yet the old school traditional "just eat less crap, more good and get off your ass" philosophy is still here.

    Wanna make sure you're employable as a software developer? Make sure you're actually knowledgeable about the science *and* the field. It's good to know about things like Java/C++/etc but it's equally important to know about design theory, algorithms, math, etc.

    So if you signed up for some 6 month "computer science" program well don't blame the industry for your unemployable status. Code monkeys are a dime-a-dozen.

    Tom

    --
    Someday, I'll have a real sig.
    1. Re:It's all a fad by cubicledrone · · Score: 4, Insightful

      Knowledgeable people are here to stay.

      Well, at least until the next round of layoffs.

      Wanna make sure you're employable as a software developer? Make sure you're actually knowledgeable about the science *and* the field.

      You know, the animation industry is a good example of why this doesn't work. Disney laid off hundreds upon hundreds of totally irreplaceable feature animators over the past few years, most recently in Florida. These people were almost directly responsible for hundreds of millions of dollars in revenue to the company. But, they're too expensive.

      So to fuck all with their skill, experience and DIRECT INFLUENCE ON TOP-LINE REVENUE, out on their ass they went with their pencils and ink and an EIGHT-DECADE tradition of animation quality right after them.

      Companies don't give a fuck about skill or education. It's too expensive. They would much rather sell shit at a 50,000% markup and congratulate themselves at company parties.

      --
      Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
    2. Re:It's all a fad by frenetic3 · · Score: 4, Insightful

      Uh, I would imagine many of these people retrained as computer animators, which Disney, Pixar et al still need. The *tools* are different, but the core skills and concepts are the same whether it's ink and paper or Maya.

      And if not, hey, they could draw kickass invitations for those company parties. With bunnies and gold stars and shit. It's a win win, dude.

      -fren

      --
      "Where are we going, and why am I in this handbasket?"
    3. Re:It's all a fad by tolan-b · · Score: 2

      Wish my modpoints hadn't just run out, you've hit the nail on the head.

      I would imagine many of these people retrained as computer animators, which Disney, Pixar et al still need.

      Yep, a lot of them did. Animators are more than just artists, they understand how to make movement look right, and how to express emotions drama and humour through it.

    4. Re:It's all a fad by tomstdenis · · Score: 2, Interesting

      Do many C programmers understand the details of kernel scheduling? No, they don't need to.

      No. But if you do you're more useful as an employee. You're also more versatile.

      Say all you know how to code in C is say um, say, data loggers. Nothing else. Just simple logs to text files.

      Now you're sitting next to someone who has dabbled in [and understands] data compression, compilers, networking, IPC, crypto, math, etc, etc, etc.

      Well the guy next to you [provided they're clean cut] will be a hell of a lot more employable then you are.

      Even if you both get the Axe the other guy can apply for a larger range of jobs then you can ever legitimately hope for.

      It's not that being a "master of all trades" is desirable. just that you should be at least partially versed [e.g. did lab work in the subject].

      Programmers working in higher level languages have a different knowledge set, not an inferior one. Like writing long-term maintainable code. Like writing non-brittle code which will be adaptable to business needs.

      This is a logical fallacy. Higher level coding doesn't immediately imply long-term maintainability. I've seen many C++ projects that don't build well [say KDE 3.2.x on my Amd64 with gcc 3.4.2 in Gentoo...]. You can easily write well written, modular, highly portable and maintainable code in something as "low level" as C. You just have to design it carefully.

      In fact one of my older projects was a crypto library in C that was used by hordes of companies of all shapes and sizes [and many different platforms]. Being in C wasn't a burden. In fact it helped people use it on the diverse platforms they used.

      The point though is if you don't know how any of the code you wrote works then no language is going to help you make a competitive product.

      For example, if you don't understand kernel scheduling how the heck are you going to write something that is complex enough to have multiple threads/processes?

      If you don't understand how graphic primitives actually work how are you going to write GUIs for framebuffer platforms?

      If you don't understand how networking works, etc...

      Sure there are gui/network/etc libraries but they're not always accessible. A port of MesaGL wouldn't make sense for say a gameboy. Similarly glib may not be the best library for a PS2 game or linksys router [though it probably uses it... ok so lame point there...].

      Point is, knowledge is power. Ignorance and arrogance is what drives companies into horrific conditions [such as layoffs and scandal].

      Tom

      --
      Someday, I'll have a real sig.
    5. Re:It's all a fad by ericspinder · · Score: 5, Insightful
      Sure, knowing what's going on allows you to learn new stuff easily (look at all the C++ programmers who can code up Java once they have a 10 minute tutorial)
      I've seen this, and it ain't pretty. Hell, even most of the old C++ programmers will acknowledge their early Java code tries as misguided. What helps an experienced programmer the most is his (or her) 'general' knowledge of the task of programming itself. Moving from C++ to Java (IMHO) is something like moving from a motor cycle to a car. Sure the car's 4 wheels help balance (ie trash collection), but car can't fit though your old short cuts.
      One day, I think business apps will be programmed using tools something like Visio - drag and drop your 'web service' 'component' match up the inputs and outputs, and connect a GUI at one end (that provides inputs) and a DB 'component' at the other (to provide outputs).
      Bill Gates!, glad to see your here! AKA, they have been predicting this exact situation for the past couple of years. As one who has coded and worked with several web services, Bull Shit. It's not going to happen anytime soon, if ever.
      Something like this would be suitable for programming 99% of business applications and would be useable by 'business people', not dedicated programmers.
      Then those business people will say that they program. look on some resumes, you will eventually find someone who can 'program' MS Excel.
      As the tools improve (ie become more automated) you have to keep up with them, or become as anachronistic as the blacksmith mentioned.
      Sure you don't see too many black smiths around these days, but you do see...
      • Metallurgical Tech./Technician
      • Machinist
      • Machine shop workers
      • Steel workers
      • locksmiths
      • and many more...
      Just becuase they don't call themselves Black Smiths, doesn't mean that can't trace back to some guy standing over an avil, pounding away with a hammer.
      --
      The grass is only greener, if you don't take care of your own lawn.
    6. Re:It's all a fad by Safety+Cap · · Score: 3, Insightful
      They did everything right, ~.
      No they didn't. They forgot one simple fact:
      2. Consider yourself a long-term contractor, not an employee. The company will discard you when it becomes expedient. You should be prepared to do the same.
      -- Ripples
      --
      Yeah, right.
    7. Re:It's all a fad by tolan-b · · Score: 2, Insightful

      Well yeah I basically agree with what you're saying, but perhaps I didn't make myself clear enough.

      Yes the wider your skillbase the more adaptable you're going to be, unless of course you spread yourself too thin.

      My point about higher level languages wasn't that they're more maintainable by default, far from it. My point was that people using them tend to have a different set of priorities in the working lives.

      To go back to schedulers for example, when you write a scheduler, I imagine one of the key aims is for it to be as fast and lightweight as possible, and to that end, you're going to write it to do one job very efficiently. The chances of your boss turning round and saying "yeah, now we want it to integrate with our new CRM system" are probably quite low...

      However if you're writing business applications then there is much more emphasis on changing needs. Everything you do has to be with the assumption that at some point, probably sooner rather than later, someone is going to turn round and say "actually, you know that system you wrote? We wan't it to do something it was never designed to do. By wednesday please."

      So cards on the table. Yes I get a bit defensive when people start telling me I'm a coding lightweight simply because I can't reel off the major sorting algorithms off the top of my head. Yeah, I've been over them, I think I wrote a bubblesort once for some reason when I was about 15, but you know what? In 8 years writing business applications I've never needed to write a complex sort. It's just not the sort of thing that's important.

      What I *do* need to understand includes things like good OO design, so that changes to systems my code interfaces with won't require re-writes of more than a small amount of my code. Understanding where the typical bottlenecks in the types of applications I work on tend to be (the database 9 times out of 10). Again with databases, how to efficiently abstract database logic from the main application logic so that changes in schema for other systems don't require a re-write of the one I'm working on.

      None of these things are rocket science, but they're my domain, and in my experience, lower level coders who move into this area often don't really understand these things and I end up inheriting a codebase that's 10% more efficient, but needs major re-architecting for relatively minor changes. That's fine, they're from a different discipline, but not necessarily a 'better' one.

      Oh dear that turned into a rant didn't it? :)

    8. Re:It's all a fad by Tablizer · · Score: 2

      Wanna make sure you're employable as a software developer? Make sure you're actually knowledgeable about the science *and* the field. It's good to know about things like Java/C++/etc but it's equally important to know about design theory, algorithms, math, etc.

      As I described in message 10546814, I fundimentally disagree. It is like telling a unemployed blacksmith in 1930 that he just has to hone is craft with Samuri-like dedication to survive. While it may work for a few, it is not a general solution for a dying field.

      Further, employers generally do NOT value that stuff. Besides, "best practices" are mostly personal opinion because the field of software engineering is still a dark-grey art. I only use algebra about once every year, and even that can be outsourced. We call lawyers when we have law questions, so why not email a math expert when we have math problems instead of trying to cram our head with details we forget in 10 years anyhow.

    9. Re:It's all a fad by tomstdenis · · Score: 2, Insightful

      I.T. != software development

      Some clarification....

      Software Developer - Responsible for design, testing and implementation of software.

      Software Programmer - Code Monkey.

      I.T. - Someone who manages information [a/k/a SysAdmin and SysOp].

      Programmers [while talented in their own right] are often mislabeled as developers when they're not. If you don't design, test and verify software you're not a developer.

      Though I agree abut the resume issue. That's why you do your own projects/OSS to stuff your C.V. with accomplishments.

      Sadly though even that's overlooked. RiM [those blackberry fruitcakes...] for instance don't consider projects/OSS as "experience" and *only* consider education in the interview.

      Tom

      --
      Someday, I'll have a real sig.
    10. Re:It's all a fad by cubicledrone · · Score: 3, Informative

      Due to a sense of loyalty, tradition, and pride, Disney kept those artists employed long after they ceased to be profitable.

      Absolute nonsense. Lilo and Stitch was their most recent film. It was so "unprofitable" (over $260 million at the box office) that Disney has published several DVDs and a made television show from it. Disney kept the animators employed for a whole year before firing the entire studio. Oh, and they were so concerned about wasting money that they flushed the project they were working on (and all the money that had been spent) down a toilet.

      Audiences today just don't like to watch untextured, cell-based cartoons anymore.

      Really? There are 400 animation studios in Japan. Spirited Away won the Academy Award for best animated feature. The anime industry earns $4.3 billion a year in revenues. Pokemon's total market exceeds $30 billion.

      The last hugely successful

      Disney

      cell-based film was Lion King

      Home On the Range, was not a bad movie, but it made no money, because today's viewers want something else.

      Yeah, like a writer. There are eight shelves of anime at Best Buy. There is an entire cable network that runs anime 24 hours a day. Some of the highest-rated shows on television are anime. Today's viewers want quality. Disney just doesn't want to pay for it.

      --
      Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
    11. Re:It's all a fad by Tablizer · · Score: 2, Funny

      IT titles are a dark-grey art. I have given up trying to clean up the industry labels. In practice the boundaries are usually fuzzy anyhow.

  9. Ok by cubicledrone · · Score: 5, Insightful

    It is not due to work visas or outsourcing, but has much more to do with the evolution of work itself

    Nonsense. It has to do with the wholesale re-negotiation of the social contract between business and the society it sells to.

    Business is no longer satisfied with the simple model of building a product and selling it. That would require work, investment, long-term planning and respect for the skill, education and loyalty of their employees.

    Much better, business says, to sell all of that and simply manufacture brands. The modern workplace is therefore obsolete, because business does not want to pay for it. It's really that simple. People are only useful if they are opening their wallets at a cash register. They are not worthy to be employed and paid a fair wage.

    There are voluminous statistics to support this, but a few should be sufficient. In the last few years, corporate assets have increased 288%. Employee compensation has increased 9%.

    Over half of the working-age population is either a temp, part-time, unemployed or out of the workforce entirely. Read it again: HALF OF THE WORKING-AGE POPULATION IS NOT EMPLOYED FULL-TIME. Companies have no respect for anything: skills, education, experience are all totally meaningless to these companies. ALL that matters is money. That's why it takes five interviews and a credit-check to get hired, but only an e-mail to be fired.

    Unless, of course, we're discussing the price tags of all these "brands." Then, it's "you get what you pay for." Like $2500 for a mattress and $4500 for a television, $175 for a basket of groceries and $50,000 for a car. It's nonsense, of course, but everyone's too busy arguing about the problem. Nobody is interested in hearing the facts. All that matters is money.

    --
    Business isn't willing to pay for products, innovation and careers, so we get brands, mortgage commercials and layoffs.
    1. Re:Ok by Anonymous Coward · · Score: 3, Interesting

      HALF OF THE WORKING-AGE POPULATION IS NOT EMPLOYED FULL-TIME.

      This is a good thing. Read it again: This is a good thing.

      Why do they pay you to work? Because you wouldn't do it for free. What happens when people retire? They have enough assets so that they no longer have to work for a living, and so generally promptly quit.

      Medieval serfs had 100%, full-time employment. Even better, they were employed 18 hours a day instead of a mere eight. Shame that modern businesses have slashed our workday in half! Shame that modern business have slashed the workforce in half!

      Increased productivity so that not everyone need be engaged in a constant minute-to-minute struggle for existence every minute of every day is a benefit, not a drawback.

    2. Re:Ok by BrainInAJar · · Score: 3, Insightful

      Medieval serfs didn't work for an hourly wage, modern employees do.

      The problem isn't a lack of employment, The problem is insufficient compensation to keep you in a human standard of living

      Increased productivity is good for keeping business profits up, but it's no good at all for keeping people fed and clothed

    3. Re:Ok by pjt33 · · Score: 2, Insightful

      I don't deny it, but it's not full-term employment in the sense in which the phrase was used in the post to which I was responding, and it doesn't count towards statistics on the workforce, which is the word I used.

  10. Postmodern(Apple) != Postmodern(Orange) by Anonymous Coward · · Score: 4, Insightful

    The problem lies in the definitions. A bookkeeper of today is nothing like a bookkeeper of the 19th century. The "postmodern" bookkeeper is dependent on a new set of tools -- software written by those outmoded programmers, even. They no longer calculate books by hand, but use automated tools, and they're not so concerned with tracking business' money as they are with audits, GAAP, and finding interesting new ways to conjure a penny more than consensus earnings estimates from the Street.

    Similarly, the role of "blacksmiths" evolved. Today, you might call them machinists, or perhaps they're the assembly-line workers. You don't see many blacksmiths making auto parts by hand, but then you don't see many bookkeepers calculating General Electric's quarterly results by hand, either.

    It's merely a linguistic quirk that we retained the occupational title for "descendant job 1" and not "descendant job 2". Recall that "computers" themselves were once human beings that did arithmetic.

    Similarly, programmers aren't going away, though we may stop calling them "programmers" and the day-to-day details of their methods and tools will change.

    And if you are concerned simply with a narrow focus on specific methods of today, then programmers have already survived the postmodern shift. As scarce as blacksmiths are professional programmers who key in word values with switches on the front on their machine, and almost as scarce as those that deal with any significant amount of assembly language. Programmers and their tools have already evolved with time, and a modern programmer mucking about in .NET RAD would be nearly as alien to a systems programmer of forty years ago as a machinist with CAD-driven power machine tools would be to the blacksmith of four hundred years ago.

  11. No Knuth? by Eric+Giguere · · Score: 5, Insightful

    The reader comments on these articles are themselves interesting. I especially think this one is telling: "As a Java programmer I haven't looked up searching and sorting algorithms in Knuth". Being a Java programmer myself, I can certainly appreciate having these kinds of algorithms in a standard library. I still think you should spend some time with Knuth or some other book (or online documentation) and understand how they work. That's one problem I see, not enough programmers today learning the fundamentals and just letting the libraries do all the hard lifting for them.

    Eric
    Thanks to All-Bran, William Shatner 'goes like no man has gone before'

    1. Re:No Knuth? by bob65 · · Score: 2, Insightful

      So saying programmers will become extinct really depends on your definition of programmer. Some consider Java programmers that don't know how to implement basic sorting algorithms or do basic O analysis "programmers". Others outside of the tech field think "computer scientists==programmers" (don't get me started on this). *Some* group of programming-related people is going to become extinct, we just aren't sure who yet. Blacksmiths were replaced by machines, so a good place to start would be, "what type of programming can be replaced by machines?" As design patterns become more and more mature, and the software engineering industry becomes more standardized, I suspect we'll reach a point where the class diagram (or some description of the implementation) will be enough to generate working code. We've already seen a trend in programming going from lower level programming (assembly, etc) to higher level programming (Java, etc). Abstraction permeates computing in every sense, and I expect the abstraction to continue.

    2. Re:No Knuth? by darkstar949 · · Score: 4, Interesting

      There are already some industry specific programming systems - I say systems, because they are not really languages - that use flow charts and diagrams to generate instructions instead of pseudo-code or a high-level language like Visual Basic.
      However, the parent does raise a valid point - many of my co-workers are good at putting widgets together and doing similar tasks, but don't really know what to do when they need to think in terms of embedded environments or program optimization.

    3. Re:No Knuth? by Tablizer · · Score: 2, Interesting

      That's one problem I see, not enough programmers today learning the fundamentals and just letting the libraries do all the hard lifting for them.

      I have seen programmers obsessed with efficiency and speed waste time and money. I don't know if you are one, but we must look at things differently now. Face it, that stuff is only marginally important. Better spend time on your people skills instead. Note how most of us developers have dozens if not hundreds of techie books, but possibly ZERO books about people skills. We must change our thinking away from the idea of building a better mouse-trap toward selling mouse-traps. I know it is depressing, but it is the ugly reality. Writing better sorts from scratch or mastering closures is NOT going to save us from the big-picture: Brains Are Becoming A Cheap Commodity. Your suggesting is like telling a blacksmith in 1930 to simply learn more efficient blacksmithing techniques. You cannot stop a flood with a straw.

    4. Re:No Knuth? by Eric+Giguere · · Score: 2, Interesting

      I have seen programmers obsessed with efficiency and speed waste time and money.

      I have seen programmers obsessed with pleasing management waste time and money. Let's face it, there are zillions of ways to waste time and money. Writing more efficient code is a lesser evil in my mind.

      We must change our thinking away from the idea of building a better mouse-trap toward selling mouse-traps.

      Outside of academia, this has always been the case. Look at the top people at most technology companies, you'll see that they're business people -- usually from a sales and/or marketing background -- and not techies. Or they might have been techies in some early life but over the years migrated into selling roles. I think, though, that few techies have the skills to make that kind of leap. So just telling people to brush up on people skills isn't going to cut it, either. If you firmly believe that good programming skills are innate (more art than science) then chances are that good selling skills are also innate.

      I guess I have no answers about the bigger questions this raises. That's why we're debating it. I still think, though, that it's useful for programmers to understand how sorting works so that they can choose the correct algorithm for each situation. Really, you don't go to university to learn to be a programmer, you go to university to learn how to learn what you need when you need it. IMHO.

      Eric
  12. Oh, I see now. by RealProgrammer · · Score: 5, Funny
    From TFA, this clears it all up:
    But as we will see, the impact on the exogenous environment of remittable activities of autonomous agents can be profound indeed.

    At first I thought, "Of course! Everybody knows that." My wife and I were just chatting about that last night before bed. (Maybe the rest of you should use romantic talk like that, and you'd get some more often.)

    Then I realized that the author knew way more words than I do. He must be right.

    --
    sigs, as if you care.
  13. Codeless Development by Camel+Pilot · · Score: 5, Interesting

    A proof of the demise of the programmer the article points out:

    The advent of the Codeless Development Environment (CDE)

    I wonder if these "Codeless Development" environments are they themselves written in a codeless environment. If you have ever coded in a pure gui environments with boxes and connectors and such you will quickly learn the limitations.

    1. Re:Codeless Development by Anonymous Coward · · Score: 2, Interesting
      Bah. It's just the lunatic fringe of the artifical intelligentsia again. Every couple of years they puff themselves all up, jabbering about their visual development, self-generating code, neural nets and rule-based expert systems. They start companies and get some gullible saps to buy their jive products.

      After an a couple of iterative development cycles that produce amazing results on the "hard" stuff, the project inevitably chokes on "simple" things like audit trails or month-end closing. Upon rocketing to 80% complete, they languish for months on end getting nowhere, until somebody finally puts them out of their misery

      And back to the wilderness they go.

      But, like Ahnold, they always come bahck...

    2. Re:Codeless Development by lachlan76 · · Score: 2, Insightful
      I tried using the Lego development environment.....it made me wish I had assembly. Sure, I didn't write any complicated programs, but when you have to click the motor 1 button, click in the workspace, click motor speeds, click power level 3, click in the workspace, then click wire, and connect the two, you really appreciate how much easier
      MOV dx, 1
      OUT dx, 3
      is than using a codeless development environment.

      A shiver runs down my spine whenever I hear "without a line of code".
  14. old speech... really old speech... by C0vardeAn0nim0 · · Score: 2, Interesting

    i started playing with computers in 1985, earning my living from them since '89, and since before that i hear about the dismissal of the programer... and it never happened.

    i lost count of how many "friendly" languages were created that would allow a "normal" human being to code, and we still have programers doing the actual work or fixing the snafus of "normal people".

    --
    What ? Me, worry ?
  15. Ok, Ok, it's all my fault... by jeillah · · Score: 2, Funny

    I should have known better but after all it was the early 70's and I was still into the free love thing and all and the Beatles made those guru dudes look so cool. Besides the Indian chicks were really nice looking. Who new knew my nerd seed would start such a problem. Sorry about all those job stealin' bastards. Really!

  16. Machists by gingda · · Score: 3, Informative

    Your analogy only works if you insist that the names used to describe the professions haven't changed.

    The need to pump a belows and pound on the iron with a hammer may have vanished, but the need for people skilled at using tools to produce parts for other tools is still filled quite comfortably by machinists.

    And they still get paid pretty well.

  17. Switch by Anonymous Coward · · Score: 2, Interesting

    I no longer care if I am ever again employeed in the IT industry. It was fun for a while, it provided a very nice income for a while also. The thing is, while I love the technical aspects of "making shite work", there is little reward in the career as a whole. You ( most of us ) fight daily battles just to make things work, and at the end of the day it is a thankless proposition.

    Most of you have to know that your employers have utter disdain for you by now. If not, keep working and it will become evident one day. We are expected to accomplish miracles, we take the heat from both management and the userbase, work stupid hours, and most likely will die young doing it. For what? To make something work that never should have passed the first meeting of the minds. The trouble is, the minds in the meeting were not fit to determine if the solution was correct in the first place. You optimists can have one less resume' to compete against, I no longer want to work in IT. It is a thankless, never-ending struggle that solves nothing at the end of the day.

    For those lucky enough to do interesting work or admin some sort of Unix environment, you made the right move somewhere. Most IT jobs suck, and offer little to no actual satisfaction.

    I am off to embrace a new career, preferably one that offers the possibility of holding something of value in my hands at the end of the day.

  18. The analogy is not right by vmaxxxed · · Score: 4, Insightful


    While I think that programmers are "evolving", the
    analogy with "Blacksmith and the
    Bookkeeper" is not right.

    Bookkeepers, blacksmiths, even secretaries are
    disappearing because their jobs can be automated and computers are taking over.
    Programmers are disappearing because of a different reason. It is not because computers are
    taking over us; to this day no computer can write a program or fix a bug.

    I believe that the problem is that the software is
    becoming so complex that what could have been done by one-person years ago, takes a team
    these days. I remember that in 1991 I wrote several systems like inventory managers, stuff
    like that. Today you require testers, DBA expert, GUI designers...

    I think it is more like what happened to the
    aviation industry. In the 1900 you could build your own airplane, there were people building
    airplanes all over the world. Today, only a few companies can do that,
    and the demand for airplane-building skills is gone. Well, not gone,
    its just that it has changed, now you have to specialize in some area, you can not know ALL what
    is required to build an airplane. ( well, unless you are Burt Rutan)

    I think that software is evolving the same.
    Eventually we will have to specialize in GUI, or DB or whatever. The generic programmer is not
    disappearing, just evolving. ( Read with Hannibal Lecters accent. )

    My 2 cents...
    -Ale

  19. Again, myths and rumors by Headius · · Score: 3, Insightful

    Posting my comment from the other "extinction" article here...

    These judgement day scenarios are based on a big fallacy I haven't yet seen addressed:

    The market for software developers is not standing still; it's growing tremendously. We're just not seeing it because a lot of new development is going overseas. However, there's no sign that the demand is going to slow down, and there's not an infinite number of tech workers overseas.

    Already Indian workers are concerned about having their own tech bubble, as other countries start coming online with cheaper workers. China, Phillipines, and others are starting to take work away from India.

    Further, despite claims to the contrary, it's not just as easy to move programming jobs overseas as it is for manufacturing jobs. Indian programmers aren't just plucked from the trees...they've gone through years of training and education just like we have. It costs a lot more time and money to train a programmer than to train an assembly-line worker. Again, there are not infinite resources available. It just seems that way because India has been building up a highly-trained workforce for a long time--without work to give them.

    Our own tech boom and bust resulted in scads of untrained, unskilled workers getting paid too much to do too little. Reality check: there's no such thing as an HTML programmer. Writing VB is not going to earn you $50/hr. If you don't like what you're doing, you're not in the right line of work. The lion's share of jobs lost to offshoring are jobs that were filled by wannabes during the .com years. I personally know at least 5 administrators and programmers that refused to ever accept a lower-paying job when things went bad. They lost their cars, their houses, and their dignity as a result, and all for a job none of them liked doing in the first place.

    Finally, as other posts have noted, the cost of paying a programmer is not the largest portion of developing software. Gathering requirements, testing, working with customers and clients, managing change, administering systems; all enter into it and have similar contributions to the overall cost. In the case of offshoring, almost all of these become more expensive...in some cases much more expensive.

  20. Their totally right!! by __int64 · · Score: 5, Funny

    Look, that technology is already here!!
    Behold, a program which is capable of designing a new program!!

    #include <stdio.h>
    int main ( void )
    {
    FILE * output = fopen ( "c:\\newprogram.c", "w" );
    fprintf ( output, "#include <stdio.h>\nint main ( void )\n{\nprintf(\"hello world!\");\nreturn 0;\n}" );
    fclose ( output );
    return 0;
    }

    Were all doomed you fools!!

    1. Re:Their totally right!! by CableModemSniper · · Score: 3, Informative
      char*f="char*f=%c%s%c;main(){printf(f,34,f,34,10); }%c";main(){printf(f,34,f,34,10);}

      Oh no, now they're self-replicating! Ruuun!

      --
      Why not fork?
    2. Re:Their totally right!! by Eudial · · Score: 2, Funny

      I for one welcome our new coding overlords.

      --
      GAAH! MY PRINTER IS ON FIRE!!! PUT IT OUT! PUT IT OUT!
  21. Only to be expected by HiThere · · Score: 2, Interesting

    The easy problems with general solutions have been solved. The hard problems will only be solved when someone wishes to gamble sufficient resources on them. (A programmer can gamble his spare time, anyone else must gamble money.)

    This DOESN'T mean that programming will become an extinct job classification, but it sure means that the number of jobs will decline.

    What's uncertain is the time frame. And nobody knows. I include the author (both me, and the guy who wrote the article).

    Who hires people to write the kind of program that spreadsheets can handle? Nobody! (But just last year I automated an office procedure in MSExcel using scripting. Python wasn't portable enough in the desired environments. [I wasn't allowed to install a new language interpreter.])

    But notice that there are two complemenatry trends in action:
    1) Most of the things that used to be programmed have available general solutions
    2) Most of the things that need doing are programmed interaction of higher level tools.
    So long as this trend continues, there will be a declining, but continuing, need for programmers.

    At some point, though, an AI will become general purpose enough to handle some reasonable subset of the tasks of a programmer. At this point, the job of the programmer will change drastically. At this point a programmer will become one who can describe a task sufficiently well that the atomaton can implement it. This already exists in specific problem domains. Screen painting programs like glade, e.g., but the transition point will occur when the automatic programmer becomes much more general.

    We've probably got a decade. Possibly two. I'd be surprised if it takes longer than that.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  22. Naah by mav[LAG] · · Score: 2, Insightful
    There was a time when programming meant the encoding of finely-honed algorithms, parsimoniously pruned to the fewest possible instructions; algorithms which would then also have utilized the least amount of memory for execution.

    That time for me was this morning. My clients still appreciate small, fast code that can be developed quickly, doesn't fall over and is agile enough to adapt to new requirements. Most of it is in Python, some of it is in Pyrex or C and yeah, some of it is still in assembly. Assembly is not a waste of time or a hangover from the Apollo days but a useful addition to any coder's arsenal especially given the insight into Leaky Abtractions that it brings. YMMV of course - asm is really not required for high-level business apps but it comes in really handy for certain kinds of video processing.

    The vast majority of coding today is ignorant of such constraints. A 2K limit for even the simplest of applications -- even those written in Java, which was ostensibly designed to minimize an executable's footprint -- would today be considered absurd. And that's just for the minimalist application. Never mind the JVM, which is sort of required for anything meaningful to occur. But an entire operating system squeezed into 2K? It is obvious that the skills required for a successful programmer in 1969 are very different from the skills required for a successful programmer today.

    And yet they're surprisingly similar. Given:
    • this set of instructions
    • this manual on how to use them (sometimes incomplete or even misleading)
    • this platform
    • your willingness to learn new techniques and technologies and
    • a considerable degree of focus and dedication

    can you do X for us in time T? I contend that all programming is about limitations and overcoming them: whether they be memory, time, operating system capability or human. No super-genetically evolved system is going to replace a smart human anytime soon. This guy needs to do two things: a) learn a real programming language and b) read the Mythical Man Month. There are no silver bullets.
    --
    --- Hot Shot City is particularly good.
  23. Field far from perfected by bigberk · · Score: 2, Insightful

    Is this guy joking?? The field of programming or software engineering is far from obsoleted/superceded/replaced.

    Go and ask computer users (both novices and professionals) about what they think of the software they use day to day. Most will complain about the software they use (unreliable, unstable, missing essential capabilities...). That alone tells us there is still much more work to be done.

    I don't think it matters whether you use UML diagrams, Java, C#. What matters is that everyone in business today is a computer user, and a large percent of these computer users are not happy with the software they are using.

    There is plenty of work for those that can solve these problems. IMHO.

  24. Fad is Why We Always Need Programmers by reporter · · Score: 2, Insightful
    Programmers will always be needed -- for the same reason that mechanical engineers will always be needed in the auto industry.

    The automobile is a mature technology. If everyone would settle for one styling of car, then we could drive the price of the car so low that the profit margin is barely 1 penny. There would be no need to change the metal stampers. There would be no need to modify anything in the car. All 200 million adults in the USA would drive the exact same 4-door sedan. The economies of scale for the exact same car would be enormous. The cost could probably be driven down to $5000 per vehicle.

    Yet, this scenario will never materialize, for people's tastes change constantly. This constant change requires new metal stamps and the ensuing alterations to the engine and powertrain. So, mechanical engineers will always have work.

    Now, consider the word processor. It is a mature technology. There is nothing fundamentally new on the horizon. Yet, we still need programmers to change the look and feel as the tastes of the customer change.

    Further, one payroll processing system does not meet the styling tastes of all the corporate customers. Each company will want programmers to tailor the payroll system so that it just suits the tastes of the company's management. No two companies will have the same tastes.

    People are different, and these differences change eternally. Rod Stewart sung "The First Cut Hurts the Deepest". Now, Sheryl Crow sings "The First Cut Hurts the Deepest". The songs are identical, but the delivery is different. The new style of delivery now addresses the tastes of the new generation of punks in high school.

    "...do you think I'm sexy, and you want my body....come on sugar, tell me so!" -- Rod Steward, 1977.

  25. Reality check by wombatmobile · · Score: 4, Insightful

    Extinction of the programmer species means for me that I lost a few years of my life and now I have to change my carreer.

    If it happened, but it hasn't.

    To succeed as a programmer, develop better powers of discernment (by observing others you respect) and learn how to maintain confidence in your decisions.

  26. I Read this Goofy Article About... by Trolling4Dollars · · Score: 4, Insightful

    ..."self writing programs in the armchair IT publication "PC World". I think it was the July or August edition. It was about this company that is writing the "next generation" of development tools. They suggest that in the near future everyone will be a programmer because this new approach basically lets anyone build their own applications by pointing and clicking and writing basic text descriptions of what they want the application to do. Then this development environment sets out to building the application to their specs.

    To me, I thought... "Aha! He wants to make programming go the way that word processing and data entry did after the 80s". For the youngsters in the audience, believe it or not, but there used to be a very short lived period of time when people went to school to learn how to become word processors or data entry specialists. As soon as GUI based word processing and office suites were released, those people lost their jobs because "anyone could do the tasks". Is that really true though? Read on...

    Yes, it is true that pretty much anyone who is plunked down in front of GUI based word processing software or an office suite can build a pretty impressive looking document. It doesn't require schooling anymore, just some introduction and you're off. But, does that mean that same person can design a glossy publication like a magazine or even a well done news letter? No. What about the person who can set up a basic spreadsheet? Would you want them being the DBA for your Oracle database? Probably not. So the titles have changed and the availability of jobs shrunk. I think you're going to see the same thing with programming.

    There probably will be a point when the average office jockey will be able to build a basic application for use in their workplace. But that guy isn't going to be a programmer and the program he built isn't going to be efficient, compact or reliable. Programmers will still be needed, but just not in the way that they are now. It's likely that programmers will become more specialized. (Just like you now have graphic design people who are the extension of the more talented word processors of the late 70s) Programmers aren't going to disappear. They are going to become something else.

  27. overly optimistic by belmolis · · Score: 2, Interesting

    Goff seems to believe that high-level programming tools and genetic programming will soon eliminate the need for programmers, but nothing I have seen suggests that such tools are anywhere near able to do this. Maybe someday, but not in the near future. What we've really seen is that the combination of more advanced tools and greatly increased computer power has enabled people with very limited skills to do things that would once have required a real programmer. The result is that lots of people can make web pages and create spreadsheets and so forth, but these are essentially all additions to the work that must still be done by real programmers. Real programmers are still needed both for the more difficult tasks and for even fairly simple ones that nobody has taken the trouble to create high-level tools for.

    It seems to me that there is a parallel in medicine. With all the modern medicines, tests, and instruments (such as thermometers, blood pressure meters, glucose meters) available to the average person, the non-physician can successfully diagnose and treat many illnesses. This hasn't, however, eliminated the need for real experts to deal with the harder stuff.

  28. BZZT! Wrong, sorry! by Safety+Cap · · Score: 4, Insightful

    ... from the article, the author states that 'coding is dead' because

    The advent of the Codeless Development Environment

    Ahh, the mythical Blue Unicorn; users will be able to make their own Uber Apps and developers will sink into the La Brea Tar Pits. That could be the case if development was only banging code. It is actually deconstructing a business process/issue into manageable chunks, then writing code to make those chunks work together. I have yet to meet a business person who can explain the function of their job in a linear process, so there is no way that person could write their own program, unless you had a magical CDE that could translate abstract, random process descriptions into real code (forget about efficient code/processes).

    The emergence of the software factory

    Ahh, the anonymous factory that churns out components that our business person can then assemble into a working application? Been there, tried that with EJB. Somehow that whole promise of component EJBs never really took off. I wonder why? Could it be that this idea is CRAP? Hmm...

    The decrease in the number of programming jobs in IT

    Non Sequitur. The number of quality jobs aren't decreasing. The monkeys that thought they could get a MCSE and start making $65k with no experience are (hopefully) flushed out of the pool. Soon the monkeys who are unable to do the work of Business Analyst/Junior Project Manager will also be gone/outsourced. The jobs are there; you just have to know how to look for them.

    Fewer students enrolled in computer science courses

    Another non-sequitur. A degree means nothing in terms of fitness for doing a job---except to PHBs who don't know how to judge a candidate's worth other than by dead trees (resume/degree: equally worthless). You can certainly be a good developer without having ever taken one college class. What matters is skill, experience, adaptability, talent, and self motivation to learn new stuff.

    More:

    When was the last time you cracked open one of Knuth's volumes? Do you even know who Knuth is?

    Yes, last week, in fact. I've been plowing through Vol 3 looking for a better way to search a bunch of stuff across multiple iSeries/DB2 files. So what? Reading Knuth doesn't mean you're a better code monkey. It can help, but just like any other resource, it is in the application. Einstein said something to the effect that the most important fact one could know is the Library's address.

    --
    Yeah, right.
    1. Re:BZZT! Wrong, sorry! by Tablizer · · Score: 2, Insightful

      The number of quality jobs aren't decreasing. The monkeys that thought they could get a MCSE and start making $65k with no experience are (hopefully) flushed out of the pool.

      I disagree. My observation is that managers generally LIKED these people. They had people skills that their other developers lacked. Perhaps they were not as productive, but sometimes managers don't care. They have to live with the person for 9 hours a day, so they really want a friend. I once learned that I was rejected from a position because somebody percieved as "less skilled but more personable" was given the job.

      Except for Alpha Geek research posititions, being technically smart does not pay anymore. People skills are more and more the bottleneck.

  29. Heard it all before by Beatlebum · · Score: 3, Interesting

    In the 80's when I was studying for my first degree in C.S. (yes, I'm an old fart), the fad of the time was formal methods. The basic idea is this: a problem is specified using a formal language, the specification is then translated into code automatically. This was supposed to herald the end of imperative programming languages and programmers. The major flaw was assuming anyone could put together a specification in the first place.

  30. AI can already pen better articles than this tripe by guidryp · · Score: 4, Insightful

    Slashdot will become extinct if they keep posting this mindless dreck.

    I posit that AI out there can already write articles better than this dreck. So perhaps Dreck writing should already be extinct, but here we yet again see more dreck on /.

    About the time we have code writing AI, we will have passed Vinge Singularity and all professions will be extinct.

    I have to wonder if the author ever worked on anything other than web pages. Or very simple coding issues.

    I work in telecom with a university educated work force (including PHDs and Masters degrees) and these folks have a tough time building quality systems given the constantly changing requirements , competitive demands and huge complexity of the systems.

    Complexity is only increasing as we go forward. In almost any field you now have much larger programming teams working on more complex problems.

    This is as Naive as when the thought high level laguages (moving from assembly) Cobol, Visual Basic, OOP, 4GL, 5GL etc... would eliminate programming as a profession.

    As the tools became more powerfull, the problem space became more complex. If anything there has been a push beyond the toolsets and coding today is more difficult than it has been in the past, rather than simpler.

    Programming large scale complex systems is so difficult now that hardly any groups out there consider it manageable.

    If there is any profession where we currently can't easily get a handle on, it is programming in the large. Once you have AI that can handle this, what couldn't it do?

  31. very long-winded statement of commonsense ideas by geg81 · · Score: 2, Insightful
    The article is a long-winded statement of some simple and commonsense notions:
    • Programming will splinter into a number of more specialized occupations (e.g., database programmers, GUI developers, etc.; that's, of course, already a big trend)
    • Tools will let people with no programming experience create new applications (some tools like that exist, but they have rather limited applications).
    • Programming will become "industrialized", carried out by assembly-line software factory workers (maybe, but noone has made this work really well yet).
    • AI will obviate the need for programming altogether (I'll believe it when I see it).
  32. Context matters... by hagbard5235 · · Score: 5, Insightful

    You do realize that historically it is normal for around 35-40% of the non-institutionalized working age (ie not imprisoned or commited) population not be employed?

    ftp://ftp.bls.gov/pub/special.requests/lf/aat1.t xt

    And if you'd like to see about part-time workers you can get recent statistics here:

    http://www.bls.gov/webapps/legacy/cpsatab5.htm

    Please note, there's nothing wrong with a part of the population being employed part time by choice. The BLS statistics differentiate these as people employed part time for economic/non-economic reasons... if you look at the stats you'll see around 4-5 million people are employed part-time for economic reasons. You can find those stats here:

    http://www.bls.gov/webapps/legacy/cpsatab5.htm

    According to the BLS the labor force is around 150 million:

    http://www.bls.gov/webapps/legacy/cpsatab1.htm

    Out of a labor force of around 150 million that means that we have about 3-4% of the labor force working part time because they can't get full time work. While I'd prefer this to be a lower percentage, it doesn't seem to be a great and shocking problem.

    Also, would you please source your data above. Absent primary sourcing I've absolutely no reaon to believe your facts.

  33. my take on the article by Tablizer · · Score: 4, Insightful

    1. Article is a bit wordy. If the author's Java code is as wordy as that article, then no wonder he sees code generators replacing him. The trick is factoring repetition so that you don't need code generators. If Java is not dynamic enough to factor, then use Python or Lisp or the like.

    2. Automation has NOT been a significant factor in my domain. Code generators are usually used by people who write bloated code to begin with. OOP's poorly-defined relationship with relational databases has also created a demand for tools attempting to bridge that gap by generating code. If anything, this OO/R conflict increased demand for coders. (Note I am not bashing OO here, just saying there is a philosophical conflict with relational that has yet to be resolved, resulting in tedious translation efforts.)

    3. AI is irrelavant because cheaper bandwidth means that machines and people can hook up with cheap overseas human brains. Why invent cheap brains when we have billions of starving eager brains around the world?

    4. I don't see bookkeeping safe from the same forces. As more and more transactions are electronic, your bookkeeper can be in Asia also, along with the coders. Programmers may be the first hit, but I doubt they will be the last.

    1. Re:my take on the article by stj · · Score: 2, Interesting
      Cheap bandwidth is a temporary thing of the present. In the normal market, the increased demand will generate the increased prices and effectively all those offshoring companies may find themselves at some point at the mercy of telecom companies. The only thing that prevents it at the moment is even bigger supply. But even that hasn't actually eliminated all problems related to offshoring. For example, Motorola (after all a company that makes good telecom stuff) folded up at least some of their offshore shops and moved everyone to US because of the communication problems (multilanguage translation, time zones, etc...) Bandwidth doesn't eliminate any of those problems.

      Back to demand/supply of bandwidth. At the moment there is also another factor that prevents oligopoly in telecommunications: innovation. So happens that existing telecom companies are stretched almost to the limits of their productivity and can't really see any place for reasonable reaserch in the domain. So the progress is made mostly by outsiders. However, I think we might be reaching the point where any further easy progress by outsiders is impossible since it would require disproportionate investment without any guarantee of reasonable return on it. Telecom industry right now is in a quagmire. Quagmire of overcompetitive market (compared to required investments), quagmire caused by explosion of services delivered to people (just several years ago it was a phone service, only - and US regulations made it either local or long-distance, not both; now we've got phone, a long list of networking solutions, wireless, cable tv, and a host of other options more or less related to telephony), quagmire of massive layoffs just conducted by virtually every single company, and quagmire of bankrupcies. It will take time to sort all of that out, and in the meantime offshoring might be a good idea. But sooner or later, the market will stabilize again and then offshoring won't be such a wonderful idea anymore.

      Now, to the machines writing code: one problem is interesting here. Say a machine "invents" an interesting piece of code. Who has the copyright on that? And if we assume the current patent situation, who should be eligible to be an author of that code?

      One more thing: I've seen GA in work and one thing is certain, it'll never be nearly an efficient way to find solutions to known problems. It's basically pretty much a brute force programming - instead of a monkey hitting random keys from A-Z, imagine a keyboard with various pieces of code hooked to different keys - we might have even a million of those keys - and said monkey hitting the keys that produce that code. Is that any better than the former solution? Well, it will produce more reasonably looking code, of course. But whether that's going to be useful to solve anything important and outperform a person using decent tools, I doubt.

      The big problem of programming is that it basically hasn't evolved since it was first invented. We got OO and aspects, and other sorts of things like that, but we are still stuck to writing for and while loops. All paradigms are basically reduced to different organization of the code (well, maybe with one little exception for patterns - which are probably one and the only serious addition to programming since the for loop). But we do not have tools that would eliminate the need for writing loops and conditions and such. Again one little exception are GUI and simple database applications, where for the former we've got some fabulous WYSIWYG tools (easy here to do, since we're talking about the visual aspect of an application), and the latter has some great generators backed by CASE tools. But the rest of the field has been pretty much stagnant since 1960s.

      If the field is ever to evolve, we need to lift programming to another level of abstraction and create tools that will eliminate mundane typing of same code again and again. Does it mean we will be able to forget the loops and such? Maybe, maybe not. Depends how we solve the problem. The real solution should make it possible to actually forget about those.

      GA used as such a tool might just do the trick, but trying to put too much on its shoulders will end with a big smoking stack of junk that nobody will want to touch for years in fear of getting burned.

      --
      iThink iHate iMod
    2. Re:my take on the article by Tablizer · · Score: 2, Insightful

      Cheap bandwidth is a temporary thing of the present. In the normal market, the increased demand will generate the increased prices and effectively all those offshoring companies may find themselves at some point at the mercy of telecom companies.

      Maybe in the short term, but in the longer term there is a kind of "Moores law" equivalent to telecommunications that will bring the prices down to make multimedia cheap.

      If the field is ever to evolve, we need to lift programming to another level of abstraction and create tools that will eliminate mundane typing of same code again and again.

      They have been trying to do that since the 1950's with only incrimental success. We are already using tools that simplify a lot of stuff: GUI designers, report writers, scripting languages, databases, etc.

  34. Goff has no idea what he is talking about by Flyboy+Connor · · Score: 3, Insightful
    Goff thinks AI will be able to take over the job of a programmer. Hah! What a ridiculous notion. Evidently he fell for some vague claims of specialists in genetic programming, of which he understands nothing himself. Well, evolutionary algorithms (of which genetic programming is a subclass) are one of my specialities too. And I can tell you that, while evolutionary algorithms are fun to toy with, and can be used for some interesting real-life applications, they will never be able to design complete programs for us. And why is that? Because their results are notoriously untrustworthy. You will only use them for problems for which you can't design a solution by hand, and for which you are satisfied with an approximate solution. Most applications are simply not like that. Furthermore, evolutionary algorithms can only be applied to problems for which a fitness function can be designed. I wonder what Goff thinks a fitness function for a Word Processor looks like.

    Obviously, Goff knows nothing about the practice of computing science. But he still manages to hawk out three crappy articles about it. Which get on the /. frontpage... Man, that guy is good.

  35. The arguement is flawed by LittLe3Lue · · Score: 5, Insightful

    First of all, your argument comparing programmers to blacksmiths is already a counter-proof for what you are saying.

    Sure, we don't have many blacksmiths, but let's look at the role of a blacksmith:

    All they did was make things out of metal. They were what we now replaced with machines. The few innovative blacksmiths, who created new advances, were what are now engineers. Nothing has changed - only evolved. And what was once a role for a person is no longer.

    Now, you are saying that there will be no need for programmers in the same sense of how we no longer need blacksmiths. But I ask you, do we have a programmer re-type every line of code for each and every piece of software that is sold? Because that would be the role of a 'blacksmith' programmer.

    A programmer (or large group of) writes the first piece of software, which must usually be innovative, or better then what exists, in order to provide a use. Sure, there are countless pieces of code being re-written, or written poorly, but that is more for learning than for business, at least if they plan to survive. And when there are copies of software in the mainstream it is merely for economical competition, which will never change.

    With the open source movement, or even with API's of old, there is no need to write every line of code over again, but rather to use them to make whatever new piece of software it is that you are planning to make. This involves making software that has never existed, which cannot be automated.

    So I conclude that software programmers have never from the start been blacksmiths, or at least have not been for a very long time. What we provide is a constantly changing, evolving, and adapting use of logic in the form of code. No automation will ever replace that.

    The number of programmers will not be decreasing to extremely low numbers either, since the more advanced software becomes the harder it is for individuals to create it. Large groups are required, for long periods of time (How long does it take to make a new game or operating system compared to 20 years ago).

    You argument is not only wrong in practice, but wrong in theory. It's ridiculous.

  36. The Mythical Man-Month by Toby+The+Economist · · Score: 2, Insightful

    Writing software is hideously complicated.

    The skills required to successfully design and impliment software remain light-years beyond quantification - unlike the skills required to build a cart wheel or hammer, or, for that matter, a car body or a silicon wafer.

    The concept of a "software" factory, building generic components, is more or less exactly that originally touted by OO back in the 80s.

    This approach failed because large components have not been made (people tend to make "stack" and "list", not "user interface" and "VPN") and because of the huge front-loaded cost of making such components general-purpose rather than one-shot.

    --
    Toby

  37. Complexity trumps components by earlgreen · · Score: 2, Insightful
    C'mon already -- most of the software I've worked on probably has about the number of inter-related working parts as a 747 jet.

    So somehow this stuff is going to start writing itself? I don't think so.

    The software components idea is like building a machine out of stock parts rather than designing every little bit yourself. That's great but it still doesn't make up for the vastly increasing complexity of software. If you count parts and inter-relationships, you've still got more complexity that needs to be engineered.

    OK, so yes, some narrow classes of software like certain office apps can be designed and built in more and more automated ways, but this also doesn't make up for the explosion of what computers and software can do.

    Just because people don't readily see code, they seem to think it can be magically woven in ways that engineered physical objects like ships and planes and cars obviously cannot. They also think that code is code is code, which is like saying a machine that designs and builds toasters automatically can also design and build ships.

    Sorry, code is like matter and components are like parts and you still need engineers to put the crap together.

  38. Re:The Future for Nerds by ltsmash · · Score: 3, Insightful


    I wonder if once nerds lose their jobs and therefore their money, they will return to the bottom of the social pyramid again.

    I'm not sure if you're just trying to troll, but there is a lot of truth in this. When I was in my 20's, before so many people were making so much money with software, a nerd was an extremely pejorative term to call someone. Today people in our industry get so much more respect. I fear that once money starts leaving high tech, we will again be returned to this position.

  39. Some Vogon poetry, please! by The+Pim · · Score: 4, Funny
    It would be a relief after this!

    Before more fully exploring the thesis of software developer as reified smithy, an examination of the role of the bookkeeper would be prudent, for the sake of juxtaposition, comparison, forecasting and nuance.

    I'm begging someone to take away this blow-hard's keyboard.

    --

    The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
  40. Rockstars and Orchestral Musicians by vkg · · Score: 4, Interesting

    There's a better model than blacksmiths: musicians.

    Before the advent of recorded music, if you wanted music, you paid musicians to come around and play it for you. It was expensive to keep them, they became status symbols, but they were commonplace in wealthy households and courts.

    After recorded music came, the number of musicians required dropped off amazingly. Just tanked.

    Programmers are increasingly headed in that direction because of automation: better and better libraries, software packages with increased configurability, better management of software projects. It's gradually getting easier to make a given problem go away with fewer and fewer programmers.

    The countertendancy - as large problems become cheaper to solve, more people pay for them to be solved - is sustaining us for the moment, but there is no guarentee that those two forces will remain in step indefinitely.

    But even in the age of fluidly configurable, massively integrated software packages (try: Apache 2, MySQL4 and WordPress - millions of lines of code with a nice user interface, and all it does is run your blog) there's still a need for the "rockstars" - the programmers who actually produce those systems.

    Professional musicians these days have to fight to stay in the game, and they have to be really, really good at *something* even if it's just pouting on posters.

    Programming is going the same way: it's no longer the easy option. If you're programming right now for a reason other than "I'm really good at this" or "I love this" and, preferably, both - get out of the game while you still have an income. You have less than ten years, possibly more like five.

    Two more jobs, if you're lucky.

    But for the rest of us? The people who can hack it under these conditions? I think it's going to be a return to the Golden Age of Hacking - the time when it was a game for the profoundly talented and educated - rather than these hordes of analgorithmic munchkins we've been competing with for years.

    Rock star programmers, dude. Not garage mechanics, rock stars. You can see it already in the celebrity accorded to people like Linus, or EvHead. As software is increasingly "one hit, one kill" - packages which simply dominate an entire category - that kind of rapid rise and fall is going to be the norm, rather than the exception, in the publically popular software sphere.

    That's the rock star niche.

    And the rest of us will be like those touring rock bands you see all over America, or the players at your local symphony hall.

  41. pompous and vapid at the same time by uncadonna · · Score: 5, Insightful
    I don't see much of interest in the article beyond some amazingly bad writing. In fact, someone who writes this badly in their own native language is almost invariably not worth listening to.

    I think the author was rewarded in school for writing long sentences with big, trendy words. This sort of ridiculous blather is the result.

    Some of my favorites:

    • Overuse of double quotes: It is important to note that autonomous agents compete to "make a living" in a fitscape, and as such tend to fill all possible "life sustaining" niches such as to provide for their specific "needs."
    • Wordy and vapid way of saying "sometimes economic activity changes the economy": While this may seem painfully obvious, when it comes to the study of economics, that feedback mechanism (i.e., the fitscape evolves as a result of agent activities) is often dismissed; a function of exogenous variables which are outside the scope of consideration for the problem in question.
    • Is this a poetic essay or a dry academic analysis? Try not to change your mind in the middle of a sentence please. Grotesque neither-fish-nor-fowl writing. At first, the smithy was not aware that his hammer would soon ring no more, that machines would take the place of hammer and anvil, more efficiently creating the tools and weapons for an increasingly sophisticated cultural milieu.
    • Sixth grade level spelling error. A possesive is not a plural. Smithy's also made the tools that were necessary for the daily household chores, such as pots and pans for the fireplace.
    • Uhh, "first order derivative"? If this doesn't rub you the wrong way you've never had a calculus class. There's no law against that, of course, but this comes in a paragraph about the scientific method! And the essence of measurement, in a capitalist system, will always be a first-order derivative of the much-maligned bottom line--it's not personal, it's just business.
    • Let me introduce you to the idea of a dictionary. "rubric" means "name", or at best "name of category". Applying a similar rubric to the postmodern computer programmer might now yield some insight as to the coming fortunes of that trade.
    • (add your own comment here, I'm ovewhelmed) The anarchistic, eclectic, and often incoherent ramblings that characterize much of the Pomo Jones mindset belie the importance and value it may conceptually provide. Computer programmers are icons of the postmodern age and sometimes idiosyncratic of its nature. As much as film, and more than television, architecture, or art, the postmodern programmer has enabled the cyber-collage, globally diverse viewless worldview that is the hallmark of Pomo entrails. Indeed, computer programmers (those of the Java, C#, and Perl caste, at least) are the Pomo elite.
      uh-huh
    • and here I thought it was about algorithm and syntax... Today, programming means breaking the bounded, solitary-node paradigm, enjoining a network that is effectively limitless but unique at every node.
      Sure, they'll mechanize that one any day...
    • Ooh, let's throw in a random bit of computer history to show we know something about computers. But just as the entire notion of "writing code" has changed dramatically since the earliest _stacked job batch systems_ [link to an undergrad CS lecture] of the 1960s ...
    • "ignorant"? The vast majority of coding today is ignorant of such constraints.
    • Do you know anyone who talks like this? The fact that the nature of programming is changing even as the demand for programming skills has abated, to serve what is otherwise an increasing global demand for IT-related products, should be a glaring indicator and something of a concern to skeptics; even the computer industry is not immure from the ephemeralizing virtuous cycles wr
    --
    mt
  42. Damn... by natet · · Score: 3, Insightful

    I knew I should have studied accounting...

    Seriously though. I believe that the same things he uses to point to the demise of the programmer could also be applied to his test case of the bookkeeper. I believe that it would be nearly as easy to create a "bookkeeping factory" as it would be to truly create a "Programmer factory". But, I don't believe that either of them are going to happen any time soon.

    Other pieces of his logic are suspect as well. Yes there has been a decline in the number of computer science students enrolled, but the article doesn't say if that statistic takes into account the number of students enrolled in Information Technology majors, or other related majors. I know that a lot of the students that started in Computer Science with me eventually switched to Business Information Technology to avoid having to take all the math required in CS.

    --
    IANAL... But I play one on /.
  43. Problems with the Analogy andf more.. by 3seas · · Score: 2, Interesting

    to say bookeeping has advanced/evolved to accountant, CPA, auditor, banker, financial advisor, finance professor, .... while saying blacksmithing has dies is so totally incorrect and unfair.

    We today have welders and all the related fields of metal working that back then did not exist.

    Also the writer seems to have skipped over the 300 year lapse between the introduction of the hindu-arabic decimal system and its finally becomming mainstream over the roman numeral system. Hmmm, seems the elitest roman numeral accountants pursued the lies and arguements that it is silly to think that nothing "zero" can have value....

    It should be noted that roman numeral mathmatics is so limited that we could have never developed computers with it.

    I also noted in skimming over the article that the writer mentions the "software factory" in MS terms.... this two is with error for a number of reasons, the least of which is not the fact the the book being referenced uses "pattern" as a catch all phrase where as a matter of convience it is converted to various things thruout the book.

    MS is a market company first and formost and a third party integrator second. MS's POV on software factories is with distortion of reality and biasing towards MS, rather then honesty about "putting things together" in a manner that automates alot more of what a programmer wouold otherwise do manually ---- but then isn't the act of programming the goal of creating automations of complexity, typically made up of simpler complexities, and done so in order to make the use and reuse of teh complexity easy for the users of the complexity.... hence a natural evolution of the field of programming....rather than an MS invention...

    I'd imagine this is enough to bring doubt to the writers message, but I'm sure there is more in error..... though hey.... it sound sooooo good.....

  44. Some kinds of programming are already dead. But... by argent · · Score: 4, Insightful

    30 years ago, a large percentage of the programmers out there were writing what was basically spreadsheet code. Some manager needed some information, and that meant a programmer had to write a program to read data, generate reports, and add them to the daily jobs. Then came spreadsheets, and the manager could do that work instead. The programmer was out of a job...

    Well, no. Instead, he worked on more sophisticated analyses, software that didn't fit in Visicalc or Lotus 1-2-3.

    Time after time over the decades there's been predictions that some new productivity tool was going to replace programmers. It hasn't happened. Because what a programmer does, basically, is to do the things that people havethought up that haven't yet become popular enough or common enough to be canned in a tool.

    The advent of the Codeless Development Environment

    If what you're doing doesn't involve code, it's not development, it's configuration. And that's great, because having programmers wasting time on configuration is a drag on productivity. Anything you already know how to do, that you've already written code to do, you don't do it again. If you do, well, that's a problem you need to fix, write a program to do it, go on to something else...

  45. I know a blacksmith and he ain't extinct by FirstNoel · · Score: 4, Interesting

    Chances are if you're a blacksmith in this day and age, you're actually in pretty high demand. My father-in-law does it as a side "hobby". Sells some of his stuff a local craft shows, demonstrates at schools...he's really good, and people are willing to pay decently to get him to make them stuff.

    There may come a time when we need fewer programmers, like blacksmiths. But those that are will be special "craftsman". We'll just have to change our style to fit with the times.

    Adapt or die...the way of nature.

    Sean D.

    --
    "Hmm. I am to metaphor cheese as metaphor cheese is to transitive verb crackers!"
  46. smithy != smith by crucini · · Score: 2, Informative

    The author seems to think that smithy means the same thing as smith or blacksmith. A smithy is a smith's workplace.

  47. Evolution by DaChesserCat · · Score: 3, Insightful

    The author posits that blacksmithing has died out, while bookkeeping has continued, because the knowledgebase that the blacksmith needed was ripe for scientific analysis and automation, while the bookkeeper has to deal with constantly changing requirements. Therefore, since bookkeepers have to always change/upgrade/modify/tweak their craft, they aren't as likely to be automated.

    He asks how many people are acquainted with a bookkeeper, and how many are acquainted with a blacksmith. No, I'm not acquainted with many blacksmiths. How many mechanical engineers, or mechanics am I acquainted with? More than bookkeepers, I'm afraid.

    The trade of blacksmithing, where one person forges, casts and manufactures something, cradle to grave, is largely gone. However, there are an extensive number of people in this world who know how to shape metal into useful things; I believe they're better known, these days, as engineers. They may not do the actual bending, machinging, forging, etc., but they do the design, which is something a blacksmith did. Also, mechanics may not manufacture their parts (something to which the author alludes), but blacksmiths were ALSO responsible for repairing existing items. Sometimes, that meant fabricating a part, sometimes that meant taking a pre-fabricated part and applying it (or modifying a similar part) to get it working. Mechanics do that, these days, and they have a much larger catalog of pre-fabricated parts to work with, so they don't typically NEED to fabricate a part for the job. Although, in my shade-tree mechanic experience, I've been known to take an existing, not-quite-what-I-needed part, and make it work.

    So, while the trade of blacksmithing, as a cradle-to-grave manufacturer, mechanic and engineer has diminished, the different roles they played have spawned their own career fields. Engineers use machines to produce much larger quantities of parts than traditional craftsmen could manage, and their quality is more consistent. Is this the demise of a trade, or simply the application of technology to improve its productivity? I would argue that, if you took all the people who are now working in roles which blacksmiths once filled, the various sub-fields of blacksmithing have MORE people working in it than the bookkeeping field.

    I develop websites, for internal use, for my employer. The language and technologies I use were pretty well evolved before I finished college and went to work in this career field. I don't have to code machine language or even assembly; some other developer developed the tools I use. Because I don't have to re-invent the wheel every time my boss wants a new web app, my productivity is much higher. The original programmers were the "blacksmiths" of this field; they created some practical, useful things for their clients, and they create tools which improved their own productivity. Their tools led to the development of other tools. Consequently, there are few if any programming "blacksmiths" in the world today; most all programmers are engineers, mechanics, or factory workers feeding the automated systems. The titles just haven't changed; that's all.

    As for bookkeeping not being as ripe for automation, how many bookkeepers do you know who would be willing to go back to pen and paper? Give up their calculators? Give up their computers? I'm willing to be the answer is very few. Their field has also benefitted from automation; a bookkeeper today, with his computers and software, is at least a couple orders of magnitude more productive than an old "quill and paper" bookkeeper of a couple centuries ago. However, the title has changed little, although the career has changed significantly.

    As a programmer, I see the technologies I'm working with evolving on a regular basis; I have to adapt to those changes, like the bookkeeper in his analogy. Does that mean that my career will become extinct? I sincerely doubt it; I'll probably be more productive ten years from now, but I sincerely doubt that an automated softwar

    --
    ... by the Dew of Mountains the thoughts acquire speed, the hands acquire shakes, the shakes become a warning
  48. The breeder was before the book keeper by philge · · Score: 2, Interesting

    If you apply genetic programming to software and hardware development then we may see the software and hardware breeder. This will be necessary due to genetic load ( you don't want to run microsoft runt office). Breeding or artificial selection is probably the most power full technology we know of and yet so simple. So I will have a software stud and you can purchase my germplasm to introduce to your stock of office productivity software that you are breeding. This will become necessary to cope with the "emergent properties" of the the complexity that we will have to face. In other words we don't know what will happen we we start yanking on those wires. So we will have to breed purely on the phenotype of the software who cares what language its written in

  49. The blacksmith isn't gone-- it's called machinist by bitingduck · · Score: 2, Insightful

    I finally went and RTFA, and I disagree that the blacksmith disappeared. The blacksmith became the machinist, and the machinist population is slowly decreasing, but is unlikely to go away.

    Production machinists (who were in many cases still quite a skilled population) are being replaced by CNC machines, and the "machinists" now are the people who turn art into things that the machines can cut, set up the machines, diagnose their problems, etc. Eventually they may be replaced entirely by mechanical/manufacturing engineers, but the function will be much the same-- turn hunks of metal into useful stuff for people. They just do it in a higher tech environment.

    The more blacksmith-like machinist is the toolmaker. These people are ever fewer in number, but are likely to never disappear entirely. Just like there is a small but steady need for technical glassblowers (to supply chemists) there will be a need for toolmakers/precision machinists in the foreseeable future.

    Programming could be seen in a similar way-- the tools are improving drastically-- my dad started with toggle switches to set the bits, then moved to punch cards. By the time I was programming, the punchcard was all but dead, the microcomputer had just come on scene, and the mainframe was about to become a brontosaurus. Things were done with a command line. Now there are fancy IDEs for all sorts of languages, graphical languages and development tools, automated code generators, etc. It's still programming, just with different tools. The need for codemonkeys may decline, but it probably won't go away. There will be a market for them just like there still is for analog electrical engineers in the digital age. There won't be a need for people to hand produce boring code, but there will be clever things that need to be coded by hand, and probably lots of them.

  50. My "academia" meter was flying high by JavaRob · · Score: 4, Insightful

    Maybe you guys didn't catch this sure-fire sign of overly-academic writing (sometimes also found outside academia, alas):

    The pomo coder stripe has evolved into something quite different than what it once may have been.

    You probably thought that word was "porno" -- but no, it's short for post-modern, and it's thrown around all the time for no good reason in academia. I stopped reading the article after seeing that, and a smattering of insofars and posits when I flipped ahead to part 2. Oh yeah, and I ran into this:

    But as we will see, the impact on the exogenous environment of remittable activities of autonomous agents can be profound indeed.

    Indeed, indeed. That's a great sign that you are reading a paper that will take thousands and thousands of words to argue something that could have been said in three crisp, short paragraphs. Nothing against the writer -- he's got a great vocabulary, and he's using the words correctly... but you see this all the time in academic writing, because "it just doesn't sound right" without a few latin phrases and a "dialectic" or two, because everyone around you is writing like this, too. Sadly, it only complicates or even loses the real argument, and most of your readers who have never been force-fed this kind of fare and made to like it will also be lost. So, to the author: Fight the impulse!! Turn away from the dark side! Therein lies a twisty maze of passages, all alike....

    1. Re:My "academia" meter was flying high by GCP · · Score: 2, Insightful

      most of your readers who have never been force-fed this kind of fare and made to like it will also be lost.

      I'd give you mod points if I could.

      I've been force fed this kind of academic drivel for decades and nothing will make me ever like it. I was even one of the editors of an academic, peer-reviewed technical journal years ago, but my attempts to turn the academic gibberish into clear English were ultimately fruitless. Both authors and senior editors seemed to feel that clear writing posed a threat to their reputations for academic seriousness.

      This article was a particularly egregious example of academic-ese. As near as I can tell, the three part series boiled down to the simple thesis that programmers are creating automated systems that will eventually replace most programmers, effectively eliminating their own profession. Why couldn't he just say so in the first paragraph?

      With a clear and concise statement of the thesis, the arguments and data needed to support it also become much clearer, as do holes in the argument and obvious counter arguments that must be dealt with. But with enough academic encruftation, you can't see an argument clearly enough to reliably judge it. Maybe you just haven't understood it. Maybe you're not capable of understanding it. Maybe he's a genius and you'd better just take his word for it.

      Sorry. I call pomo BS. I'm sure many current programming jobs will disappear, but many will evolve and new ones will appear. How those factors will ultimately work out isn't clear to me yet, and I'd welcome any article that actually clarified it.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  51. Standardized businesses by yow2000 · · Score: 2, Insightful
    Blacksmiths do custom work, to fit the need - but those needs became standardized.

    Bookkeepers also do custom work - but what stops those needs from becoming standardized? Why don't businesses deliberately organize their affairs, so they fit within an exact model of a business, so that accountancy does become standardized? I think the reason is because different organizations of a business is often a competitive advantage - they don't want to standardize it; and if they did, straight off someone else would come up with a better organization and put them out of business.

  52. Complete nonsense. by jotaeleemeese · · Score: 2, Insightful

    In rich countries people normally don't starve to death, don't die of preventable diseases, live longer than in most other places and only have bad old years because they are too lazy to go out and do some exercise, stop smoking and eat sensibly.

    Unless you are posting from Sudan or a jail cell in China I just think you have no idea what a human standard of living really is.

    People in rich countries, even poor people in relative terms, are well fed (heck obesity is frequently associated with poverty in rich countries) and adequatelly clothed, so frankly cut the bullshit man.

    --
    IANAL but write like a drunk one.
  53. It's opposite day by joss · · Score: 2, Interesting

    I have heard this argument or something like about once every 6 months for the last 15 years.

    Basically the argument goes, "in the *future*, things will get more automated so there will be no need for programmers. Programmers are like [insert lousy analogy] and in future will become obsolete just like [insert lousy analogy]."

    The whole point of programming is identifying that which can be automated and eliminating the need for mindless repetition. It's almost a tautology to say that the hardest thing of all to automate is the process of reducing what used to be considered a difficult labour/thought intensive process into a program. To do this requires a greater level of understanding than whatever job is being automated. We will write software to deliver packages, perform surgery, teach mathematics to children, etc etc, but until computers are smarter than humans we will never write software that figures out how to write software *for novel applications*. I think its nearer the truth to say that eventually everybody except programmers will become redundant.

    This is good thing by the way, it only seems like a bad thing due to our economy which is designed for optimal distribution of scare resources. Until we rejig economics to deal with a post scarcity society, we are doomed to invent bullshit filltime work to make up for all the professions that are made redundant [but that's another story...]

    --
    http://rareformnewmedia.com/
  54. Global Economy by tacocat · · Score: 2, Interesting

    This is a very narrow view on what is happening and will happen with a very large number of jobs in the Global Economic structure that has arrived since the 1990's. If you want, you can consider this whole process a Canary in a Coal Mine example of what is going to happen to most jobs in the US and all other first world nations.

    There are still blacksmiths in the world today, but the economy supports a much lower density of blacksmiths today in the nation. The only way that the few blacksmiths today can manage to survive is if they are very good and have more of an artistic quality to their nature than a pure smithy skillset.

    The only way any American developers will survive is if they have exceptional skills that makes tham capable of competing on a much more competative market or are able to find a density of developers low enough in the local area that they are able to do all the customization work necessary to support the local demand of the software industry.

    But the days of every geek making 6 digits a year have long past. It's just as well if you ask me. Now the only people who will code are the people who do it because they love it, not because they can get paid for it. I've run into a lot of pretty useless individuals who have moved into software development because they took a 6 week course in MCSE or JAVA and got picked up by some contract house.

    The people that will be left working on software development in countries like US, Canada, and most of the European nations that participate in the Global Economy will follow this pattern.

  55. In this case, the analogy must be almost perfect! by lamz · · Score: 2, Insightful

    In the end, the blacksmith and the bookkeeper are only convenient metaphors, not to be confused with inherently meaningful symbols. Any number of contrasting metaphors may have served just as well.

    Umm, no. This essay purports to draw an analogy between blacksmiths and programmers, with a contrast to bookkeepers. In the end, the analogy better be as close to perfect as possible. You don't get to cop out in the last paragraph of a three-part essay! If the blacksmith isn't perfectly analogous to a programmer, then keep looking -- you haven't found your analogy yet!

    --

    Mike van Lammeren
    It will challenge your head, your brain, and your mind.

  56. Industrialising book-keeping by jkozak · · Score: 2, Insightful

    One of the article's central claims is that a "book-keeping factory" is impossible. On my home world we have entities called "accountancy firms" which are exactly that.

  57. Re:Dam'it Jim! I'm an Engineer. by Nepre · · Score: 2
    Utter nonsense. Programming and programmers aren't dead until AI matures.

    So programmers won't die off until AI matures, and AI won't mature without programmers. Beautiful!

  58. A more accurate analogy... by greywire · · Score: 2, Insightful

    The problem with this analogy is that it's too simple. "Programming" spans a greater skill set than "blacksmith". A more accurate comparison would be not to "programmers" as a whole, but to "low level programmers" -- people doing tightly coded assembly, or even low level libraries and objects in C, C++ etc. Because these things are equivalent to the things smiths made -- commodity components like fasteners, gears, and even small machines like electric motors.

    Like somebody else said, programmers will become more like the engineers who take common components and put them together, only sometimes making any low level changes to the common parts.

    Yeah, it was great when we all did amazing things with our 2K of program space in assembly code. I really miss those days. But I dont want to do that anymore than I want to design and fabricate a gear so I can build a robot. Now certainly there are going to be a few people somewhere who need to design things like that, on a low level.

    You can find all sorts of similar analogies. How about textiles? Do you know anybody who makes their own fabrics? Do you know anybody who makes their own clothing and who laments the fact that they dont get to weave the fabric first?

    I'd rather stand on the shoulders of giants -- and create bigger and better things using the components people have perfected before me.

    When I first started to read this article (which I found tedious to read) I thought sh!t, he's right! And then I realized I'll still be programming in the future, just using more tools than low level programming. Already I use code generators and libraries of functions and object components. Programming will be more like engineering the overall structure, or designing the data base or protocols, etc. That's more fun anyway.

    Nostalgia aside, hooray for the death of the programmer! Long live the Software Engineer!

    --
    -- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.