Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming IT Technology

'Coding Is Not Fun, It's Technically and Ethically Complex' (qz.com) 359

An anonymous reader shares an article: For starters, the profile of a programmer's mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks. Manic attention to detail is a must; slovenliness is verboten. Coding isn't the only job that demands intense focus. But you'd never hear someone say that brain surgery is "fun," or that structural engineering is "easy." When it comes to programming, why do policymakers and technologists pretend otherwise? For one, it helps lure people to the field at a time when software (in the words of the venture capitalist Marc Andreessen) is "eating the world" -- and so, by expanding the labor pool, keeps industry ticking over and wages under control. Another reason is that the very word "coding" sounds routine and repetitive, as though there's some sort of key that developers apply by rote to crack any given problem. It doesn't help that Hollywood has cast the "coder" as a socially challenged, type-first-think-later hacker, inevitably white and male, with the power to thwart the Nazis or penetrate the CIA. Insisting on the glamor and fun of coding is the wrong way to acquaint kids with computer science. It insults their intelligence and plants the pernicious notion in their heads that you don't need discipline in order to progress. As anyone with even minimal exposure to making software knows, behind a minute of typing lies an hour of study. It's better to admit that coding is complicated, technically and ethically. Computers, at the moment, can only execute orders, to varying degrees of sophistication. So it's up to the developer to be clear: the machine does what you say, not what you mean. More and more "decisions" are being entrusted to software, including life-or-death ones: think self-driving cars; think semi-autonomous weapons; think Facebook and Google making inferences about your marital, psychological, or physical status, before selling it to the highest bidder. Yet it's rarely in the interests of companies and governments to encourage us to probe what's going on beneath these processes.
This discussion has been archived. No new comments can be posted.

'Coding Is Not Fun, It's Technically and Ethically Complex'

Comments Filter:
  • So is life (Score:5, Insightful)

    by Geoffrey.landis ( 926948 ) on Tuesday May 23, 2017 @02:02PM (#54471021) Homepage

    "It's Technically and Ethically Complex"

    You could say the same about living.

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      Yeah. Also, I think coding is fun. I did hobby coding ever since I was a child. For fun. Still do.

      Maintaining a real-world product brings all the non-fun that comes with any job...but the coding in-and-of-itself is fun.

      I don't think that makes me a freak. Maybe I am wrong...and I will admit to a few of the stereotypical social challenges, but even so....coding is fun.

      • Re:So is life (Score:4, Insightful)

        by zieroh ( 307208 ) on Tuesday May 23, 2017 @02:40PM (#54471383)

        Yeah. Also, I think coding is fun. I did hobby coding ever since I was a child. For fun. Still do.

        Agreed. Programming is an enjoyable experience for me. Hard, yes. But also creative and satisfying. And I'm not alone -- the best programmers I know were drawn to programming because it was something they enjoyed.

        So I call bullshit on the "coding isn't fun" theme.

      • Re:So is life (Score:5, Insightful)

        by DuroSoft ( 1009945 ) on Tuesday May 23, 2017 @03:22PM (#54471687) Homepage
        I also call bullshit. Coding is fun. Product management, dev ops, and putting out fires and meeting customer needs is a lot less fun. But this unfunness can also be present even in small open source projects. All it takes is tons of users writing in wanting feature changes or experiencing/reporting bugs (or asking if you could please re-write the project in Rust), and you'll start feeling just like any fledgling startup. So I revise my statement -- coding is fun when done for oneself as a creative and intellectual exercise. Share that code, however, and you will be on a pathway to unfunness, but on the other hand people will reward you for that unfunness, so it's really a matter of balancing the rewards with the inherent unfunness of the activity.
        • by ghoul ( 157158 ) on Tuesday May 23, 2017 @05:11PM (#54472567)

          Surgery is fun. Cutting is FUN!!! .Its keeping the patient alive, making sure that sterile environments are maintained, making sure the nurses dont leave instruments inside the patient and closing up which is unfun.
          In order to reduce the cost of medical care in the US we need to attract more kids to surgery.

          I propose holding an hour of Surgery event in every elementary school where you do surgery on a frog and prescribe laxatives to guinea pigs.

          Also 7 days surgery bootcamps where anyone without any science background is taught to operate on dogs.

          Also automation. Robots do surgery much better than humans

          Alas none of this is going to happen as the American Medical Association has basically bought both parties. Wish the ACM was as good as the AMA at protecting the privileges of programmers

      • Agreed. But the fun part is 5% of the job. And there are times when what you are programming doesn't even show up, because you need the job and couldn't afford to be picky. I had to work on business oriented software for awhile, and it was dreadfully dull and boring and I didn't care about it one bit, but it was the only job offer I had and I was low-balled and stayed there nearly three years. There was fun stuff at the job, and interesting stuff, but not with the programming parts of it at all.

      • The other thing TFA seems to be missing is that we're not trying to teach everyone some programming because we expect that they will become programmers, we are teaching them programming because it is going to be as relevant to any job as writing was a hundred years ago. Sure, there are some jobs that don't require it and more where you can get away without doing it or doing it badly, but they're increasingly few.

        Even if the only programming that you do is a little bit of VBA to automate some common task

    • Not every programming job is either technically or ethically complex. For example analysing particle physics data is a technically complex programming task but raises no ethical issues. In fact, I imagine there are not many ethically complex programming tasks - self-driving cars is one that comes to mind - since most of the ethics are concerned with how you use the program not how you wrote it.
      • analysing particle physics data is a technically complex programming task but raises no ethical issues

        Someone could use this data to devise a new super-weapon.

        Everything is ethically complex if you really want to be neurotic about it, and TFA seems to be very focused on being neurotic about all the things. I mean someone seriously took a Hollywood representation of a coder seriously, when any of us who do this work for a living know that person resembles as much our job as Riggs and Murtaugh represented d

        • I no longer code for a living, haven't done that for a very long time. But I write code just about every day. Now my tasks are to analyze large data sets and to help formulate policy decisions and improve businesses processes.

          A lot of my colleagues do this work without coding. They do all sorts of insane and stupid shit with Excel and Access, and spend a lot of time doing tedious shit by hand. I spend a lot of time automating that shit, in the hopes that the next time I have to do it, it's close en

      • Not every programming job is either technically or ethically complex.

        I"m still trying to wrap my head around the tern "ethically" and coding/programming in the same sentence...?!?!

        I mean you code for 1 or 2 reasons:

        1. Interest/Fun

        2. You get paid for it.

        WTF does "ethically" come into play here?

        Geez, I see more and more people try to interject morals or ethics into things that have never had that connotation before. I see people equate paying taxes to morality....really?

        And now, you have supreme ethic

      • I used to write software for particle physical analysis (OK, nuclear physics, but the same thing). At was some lf the easiest sl\software that I wrote. Very straight forward and well defined. The math was involved, but I don't consider that programming because it had to deal with the physics and not the realization of the algorithms.

        I'd say writing embedded software to deal with buggy hardware is far more complex and challenging because you can no longer rely on the computer doing what you instructed it t

  • by rudy_wayne ( 414635 ) on Tuesday May 23, 2017 @02:06PM (#54471059)

    The number one problem is that programming involves typing on a keyboard. And so, to politicians and all the other clueless, computer-illiterate masses, programming is nothing more than a simple, routine function that can be handled by any low-level clerk or secretary.

    • If that happens to you, tell them it's like comparing a brain surgeon operating with a laser scalpel to a low-level manager using a laser pointer for a presentation.

  • because it is fun (Score:5, Insightful)

    by phantomfive ( 622387 ) on Tuesday May 23, 2017 @02:06PM (#54471061) Journal
    If you don't think programming is fun, then you're really missing out. The reason so many people work on open source code for free is exactly because it is fun, and we can see that the quality of code from people doing things for fun can be quite high.

    If programming isn't fun for you, then something's wrong. Maybe you have a manager who completely stifles you, or maybe you only glue together libraries other people wrote. I can see how that wouldn't be much fun. Or maybe you have a manager who writes code, gives it to you, and says, "here, debug this." That would be hell. Either way, if your job is programming change stuff around until you can really see what is so much fun about it, otherwise you're in for a miserable career.
    • by mujadaddy ( 1238164 ) on Tuesday May 23, 2017 @02:14PM (#54471143)

      If you don't think programming is fun, then you're really ---

      --- not a programmer?

      • for money. Programming's one of them. The days when tech was dominated by people who wanted to be there are long gone. Outsourcing and Visa abuse mean employers can be choosy and demand a college degree for, well, everything. That same outsourcing drove mechanical engineers and other college grads into code monkeying positions the /. crowd used to get. I'm seeing more and more folks with no interest in code but a keen interested in a paycheck.
        • The days when tech was dominated by people who wanted to be there are long gone.

          Which is unfortunate. Those people make things bad for the rest of us. If they figured out how to enjoy it, things would be better.

      • But programming is often just a very tiny part of a programmer's job.

    • by myrdos2 ( 989497 )

      Exactly.

      When it comes to programming, why do policymakers and technologists pretend otherwise?

      I'm not pretending. This is fun. I am having fun. Whee! ...what fun. See?

      It doesn't help that Hollywood has cast the "coder" as a socially challenged, type-first-think-later hacker, inevitably white and male, with the power to thwart the Nazis or penetrate the CIA.

      Me, me, me... also me. Bring on the enigma machine! And if you want to read leaked CIA documents, go nuts, they're on the web.

      • by phantomfive ( 622387 ) on Tuesday May 23, 2017 @02:38PM (#54471367) Journal
        Not only that, these people coming in saying "programming is not fun" are making it worse for the rest of us. Because they don't know how to self-manage, crappy processes (like 'agile' from people who never read the manifesto) get imposed to make sure we keep working. Bad designs get built by people who don't enjoy it, and then the rest of us have to work in that code.

        Fixing other people's bugs is indeed not fun. If you don't like programming, I suggest you stay out and not make things worse for other people. Or learn why it's fun.
      • While there have been not fun times in my career, there have been quite a few things to offset that.

        How is making a 8000 HP engine run on software *you wrote* not fun?

  • by AuMatar ( 183847 ) on Tuesday May 23, 2017 @02:06PM (#54471067)

    Its complex. And its fun. Part of the reason its fun is that it is complex- if it was easy there'd be no challenge to it. If you don't find the challenge fun, you're in the wrong profession and will be happier elsewhere.

    • Just like with music - if it was easy, it would not be nearly as much fun!
      • Music is the easiest thing in the world. You open up iTunes, click "play" and music starts playing!

      • I suppose people play music for different reasons, but I would venture that most people don't play music because it's challenging, but because they like music and like making it. For me, music has become more fun each time I reach a new level of mastery, as it means that my ability to express myself expands.
      • by Luthair ( 847766 )
        I'm not sure that jives with current popular music which eschews instruments in favour of electronic noises. Its certainly a lot easier to use synth than mastering at least one instrument.
        • Mastering a synth takes a lot of skill in and of itself. Programming your own patches is a combination of both programming and a solid understanding of sounds. Just because I can produce a pipe organ or a symphony, or weird bleeps on a synth doesn't mean less skill. True, sampling may be a bit of a cheat, but I've seen some pretty wild stuff done with samples that has to take a helluva lot of skill.

        • I'm not sure that jives...

          You're right; it doesn't [youtube.com].

    • Re: (Score:3, Interesting)

      by Luthair ( 847766 )
      Lets be honest though, if you aren't working in algorithms most of the work doesn't have a whole lot of complexity. Its usually a small part problem solving then a lot of time implementing & testing.
      • I'm curious how many programming jobs are code monkey jobs, and how many are fairly unique cases. My last coding job was in fluid dynamics research and now I'm crunching more complicated, fucked up, and messy data sets. Neither are code-monkey work or with a team. I'm wondering how many jobs like these are out there - just a few people bashing out code for a specific niche need.

        As compared to my first programming job, I really love(d) these two. Independent, quiet, and cranking out good work. Lots

    • From the Article "But you'd never hear someone say that brain surgery is 'fun,'"
      Having worked with doctors, Doing surgery for them is actually fun. Their eyes light up when they get to do a procedure that is challenging or novel. They will not show this to the patients or family, as they need to show a degree of professionalism, as normally when you do surgery on the person is often scared out of their wits.
      When I am in a good coding environment mode, I am actually having a lot of fun, time just flies by,

    • Sometimes it's fun, sometimes it's not. I like the challenge, though I admit when I'm down to the wire and there's a bug that I can't seem to nail down, it's not really fun anymore. But really, it's like anything in life, there are times, when you're in the "zone", when, to borrow from a movie I can't remember the name of, when butter literally flows from your fingers, wow, there's no rush quite like it. But then there are the days when every line of code feels like it's being robbed straight from your bone

  • yeah right (Score:4, Insightful)

    by phantomfive ( 622387 ) on Tuesday May 23, 2017 @02:07PM (#54471075) Journal

    As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks. Manic attention to detail is a must; slovenliness is verboten.

    Attention to detail? Slovenliness? These people must not have looked at much corporate code, there's a world of kludges out there.

  • by 140Mandak262Jamuna ( 970587 ) on Tuesday May 23, 2017 @02:08PM (#54471079) Journal
    What do you mean by ethically complex I don't know.

    Not all of us writing code to throw the switch of a railroad track with an unstoppable locomotive barrelling down towards a group of three deaf people who could not hear it coming, while there is an invalid in a wheelchair on the side track who could not get out even if he could hear it coming. Most of our coding examples are considerably less ethically complicated.

    • The guy in the wheelchair is invalid, so we should ignore his input.

    • by RobinH ( 124750 )
      I actually do work on safety-critical systems for industry, including software, and I wouldn't say there's anything ethically complex about it. It basically comes down to: stop the machine in a control reliable way if there's a chance of human injury, and make sure your system detects any single safety component failure without compromising the ability to stop the machine. If you're having the machine decide if it's better to chop off this person's fingers or that person's fingers, you've failed at your j
  • literally http://www.nakedcapitalism.com... [nakedcapitalism.com]
  • Well, we can tell that whoever wrote that has never coded for Microsoft, Facebook, or Yelp.

  • a) It is fun, if you're doing it because you want to.
    b) Slovenliness isn't verboten, it's the norm.

  • Of course brain surgery is fun. If you're not having fun at work why are you doing it? Also a large portion of structural engineering is in fact very easy. Not to mention fun too. I am an engineer, but I dabble in programming in my spare time ... for fun.

    Whoever wrote that shit needs a reality check. Every field promotes itself on the fun and joy of it. No one says: Why not become a lawyer, we have some of the highest divorce and suicide rates in the white collar world.

    The problem is the writer has somethin

    • by Quirkz ( 1206400 )

      Every field promotes itself on the fun and joy of it.

      I had a college prof say, "Physics is like sex. Sure, there are practical results sometimes, but that's not why we do it." I think that's proof enough that for any thing, there's someone who finds it fun.

  • But you'd never hear someone say that brain surgery is "fun," or that structural engineering is "easy."

    Maybe we should start saying that. One of the biggest deterrents to potential rock stars in these fields is the mountain of intimidation before the learning process can even begin. How is that productive?

  • by El Cubano ( 631386 ) on Tuesday May 23, 2017 @02:15PM (#54471153)

    So, I read the article and the point completely eludes me. There is no news here. There are no facts. It reads like it is trying to be a think-piece, but contains no actual information. Even a think piece, with a primary purpose of expressing an opinion, needs to have some sort of basis in facts or information.

    This "article" reads more like the introduction to a manifest, or some sort of random pontification.

    Don't get me wrong, it is sure to prompt a robust discussion here on /., but the piece itself is not really that exciting.

    That said, my perspective is that programming (analysis, coding, testing, etc.) is enjoyable, possibly even "fun," for the simple reason that I enjoy solving complex problems. When I was younger I spent lots of time playing videogames. As I got older and more experienced as a software engineer I began to realize that playing video games (good ones) and developing software are actually the same activity. Except that the former rarely results in a lasting benefit, while the latter is easier to get paid to do.

    So, to me, it is the functional equivalent of getting paid to play videogames all day. I can count on one hand the number of days I have not looked forward to going to work in the last few years. So, yes it is complex and has an ethical dimension, but is also lots of fun.

    • Re: (Score:3, Insightful)

      Articles like these are just hipsters trying to avoid getting jobs and writing inane stuff for these sites. We used to call them bloggers.
    • When I was younger I spent lots of time playing videogames. As I got older and more experienced as a software engineer I began to realize that playing video games (good ones) and developing software are actually the same activity. Except that the former rarely results in a lasting benefit, while the latter is easier to get paid to do.

      So, to me, it is the functional equivalent of getting paid to play videogames all day. I can count on one hand the number of days I have not looked forward to going to work in the last few years. So, yes it is complex and has an ethical dimension, but is also lots of fun.

      Nice analogy, and I agree, though good video games stay with me much as a good book, film, album, etc., does. I don't really care if they are "art," but they influence me.

    • Videogames always bored me because they weren't complex enough. I bought my first computer to play video games, but had more fun dissecting the computer, learning the silicon and programming my own simulations.

      IOW, writing a software to accurately model the space shuttle was more fun than flying a space shuttle game.

  • by Anonymous Coward

    I Had to say it, it just seemed required.

    From my perspective, Programming is fun. Programming is like painting, with words and symbols, but when the canvas is completed, you have a moving piece of art capable of doing tasks.
    The part that the article is missing, is that "Working" is not fun. Take a child to the beach, and what will they likely do for fun? Dig holes and make sand-castles. Even many adults will enjoy doing this right along with them. Now, fast forward to when they are adults - do they enjo

  • I do what I do because I enjoy doing it. there are many many challenges that I enjoy. Learning what others have done in the open source community, modifications, creating your own solution to an interesting problem (and publishing it the world for brownie points on your resume) or even contributing to a minor/major open source project. I see coding as being part architecture, part construction worker, part problem solver, and part interpreter (business requirements gathering is always lots of fun in case yo
  • Personally, i think programming is fun - I thought so when I learned it, otherwise why would I have even pursued it to begin with? Especially as a kid when there are lots of things that are fun.

    To say programming can also not be fun, is to illustrate a fundamental truth of life - anything can be not fun if you do enough of it, at a high enough level. Most kids love playing sports but there are a lot of things about professional sports that are not fun. Photography makes a great hobby but can be a gruelin

  • Programming jobs may not be fun.

  • by chad.koehler ( 859648 ) on Tuesday May 23, 2017 @02:30PM (#54471303)

    I'm having fun. Should I not be? Dang.

  • ... software developers need almost superhuman focus to manage the complexity of their tasks.

    It may seem like that to some. To others it's just another Tuesday at the keyboard. Typety, type, type ...

    Programming is problem solving.

  • Uh-oh.

    To save you the trouble, I read the article.

    tl;dr -- Coding is not fun, everybody should know how to do it, and we need to keep the coders in check.

    At least now we know where at least one of the Puritans went.

  • If you subscribed to Compute! or Compute! Gazette (Commodore 64), or got one of the programming books, the more complicated programs required that you had to enter eight three-digit numbers (000-254) and a three-digit checksum for each byte (IIRC). Took hours to enter those programs. If you done everything right, the program works. If it didn't work, you had to double check your numbers or re-enter the whole thing over again. Not for the faint of heart!
    • That's how I learned to program. or ...maybe it's how I learned not to...elementary school on a commodore 64, friend showed me some basic...BASIC and I was hooked. Found out the school library had several books on basic programming with many listings ranging from a simple program to guess the number you're thinking all the way to a space invaders clone. The guess the number one was easy to transcribe and even improve in my simple understanding with it working very well. The longer programs...well...fo
      • Found out the school library had several books on basic programming [...]

        Those books are still around on the Atari Archives. For a while I was translating old BASIC games that I could get to work on the Commodore 64 into working Python scripts. A lot of spaghetti code with all the gotos and gosubs.

        http://www.atariarchives.org/ [atariarchives.org]

        • Ha! This was the one that we spent hours on end transcribing from: http://www.atariarchives.org/c... [atariarchives.org]
  • Not everyone in the world is slaving away on death marches managing security/personal information.

  • "Ethically complex?" Seriously? What a stupid thing to call out.

    Tell me what endeavor or occupation doesn't have potential ethical implications if you are not paying attention. Selling scrap metal is "ethically complex" if you don't pay attention to whom you are selling it.

    As for fun, if solving problems is not fun to you, then writing code is not for you. If it were never fun there would be no such thing as programming games [wikipedia.org].
  • Comparing coders to Neurosurgeons is a bit of a stretch, even for the more liberal minded developers. Some tasks require intense focus, work and time, but for the majority of the tasks we do day to day, it's rather lightweight and easy. If during the standard day you find yourself fighting mental fatigue, exhaustion and constantly battling complex problems, you're probably just a bad developer and shouldn't be in the field.

    As an Embedded Engineer, I have to say that unless I'm trying to figure out a
  • I'd prefer they analogize coding to watch-making. Or, more accurately, watch-design. Can you design a watch that works? That's cheap? That can be repaired by technicians who aren't as skilled as you, the designer? That doesn't stop working after a month? That actually keeps good time? That looks attractive and has a good user-interface, i.e. the user can set alarms and re-set the time without undue trouble?
  • ... everything else. There are times when it is fun and times where it is a drag, similar to when you take your hobby and then are start making a living at it. It's not always fun and games for everyone, for some people their 'passion' can become their job but for others it must stay their passion.

    We've all heard of burnout, in particular the game industry has lots of people with passion who eventually lose it because of horrible work conditions or too long hours, aka they eventually get out of the indust

    • Yeah, this is another elevation of someone's personal hobby to a personal fantasy. The opener got me:

      For starters, the profile of a programmer's mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks.

      Becoming a programmer requires putting in effort. You have to put in the effort to study, learn, and understand the field of computer science and the application of programming processes. It's not just "I read a book on C# and now I can code!" It's not just knowing design patterns and other trivia. It's knowing why those things are there.

      I got a project management certification. I break down deliv

  • by jasnw ( 1913892 ) on Tuesday May 23, 2017 @03:01PM (#54471555)
    The “learn to code for fun and profit” narrative is designed to support the claim that all the people who are losing good jobs to automation and offshore mania only need to take a short course in programming to be making the big bucks. The truth that not everyone is suited to be a programmer, and that the “big bucks” programming jobs are becoming as endangered by offshoring as factory jobs, kills that narrative and forces those who are supposed to be running this country to come up with real solutions to the very real employment problems of large numbers of people in the Rust Belt, Coal Belt, You Name It Belt. Those solution are difficult to find, and cost money to implement, which means no tax cuts for the one percenters. Can’t have that, so everyone must become a programmer because that’s the job of the future. Rinse and repeat.
  • by netsavior ( 627338 ) on Tuesday May 23, 2017 @03:07PM (#54471603)
    Programming is fun. If it isn't fun to you, then you won't be successful as a programmer, and you will be as unhappy in your job as the average worker.

    The comparison to a neurosurgeon is hyperbole, but I would compare it more to a novelist. Writing a novel is hard, so hard that people who don't enjoy it don't do it; yet the only evident work in a novel is simply typing.

    The main difference between coders and novelists is that shitty coders can still make bank. Because of that, people who hate coding and people who are terrible at it (a venn diagram of almost entirely overlapping circles) sometimes stick with it.

    Noveling and Coding have one other awful terrible truth in common: Everybody thinks they can do it.
  • Yes, programming can is complex. Yes, programming is fun. Those are not mutually exclusive properties.
  • A developer attempting to imagine a Greater Purpose for themselves beyond the mundane and generally unimportant details of their life.

  • ... the profile of a programmer's mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks.

    Seriously, get the fuck over yourself. You're not that bloody special because you write code. Your subsequent comparisons to "brain surgery" and "structural engineering" are also entirely overblown.

    You can learn to write a useful code after a few part-time courses at a community college. Do you think you could engineer a useful bridge with a similar amount of training?

  • I fundamentally agree with the post, that programming (let's distinguish it from the truly repetitive "coding") is a technically complex task.

    Ethically, I coud argue it is not: the programmer creates a tool, and like all tools, it is up to its user whether it is used for good or evil. By the same reasoning, one could say forging a hammer is ethically complex, as one cannot know whether it will be used to hammer a nail in a scaffold holding up a wall or to bash someone's head in. I'm not advocating that a p

"Protozoa are small, and bacteria are small, but viruses are smaller than the both put together."

Working...