Slashdot Mirror


New Book Describes 'Bluffing' Programmers in Silicon Valley (theguardian.com)

Long-time Slashdot reader Martin S. pointed us to this an excerpt from the new book Live Work Work Work Die: A Journey into the Savage Heart of Silicon Valley by Portland-based investigator reporter Corey Pein.

The author shares what he realized at a job recruitment fair seeking Java Legends, Python Badasses, Hadoop Heroes, "and other gratingly childish classifications describing various programming specialities." I wasn't the only one bluffing my way through the tech scene. Everyone was doing it, even the much-sought-after engineering talent. I was struck by how many developers were, like myself, not really programmers, but rather this, that and the other. A great number of tech ninjas were not exactly black belts when it came to the actual onerous work of computer programming. So many of the complex, discrete tasks involved in the creation of a website or an app had been automated that it was no longer necessary to possess knowledge of software mechanics. The coder's work was rarely a craft. The apps ran on an assembly line, built with "open-source", off-the-shelf components. The most important computer commands for the ninja to master were copy and paste...

[M]any programmers who had "made it" in Silicon Valley were scrambling to promote themselves from coder to "founder". There wasn't necessarily more money to be had running a startup, and the increase in status was marginal unless one's startup attracted major investment and the right kind of press coverage. It's because the programmers knew that their own ladder to prosperity was on fire and disintegrating fast. They knew that well-paid programming jobs would also soon turn to smoke and ash, as the proliferation of learn-to-code courses around the world lowered the market value of their skills, and as advances in artificial intelligence allowed for computers to take over more of the mundane work of producing software. The programmers also knew that the fastest way to win that promotion to founder was to find some new domain that hadn't yet been automated. Every tech industry campaign designed to spur investment in the Next Big Thing -- at that time, it was the "sharing economy" -- concealed a larger programme for the transformation of society, always in a direction that favoured the investor and executive classes.

"I wasn't just changing careers and jumping on the 'learn to code' bandwagon," he writes at one point. "I was being steadily indoctrinated in a specious ideology."

11 of 292 comments (clear)

  1. older generations already had a term for this by Anonymous Coward · · Score: 5, Interesting

    Older generations called this kind of fraud "fake it 'til you make it."

    1. Re:older generations already had a term for this by molarmass192 · · Score: 4, Interesting

      These restrictions is a large part of what makes Arduino programming "fun". If you don't plan out your memory usage, you're gonna run out of it. I cringe when I see 8MB web pages of bloated "throw in everything including the kitchen sink and the neighbor's car". Unfortunately, the careful and cautious way is a dying in favor of the throw 3rd party code at it until it does something. Of course, I don't have time to review it but I'm sure everybody else has peer reviewed it for flaws and exploits line by line.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    2. Re:older generations already had a term for this by Anonymous Coward · · Score: 2, Interesting

      Yeah, nice talk. You could have stopped after the first sentence. The other AC is referring to the Commodore C64. The frequency has nothing to do with crystal availability but with the simple fact that everything in the C64 is synced to the TV. One clock cycle equals 8 pixels. The graphics chip and the CPU take turns accessing the RAM. The different frequencies dictated by the TV standards are the reason why the CPU in the NTSC version of the C64 runs at 1.023MHz and the PAL version at 0.985MHz.

    3. Re:older generations already had a term for this by Anonymous Coward · · Score: 2, Interesting

      Unfortunately, the careful and cautious way is a dying in favor of the throw 3rd party code at it until it does something.

      Of course. What is the business case for making it efficient? Those massive frameworks are cached by the browser and run on the client's system, so cost you nothing and save you time to market. Efficient costs money with no real benefit to the business.

      If we want to fix this, we need to make bloat have an associated cost somehow.

      Because, latency of a request is the most important factor for getting users to continue using a service. Its more important than anything that comes from product management, the design dept or the executive suite (which is surprising). Its gotten so bad that I have seen companies miss out on 10 figures a year in revenue because of bloated software with poor latency. Meanwhile, they want to run an A/B test on if the pink background makes more money than the green one (turns out it doesn't fucking matter). Its OK, if it wasn't for ppl like you, I wouldn't get paid so well to clean up your messes. Hint, you are one of the fakers an part of the problem.

    4. Re:older generations already had a term for this by Anonymous Coward · · Score: 2, Interesting

      Commodore 64 for the win. I worked for a company that made detection devices for the railroad, things like monitoring axle temperatures, reading the rail car ID tags. The original devices were made using Commodore 64 boards using software written by an employee at the one rail road company working with them.

      The company then hired some electrical engineers to design custom boards using the 68000 chips and I was hired as the only programmer. Had to rewrite all of the code which was fine because I actually had access to a C compiler. The original developer had used some system he'd pulled from a magazine that was a really bizarre pseudo assembler.

      I had the luxury of having a full 64kb burnable ROM to hold my code, though it was setup with only 1 of 4 16kb pages accessible at at time so did have to do some bank switching to use it all. Fun days.

  2. ... A job fair can easily test this competency. by wierd_w · · Score: 3, Interesting

    Many of these languages have an interactive interpreter. I know for a fact that Python does.

    So, since job-fairs are an all day thing, and setup is already a thing for them-- set up a booth with like 4 computers at it, and an admin station. The 4 terminals have an interactive session with the interpreter of choice. Every 20min or so, have a challenge for "Solve this problem" (needs to be easy and already solved in general. Programmers hate being pimped without pay. They dont mind tests of skill, but hate being pimped. Something like "sort this array, while picking out all the prime numbers" or something.) and see who steps up. The ones that step up have confidence they can solve the problem, and you can quickly see who can do the work and who can't.

    The ones that solve it, and solve it to your satisfaction, you offer a nice gig to.

  3. Re:Most "Professional programmers" are useless. by Anonymous Coward · · Score: 4, Interesting

    I have a theory that

    10% of people are good at what they do. It doesn't really matter what they do, they will still be good at it, because of their nature. These are the people who invent new things, who fix things that others didn't even see as broken and who automate routine tasks or simply question and erase tasks that are not necessary. If you have a software team that contain 5 of these, you can easily beat a team of 100 average people, not only in cost but also in schedule, quality and features. In theory they are worth 20 times more than average employees, but in practise they are usually paid the same amount of money with few exceptions.

    80% of people are the average. They can follow instructions and they can get the work done, but they don't see that something is broken and needs fixing if it works the way it has always worked. While it might seem so, these people are not worthless. There are a lot of tasks that these people are happily doing which the 10% don't want to do. E.g. simple maintenance work, implementing simple features, automating test cases etc. But if you let the top 10% lead the project, you most likely won't be needed that much of these people. Most work done by these people is caused by themselves, by writing bad software due to lack of good leader.

    10% are just causing damage. I'm not talking about terrorists and criminals. I have seen software developers who have tried (their best?), but still end up causing just damage to the code that someone else needs to fix, costing much more than their own wasted time. You really must use code reviews if you don't know your team members, to find these people early.

  4. Re:Bigger building blocks by Tony+Isaac · · Score: 5, Interesting

    If I'm a plumber, and I don't know anything about the engineering behind the construction of PVC pipe, I can still be a good plumber. If I'm an electrician, and I don't understand the role of a blast furnace in the making of the metal components, I can still be a good electrician.

    The analogy fits. If I'm a programmer, and I don't know how to make an LZW compression library, I can still be a good programmer. It's a matter of layers. These days, we specialize. You've got your low-level programmers that make the components, the high level programmers that put together the components, the graphics guys who do HTML/CSS, and the SQL programmers that just know about databases. Every person has their specialty. It's no longer necessary to be a low-level programmer, or jack-of-all-trades, to be "good."

    If I don't know the layout of the IP header, I can still write quality networking software, and if I know XSLT, I can still do cool stuff with XML, even if I don't know how to write a good parser.

  5. Re:Most "Professional programmers" are useless. by Tablizer · · Score: 5, Interesting

    at least 70, probably 80, maybe even 90 percent of professional programmers should just fuck off and do something else as they are useless at programming.

    Programming is statistically a dead-end job. Why should anyone hone a dead-end skill that you won't be able to use for long? For whatever reason, the industry doesn't want old programmers.

    Otherwise, I'd suggest longer training and education before they enter the industry. But that just narrows an already narrow window of use.

  6. Re: The people who are smarter won't by Anonymous Coward · · Score: 1, Interesting

    We sound very alike. Iâ(TM)m a co-founder of a reasonably successful business now employing ~100 people. I love coding, solving new problems, but hate working âoeforâ a company. The first couple of years was hell, struggling financially, learning what we are good at, finding clients etc.

    Nowadays my role is officially âoeadvisorâ, I âoereportâ to the CEO (also co-founder) and I basically work 9-4 doing whatever I want that I feel will make the company more valuable.

    I get a more than decent salary (but of course CEO has more), and basically a reasonable chance of retiring early if the company keeps growing and is sold.

    Living the startup life without all the running-a-business-details. Also hate having my name in the open, love being the anonymous guy in the back.

  7. in the silly cone valley by Escogido · · Score: 4, Interesting

    there is a huge shortage of decent programmers. I have personally witnessed more than one phone "interview" that went like "have you done this? what about this? do you know what this is? um, can you start Monday?" (120K-ish salary range)

    partly because there are way more people who got their stupid ideas funded than good coders willing to stain their resume with that. partly because if you are funded, and cannot do all the required coding solo, here's your conundrum:

    - top level hackers can afford to be really picky, so on one hand it's hard to get them interested, and if you could get that, they often want some ownership of the project. the plus side is that they are happy to work for lots of equity if they have faith in the idea, but that can be a huge "if".

    - "good but not exceptional" senior engineers aren't usually going to be super happy, as they often have spouses and children and mortgages, so they'd favor job security over exciting ideas and startup lottery.

    - that leaves you with fresh-out-of-college folks, which are really really a mixed bunch. some are actually already senior level of understanding without the experience, some are absolutely useless, with varying degrees in between, and there's no easy way to tell which is which early.

    so the not-so-scrupulous folks realized what's going on, and launched multiple coding boot camps programmes, to essentially trick both the students into believing they can become a coder in a month or two, and also the prospective employers that said students are useful. so far it's been working, to a degree, in part because in such companies coding skill evaluation process is broken. but one can only hide their lack of value add for so long, even if they do manage to bluff their way into a job.