Why Everyone Should NOT Learn to Code

Secret Decoder RingI am sure developers everywhere have seen the recent flood of articles being put out there on sites like CNN or Code.org etc about how everyone should learn to code. The world is going to become this utopian society where everyone is going to code and write applications as easily as it is to read. Won’t it be great? You could possibly have your fridge telling you when you ran out of milk and ordering it for you without your intervention. That is until you realize you do have milk… 4 gallons of it with one actually spoiling. Of course then you find out the fridge ordered another $2,000 dollars worth of milk which is on its way if it doesn’t get lost because of other applications controlling the shipping screw up.

The fact is, the whole world should not learn to code anymore than all of us should learn to be a space shuttle engine designer or a lawyer. While I understand the need for more people to get interested in computer science and to fill our ranks with people who can meet the skills of the 21st century, going out there and telling everyone that coding is as easy as putting a bit of syntax down into an IDE and hitting compile is not the way. We need passionate people who are creative and want to learn to DESIGN software in addition to coding.

As many of you know I mentor at a board called Dream In Code. There we often run into a ton of people who are learning to code and frankly most of them should probably not be doing it. If you are learning to program and fall into one of these categories you should probably think about doing something else:

  1. Looking to make fast money for typing in what seems to be magic you don’t understand
  2. Coding because you played a computer game once and want to make the next Assassin’s Creed in a few days of work
  3. When you find yourself asking “Can you just give me the codes?”
  4. Someone asked you to do it because you are the closest thing to being a “person who knows computers”
  5. Thinks a bunch of reading is for nerds
  6. Thinks that if you read one book that is all there is to it to becoming a rock star
  7. Learning this one language is all you need to solve all your problems

I just think we need to educate everyone that software development is a lifestyle choice as much as it is a career choice. That if you are simply not going to be passionate about it, learn and grow, it isn’t the place for you. The last thing I think any of us industry programmers want is a flood of people coming in thinking they can do our job better than us, writing bad code and then forcing us into becoming maintenance programmers just to keep these companies, that believed in them, up and running. Sure we are going to make a killing off of it (if the company then doesn’t try to offshore to India first), but we should be putting our passion into new great products that have a chance to really make the world a better place.

This isn’t to say that people coming into the industry and wanting to learn are to be turned away. We should encourage those people and hope they can grow and contribute. I just don’t want to see our livelihoods altered by some movement to make coding universal. Coding is more than just typing some text into a terminal. The magic you see comes from those who are passionate about it.

Thanks for reading! 🙂

About The Author

Martyr2 is the founder of the Coders Lexicon and author of the new ebooks “The Programmers Idea Book” and “Diagnosing the Problem” . He has been a programmer for over 18 years. He works for a hot application development company in Vancouver Canada which service some of the biggest telecoms in the world. He has won numerous awards for his mentoring in software development and contributes regularly to several communities around the web. He is an expert in numerous languages including .NET, PHP, C/C++, Java and more.

  • It seems like you’re crossing learning to code with “Get Rich Quick” schemes. As far as I’m concerned, everyone should learn to code, but not everyone should code to invent the wheel. It’s nice to be able to do things without relying upon others, but it’s insane to think that you’ll be able to develop the next Minecraft in a week with Python you learned from a mediocre article.

  • kota

    Thank you! Ive been saying this for awhile now. I’m sick of people doing a few tutorials and thinking they are programmers. One thing I think you should add to your catagories of people who shouldnt become programmers list is if you arent willing to learn math. I see a lot of who cant understand algorithm analysis simply because they dont understand the math.

  • Ben

    My impression was not that this movement wants to turn 100% of the labor force into software engineers. Rather, the point is that a little coding knowledge goes a long way in nearly any job. I’m an internal consultant at a large company, and I get to see how a lot of people work. Virtually everyone I meet who doesn’t know how to code would be twice as good at their job with about a month’s training in programming. It’s ridiculous that we require, for example, trigonometry, but not programming in schools.

    • You are right about it being silly not to teach programming in school but many groups have in fact spread the message that as many as possible should learn to code to fill the gap in tech. If their message was saying to be better at what they do then I could understand.

      • Actually, I thought the message on code.org was _exactly_ for people to be better at what they do. Only some of the people would help fill the gap in employment.

        For example, will.i.am feels it is an imperative to know how to code if you want to be a citizen of this Earth.

        My feeling was that you’d be better off knowing some of Computer Science, much like learning to read or learning mathematics can assist you (although you do not become a writer or even able of appreciating literature, nor do you become a great mathematician—just learn enough math to get by).

    • Josh

      I think the benefit of learning to code well is in being able to grasp procedural epistemology (as mentioned in the preface to SICP). Being able to solve problems that solve problems in efficient ways is a skill that will pay off any time you have a problem to solve, whether it is in code or not. It will change the way you look at the world.

  • This is a really good post but I disagree just a little. We all know how to read and write but that does not make everyone here book authors. Still it’s important to learn to read and write as it became part of our everyday life.

  • So to me personally, the movement’s purpose is _not_ to make software engineers, or true coders, or even mediocre programmers, but rather to make Computer Science a top-level subject in school systems alongside Biology, Physics, Calculus, etc.

    Just because you took high school Biology or Physics did not make you into a Biologist or a Physicist. It merely introduced you to the most distilled and complete parts of those fields and had no pretense of professional training or a career choice.

    In a similar manner, people are pushing for the most distilled parts of Computer Science to enter school curricula. This would _not_ mean that after that course you are a programmer, or a computer scientist, or even proficient with computers.

    People fail at Biology or Mathematics and have different aptitudes.

    What it would mean, however, is that you are exposed to _computational thinking_ [http://www.cs.cmu.edu/~CompThink/], an understanding perhaps that somethings are computable and somethings are not, rudimentary programming skills, and a different outlook on Computers in general.

    Thus, people would no longer look at computers as purely black boxes and magical, they would understand them a bit better and have a rudimentary understanding of a field which affects almost everything in their life today.

    We feel Physics and Biology and Chemistry and Calculus are important, why not add Computer Science to the mix?

    Do not confuse professional training with simple education.

  • “Everyone should learn to code” is probably intended as “everyone should learn to think algorithmically”. There is a lot of benefit to thinking out a process explicitly and unambiguously, which is what is needed when programming. I can’t recall the number of times that converting a business process into code has forced a client to solidify exactly how they handle certain scenarios.

    • This is exactly what Computational Thinking is all about, and I think is the true core of the code.org movement.

      By learn to code I took it to mean learn a bit of CS just to get by in the world today and tomorrow; not make everyone a CS major in college.

      If the movement was for more _majors_ in CS, not just basic CS education, than I’d be against it. Not everyone should major or go into the field just because it is being hyped or pushed. Then I’d agree with this article.

    • Interesting idea to teach better thinking skills. Then perhaps we would get talented people wanting to do more tech and filling the industry. I am all for teaching those who show the passion. But this is going to be a small subset of the population.

      • I think most children hate learning reading, and math, and many other subjects when they are young.

        It is hard to say that we should only teach things to people that are (or will) be passionate about things. Perhaps it is ideal to teach to people who will be passionate or are, but it is far from practical I think.

        I think the idea is force them to learn a little Computer Science, enough to understand it isn’t magical (and to make them better at their own jobs/life as learning how to make computers _work for you_ rather than _you work for the computer_). Many might hate it, some might be OK at it, and some will turn out passionate as you say. The passionate ones are those who will definitely pursue it at the college level and beyond.

        I don’t think it is valid to say we should teach math to only those that are passionate about it. There are real-world scenarios where knowing math can help you (prevent you from being ripped off for example), and today there are rapidly emerging scenarios where knowing some Computer Science could greatly help you as well.

        The idea is to equip people with life skills, and the argument is that Computer Science is becoming a life skill that each person should at least be exposed to.

        I must say though, that I like your article for making me think about things and for generating such commentary (not really flame wars, pretty nice arguments I’m seeing all around).

        • Well thank you for contributing your comments. You echo much of the same ideas others are having and it is food for thought for me as well. 🙂

    • Developer Dude

      Sorry, but if the multiple professional developers I have worked with in the past 20 years are any example, learning to write code may or may not cause a person to think “algorithmically”.

      Most of the time when I look at code that someone else has written, I have to wonder if they can think at all, much less logically.

      Even those people who can and do write halfway decent to really good code, often only seem to be able to think logically when it comes to writing code – the rest of the time they seem to think no more rationally than any other person – which I think would be the real goal, and I have seen no little to no correlation between a person’s ability to write good code and their ability to think rationally or logically about any other issue or subject (granted, this is my own subjective opinion about anecdotal experience).

      I am will to admit that I am in error if someone can point me to an objective study of software developers v. other professions that showed that software developers can think more rationally/logically about issues/problems/topics outside of their professional domain than the persons in other professions. Until such time, I will continue to believe that writing software does little if anything in that regard.

      Not that writing code shouldn’t help, but that it doesn’t because I believe 99% of people simply choose to not think rationally or logically most of the time, especially about emotional or political issues.

      YMMV

  • Sam

    Like most things, if you want to learn and you enjoy the subject you will do well given enough time.

    I would agree that trying to get uninterested people to code would be a terrible idea but that’s true with most subjects, you nearly always need to be interested to be really good at them.

    I think schools should teach more programming, after all how can you decide you like a subject without trying it first? And it’s always useful to have an idea of what’s going on even if you don’t code, at least more so that a lot of the stuff the teach in schools.

    There may well be more bad code written by people who just want a fast buck but overall if it encourages a few more people to become interested in programming, it’s a good thing. Besides we can make those people do the maintenance instead. 😉

    • Good point about making them the maintenance coders. Lol 🙂

  • Justin Ko

    Are you kidding? Let them create all those b.s, CRUD apps. 90% of “software” is useless anyway.

  • Hassanin hit the nail on the head; everyone needs to learn to code, just a little bit. Maybe not even as much as a basic intro to CS class — you could cover the basics as a math unit in Algebra. And there are undoubtedly kids who would become interested in pursuing more coding once they were exposed to it, and that would help cover the gap.

    I agree however that the idea that everyone should become a competent developer is nuts. We should work on making the developers we have competent before we start casting a net much wider than that.

  • My high school had theater classes but no computer science classes. More of my friends from high school are actors than programmers. Of course we have innate abilities and interests, but surely prevalence of a topic in school does influence where students end up. As you note, there are plenty who try and fail, but are there not also many who could succeed if only they tried?

    • I hear you. When I was in school there were not many programming classes let alone computer classes period. We had two labs and they only taught word processing. I am all for trying and I am all for learning. The problem is that people go into it all thinking that if I make it through this class or this book that I can be a programmer. I know the code despite knowing the problem solving skills. Again syntax can be relatively easy to pick up, but frankly we are all not designers anymore than you or I are a doctor or a lawyer or a football star. Open up the classrooms to teach to all those who are willing… don’t go telling them that it is “the wave of the future and is the essential skill that everyone has to know and be good at”. 🙂

      • I’ll agree with almost everything here. The only part I have trouble with is the last half of the last sentence after the ellipsis…when my parents were graduating from highschool, the ‘wave of the future’ was accounting and by the time they finished college it wasn’t anymore and jobs were sparse. Companies fuel this because it’s a “buyer’s market”…it favors the software developer and not the company because too many people NEED developers and too few good developers are available (at least all over the U.S. that is a problem leading to job security). It’s not an essential skill for everyone to be good at, but it’s a really good tool to at least have a teeny bit of experience in. Maybe this could be offered as a 6 week course that is appended to some special required class in some special institutions to try out.

        The reason I say this is because once I got into college, there were so many times when I was required to do some kind of coding, whether we had to learn how to build graphs in excel that pulled from special tables with aggregate data function calls in chemistry, or learn some very rudimentary basics in mathematica for my calculus 2 and statistics classes or other options. Heck, i was actually required to build a basic website to represent a fake company in HS just at the start of 2000. That’s where I discovered the art of reverse engineering and breaking apart someone else’s javascript to learn something. Our company was an ice cream company, so I learned how to make cursors change into a spoon, how to make a click change it to a spoon dipped into icecream, and how to play music and other things using javascript…guess what? our webpage/site (had more than one page but would not classify it as a true website) garnered so much attention that the teacher explicitly asked for permission to use our site as examples for years to come. My team did such a wonderful job of art, text, and layout, and then add my fun risk taking addendums and we had an awesome team put together something that would affect students to come.

        At that time, he wanted us just to learn a little html so that we had more than just publisher, word, excel, and correl Draw on our list of basic skills for reporting and advertising. I think that giving everyone a chance to learn a skill that may or may not ever be used again was very rewarding.

  • Jessie

    Everyone needs to learn to code about as much as I need to learn plumbing… great comments though, and even better article. If nothing else, it gives me great relief to know I’m not the only one struggling with (and cleaning up) the ‘good intentions’ of others…

  • Nobody should learn to add or read or write. Who do they think they are, being so uppity? Do they really think they’ll become Einstein or Shakespeare? Bah.

    • He did not say “nobody”. He said “not everyone”. You’re inference is incorrect.

  • But, but but … just learning basic math does not mean you can build a rocket. Learning basic programming does not mean you can build a milk ordering system.

    I realize the distance between math and a rocket is larger then a programming and a milk ordering system, so I understand that part of your critical view. But when programming is a wider known thing, I think the judgement of how difficult it actually is becomes more clear. I doubt more people learning to program leads to worse programs in daily life.

    And on the other hand, there are many professionals that would be well served if they more about programming. Instead of abusing Excel – you would not believe the spreadsheets I have seen. Or go through a costly process of having somebody else program something that is not quite what they needed. When in the right environment, all they need is a 50 line little program.

    More exposure is a good thing and the tools and means are very affordable. And it teaches something beyond programming, about creativity and expression. I think everybody should be exposed to at least basic programming. But we should expect only few to become professionals. Just like basic arts and crafts are taught, yet few become professional carpenters or painters.

    As a side note, I think that todays tools and languages make things more difficult then they need to be. Just image I post a small 3 line list shuffle routine and you copy paste it. Does it work? Probably not. You forgot to “import” stuff. You pasted it in a place where you cannot put a function. Your language does not use lexical scoping, so some variables might leak. I used a basic array, but you use a complex container that behaves like an array…

    Programming is hard, but todays languages make it twice as hard at least. In the age of gigahertz computers and gigabytes of memory, we need languages that radically cut away any complexities at the expense of runtime performance.

  • roberto

    I don’t think that the point is to create software engineers. I think that the idea is to make programming a tool for everyone. Just like mathematics!

  • Adam

    After seeing the film from code.org, I immidiately thought it’d be nice to do one or two Python tutorials. For the sake of them, so that I develop myself a little bit.
    I’ve never had calculus in my life, so I think ‘earning lots of cash’ from programming is out of the question.

    However, I do think that world needs more people who are passionate about stuff and are great at teaching it to students.
    I have yet to meet an inspiring chemistry or computer science teacher in high school. And that really makes me sad.

    • My teachers inspired me to study chemistry, physics, and math. I have degrees in physics and electrical engineering with a minor in mathematics. Perhaps you’re looking a things the wrong way.

      • Michiel van der Blonk

        perhaps you were lucky?

        • Nope. This was the norm in the places where I went to school. And they were all outside the united states.

          • Michiel van der Blonk

            in that case, still, the argument stays the same. You were lucky…. not to be in the United States… and not to have mediocre uninspired teachers.

  • Anil

    Where should I start ? Couldnt disagree more. The concepts you get from coding have profound affect on the way you think and that affects everything from the way you act and the way you speak (http://en.wikipedia.org/wiki/Linguistic_relativity). So learning is different than making.

    • Well here is a take on that point, what makes you think that thinking like a programmer is the “better” or “correct” way to think? Half of the arguments here seem to have an underlining tone that by teaching people to code you are some how making them a better person and some how elevating them up to a higher plane of thought. I assure you, that is simply not going to be the case. Again, a large portion of the population out there do not think like programmers and that is a GOOD thing. Just like a large portion of people don’t think like a doctor. I wouldn’t want a programmer being told they can learn medicine, shown a few books and tutorials and then let loose to practice on others. 🙂

      • I agree with you 100%. I’m certain my daughter has no interest in learning to code. She told me to very adamantly when I signed her up for a codeacademy course in Python. She wants to be a writer.

        My son has an interest in learning some basic HTML. He also has no interest in coding. He wants to be a chef.

        I could certainly force them to take these courses or … I could enroll my daughter in a creative writing course and encourage her blogging. I could enroll my son in a cooking class and encourage his culinary skills at home.

      • What about BoyScouts? in there, you learn simple things like the Heimlich maneuver, how to create a tourniquet if there is a dangerous amount of blood loss, how to create a splint and things like how to determine if a plant is edible or toxic. You learn what you learn and you can apply what you can apply. While it may not be obvious for a layman to determine if someone is really a good developer or not, it’s not hard to do some research and determine if someone is worthy of your money or your charity’s time when you need a solution. So many times these people are referred, not just picked up off the street at the corner of x and y looking for work.

        Just because a physician has two MD’s doesn’t mean they are people savvy. Before I go to a Dr (other than the ER where there’s little choice), I like to do my research. I’m not going to visit a migraine specialist who has terrible reviews for just shoving epilepsy drugs or anti-depressants at their patients and sending them home nor am I going to visit a Neurologist who assumes automatically assumes you are crazy and just imagining your symptoms.

        In this day and age, it doesn’t matter the profession, the certifications, the schooling, or the number of boards the individual serves on. Sometimes you just have to do a review and some of your own personal research.

        When you start trying to determine what or how people should think without offering them the opportunities to do that themselves you start to sound like a very extreme version of Marxism along with pathological need to be a controller of others. And I’m not refuting or supporting Anil’s comment or post (because that’s a whole other can of worms), but merely replying to your retort.

  • MaG

    I do not agree with this.

    I think everybody should learn to code, in the same way everybody should learn maths, as a tool, not as a way to get rich quickly, for instance, with a basic knowledge of programming, someone can solve a greater amount of problems, problems that he or she would not have solved before. Programming opens a whole new world of answers and a whole new kind of problems; like maths.

    • True. And of the problems that this new world will open up is the idea of giving people the idea that a few code tricks and they have a right to tell trained programmers that their ideas are wrong or that they think they have enough to take on a programming job and rob someone who is fully qualified of a position. It happens now and they make a mess of systems.

      • And how often do you hear people on the web that use fear mongering to people who know less? How often do you hear a programmer tell a mathematician that they are are wrong? This happens in all professions, and the real stickler is that being “challenged” is not wrong at all. Sure you may not get a contract because someone else that is less qualified gets it because they bid lower. So what? the earth continues to rotate and the developer that was passed up will either find more work, find a different profession, or give up at the contracting gig and get a job that is more ‘safe’ and offers a guaranteed pay-out every week/bi-week.

        Did you know that the landline phone companies out here in our city were pretty much shut down by one company and because of the lack of competition, it was able to raise prices to something so crazy that the gov’t had to step in and take ownership. Why? Because so many people had 1 option and that 1 option was too expensive. I realize that not all countries buy into Capitalism, but gosh darnit, it is an amazing thing once it gets going and when things get out of control, some entity steps in (whether gov’t or not) and shakes the foundation to its core and requires competition or shutdown of the market.

    • tlhIntoq

      I’m going to guess that you are too young to remember film cameras… Or when graphic artists had to use line tape, and actual paints and other media to make art. It used to be that a professional photographer had to understand photographic concepts such as choosing the right film speed for the lighting, fStop and so on. Today anyone with a digital camera and photoshop hangs out their sign as a “Wedding Photographer”. And as a result the quality of work as a whole in the industry had dropped. The same is happening now in software development. We’re not talking about how not teaching someone to code will stop them from being the next Steve Jobs, and people saying that not teaching kids to draw will stop them from being a famous artist. Because the majority of any field are just average at their work. The problem becomes when the average, the baseline, keeps dropping. Every store I go to anymore you seem to see it… The insurance agent apologizing because their program is slow or they have to go through 12 screens to get you a receipt. The hair stylist can’t figure out how to book your appointment on their system. Teaching the hairstylist to code won’t help her understand computers better so she can use the program. But it will make 100 times as many *whackers* out there that make a crappy project and sell it to someone to use. I don’t want these people that have no passion or true skill for the art to be making the next software for medical imaging that will tell my doctor if I have a lump or not. I don’t want some kid that thinks making a game is the same as playing a game, to be the guy making software keeping my credit card details secure.

  • Adey

    Everybody should learn to code. It gives you a great understanding of technology. It also helps with logic and problem solving skills. I learned Basic and C by the time I was 15yo. At 42 I haven’t programmed for over 20 years, doesn’t mean that knowing how to programs is extremely useful.

    Its like saying you shouldn’t learn to draw just because you’ll never be a famous artists. The whole article is just rubbish, start to finish.

    • To build on your analogy, we will teach everyone to draw. Then we will pull someone randomly and ask them to draw up the plans of your new house. For the next 30 years you will have to live in, and pay for, that house they draw up. I am sure you would say that not everyone is going to become an architect and that you would obviously interview people to find out who is best. Ahhh but the problem here is that when you had a choice of 10 fully qualified now you have 1,000 which have enough to be dangerous. If you teach everyone drawing, a portion of them are going to try to make it a career, a portion of them are going to tell everyone that they can be an architect, a portion of them are going to do it as a favor to a friend. Whatever reason the world will be littered with buildings that are breaking down because everyone thought they could draw. 🙂

      • Michiel van der Blonk

        haha exactly. Which is why we have building codes, standards and regulations, and certifications for architects. I can have an 8 year old draw a house, but if I plan on constructing it the government will stop me because I am endangering lives. The same goes for programming. Remember the Toyota sudden acceleration problem? Those were software bugs, and the software had over 80.000 violations of the embedded code regulations. And yet some official said: this car is safe, because I see they used crash testing, blabla….

  • Per

    I just think the overall idea with the code.org video is to make more young people consider computer science because it has this negative reputation that it is only for super nerds. so it’s just marketing, it’s not like everyone is going to be a programmer

  • Warren

    Learning to code doesn’t necessarily mean you’ll try to write software for others to use any more than taking a high school first aid class means you’ll start practicing medicine. That said, it is a lot easier to post code and publish applications than it is to start practicing medicine.

    I wrote this in 2004, but it is just as relevant in 2013:

    http://csdl.computer.org/comp/mags/so/2004/04/s4005.pdf

    • That my friend is a nice piece of work you wrote then. It really does cut to the core of what I was trying to communicate. It is a bit scary too since much of what you have in that article has indeed come to pass and many of these end user programmers with enough knowledge to be dangerous are making it into the work force. I have seen it multiple times first hand. Thanks for the comment! It was enlightening.

  • I agree to this a hundred percent. I myself am a programmer and I don’t feel good enough. I feel there are a whole lot more to learn and a it would take a whole lot more than a crash course to become a programmer and write code all over the place. “You can’t teach someone logic, you either have it or you don’t.” my professor once told us.

    I hate that these muggles look at coding as a trendy thing – it is not. We do not sit on our cubicles and type like those geeks in the movies, we read specs, study business logic, and create solutions,in the cleanest , most logical , and most optimized ways.

    Media really has to stop making it seem so trandy and easy – lives and money are at stake here. Funny how I am skeptical to buy that Android Development registration when there are a lot of wannabes running around with their heads cut off. *sigh*

  • DG

    While I understand where your point of view comes from, I can’t agree with this article at all.

    Take a previous comment’s example of drawing and becoming an architect. When an amateur artist/drafter designs a building, there will be obvious discrepancies between their quality of work compared to a professional architect. This discrepancy is what you’re afraid of; however, the discrepancy itself is what will prevent this amateur from getting any work and landing any contracts. A professional architect should not be afraid of an amateur. If any trained architect is afraid of some self-taught nobody, then they probably weren’t a good architect to begin with.

    Same goes for coding. If you know all the best practices with coding and have skills that weekend coders don’t have, then why do you feel so threatened? This is like LeBron James being afraid that all these middle schoolers are playing basketball. If you’re good at what you do, people will notice and they will hire you.

    Coding is no different than any other profession. People attempt med school all the time with high expectations. Many fail. It’s the same for coding; people will fail and get weeded out. If you have talent, why are you so afraid of people you’ve labeled incompetent. I suppose we should just tell everyone not to do anything challenging because they will fail. Imagine where the world would be.

    • Irné Barnard

      Unfortunately programming doesn’t seem to work that way. We already have way too many “professionals” who get by because the bosses don’t understand anything themselves, so can’t see the bad from the good.

      In architecture it’s usually a lot easier to find out if someone’s actually got much willingness to become better. Same old building again and again quickly shows up those which just go through the motions. Failure in coding is circumventable (unlike things such as med-school), it is possible to make programs which appear to be quite good by simply parroting algorithms without actual understanding – I’ve seen too many copy-paste programmers out there to even consider otherwise. In programming there are already so many bad programmers as to prove that most companies are run by bosses not even understanding why they are “bad”.

      • This same thing, though, can happen in any field…historians, mathematicians, scientists, etc…

        If it’s a problem of the boss not understanding, perhaps that’s the sign that there should be a manager that does understand and/or a lead that has some sway when hiring. Everything isn’t black and white, and just because a bad thing can happen doesn’t mean that we should let fear mongering prevent us from taking steps and risks.

        I’ve worked at places where it’s possible to get by with less than average code and where there was little to encourage growth as an individual, so i’m not saying that these places don’t exist. However, this fear or whatever you call it that the article is based on won’t fix that or prevent it from happening.

        All to often people get jobs they don’t deserve OR appreciate. Our field is no exception nor the only victim.

  • Michael26

    How do you determine who is bad and who is good developer?

    • Well there are many things that go into evaluating but the top ones include…

      1) The quality of code they write
      2) The approach they take to problems
      3) How they work with others

      For the current topic here, I mainly worry about the quality of code they put out. Those not properly trained or enthusiastic enough to learn the correct way of writing code tend to produce and implement code in production systems that leave gaping security holes, bugs galore and create systems that constantly crash because care wasn’t taken in proper testing.

    • tlhIntoq

      How do you determine that of anyone, of any skill? How do you decide who is a good artist? You look at their work. How do you decide if someone is a bad barista at Starbucks? If they are totally clueless and have no talent for the job. A bad carpenter?… Bad work, horrible craftsmanship… obvious lack of skill and passion for the job.

  • KamronBennett

    Exactly!!! Code this, Code that and learn to code and even the former mayor of New York plans to learn to code, it bites!!!

  • I’m not a coder, I’m a network engineer. The infra mgmt apps I use the most are created by only a handful of skillful programmers. The crap apps always end up coming from some new vendor, who just hired a bunch of kids that think “everyone should program”. The result: half-assed code that crashes our systems, which sends me to yet another vendor. Rinse and repeat. It didn’t used to be so difficult in the past, because only ppl that knew what they were doing were coding.

    And that is certainly not an insult to the shitty programmers out there (*cough* offshore in India **cough**). Perhaps these shitty programmers would be excellent doctors, teachers, or something else that’s just as respectable.

  • By the way, I have comments all throughout the comment branches that follow. And by no means do I attack (or try not to at least) you as an individual so much as attack the some of your arguments throughout the branches that follow because topics like this are meant to cause people to think and challenge, not demean and flame.

    Hopefully my comments don’t come across as harsh, but rather as loud opinions based on my subjective experiences coming from all aspects of my life and those near me as well as what made me who I am (and got me to where I am) today.

    Kudos for challenging and more for keeping up with comments made by others.

  • Kirk Oakes

    As a graphic designer and small business owner. I have to agree with some of the comments above. I have many people in my path of doing business that has been educated that I should charge lower prices for my services from those that have no clue, other than…If I buy this at wholesale and do something to it and mark it up a couple dollars then I make a profit….let me start doing business, cause I am going to get rich fast!! to make a quick profit.

    However when the people that do not appreciate the steps; in my case 16 steps, time, resources, skill and all costs it takes by not doing the job itself and realizing the reality behind pricing then they think what they were taught by the cracker jack, fly by night money makers is a legit resource of how they should be charged. That hurts us more than everyone at least learning what it takes so they can understand for themselves that the prices are the way it is due to what it takes to produce the outcome and cost of living here in the states. On the flip side. If a business owner is too dumb to hire any Joe or Jane Blow that says they can without starting them from the ground up, education or no education. And that said hire is a bumbling idiot then the company should be destined to fail and not bailed out by the government.

    Life unfortunately is always going to be a double edge sword. I myself like to learn everything I can so I can see if I am getting what I pay for all the way around. This makes us safer from being used by those that are good at blowing smoke up the arse of another to make a quick buck. I will never do many things just because I hate doing them. I do however lean about them to a point so I can value the cost of having others do the job for me. So to be worried that others lean to code a tad is not actually a positive look toward it. You should embrace that so others will be more willing to see the same value in it as you do.

    Sorry in advance if some of my statements are not worded clear enough. I was being bombed with tons of questions at work while trying to post this.

  • This is why software lags behind hardware, lol. The correct way guys *snort*