Slashdot Mirror


The Site That Teaches You To Code Well Enough To Get a Job

HughPickens.com writes Wanna be a programmer? Klint Finley reports that software developer Katrina Owen has created a site called Exercism.io where students can learn to craft code that's both clear and efficient and get a lot of feedback on what they're doing right and what they're doing wrong. Exercism is updated every day with programming exercises in a variety of different languages. First, you download these exercises using a special software client, and once you've completed one, you upload it back to the site, where other coders from around the world will give you feedback. Then you can take what you've learned and try the exercise again. The idea was to have students not only complete the exercises, but get feedback. Exercism.io now has over 6,000 users who have submitted code or comments, and hundreds of volunteers submit new exercises or translate existing ones into new programming languages. But even Owen admits that the site is a bit lacking in the usability department. "It's hard to tell what it is just by looking at it," she says. "It's remarkable to me that people have figured out how to use it."

131 comments

  1. Project Euler by Anonymous Coward · · Score: 1

    I found the feedback you get from simply reading other people's solution to the Project Euler exercises was invaluable

    1. Re: Project Euler by loufoque · · Score: 1

      Project Euler is more about algorithms than software engineering.

    2. Re: Project Euler by Anonymous Coward · · Score: 0

      I disagree. The excercism.io site won't teach anyone "Software Engineering" as far as I'm concerned, unless the exercise/feedback cycle morph into something like very small contracting jobs and at the same time take the time to teach some theory, it will be about programming in the small (not that I have actually looked at the site), just like Project Euler.

      I can't remember a single algorithm I learned through Project Euler, but I still remember learning several useful ways to manipulate data, in a cleaner and more precise way.

      You might call that "algorithms" but I call it programming in the small, and being good at that is very very fubda. Do a bad job in the small and your application will be bad regardless of how good the design is.

  2. PHP would be nice... by brokenin2 · · Score: 0

    If ever a language needed some help getting people to write *good* code instead of just being able to write code, PHP is it..

    1. Re: PHP would be nice... by Anonymous Coward · · Score: 0

      You just made me feel so much less alone in this world. And for that, I would like to repay you by hosting a bonfire where we can burn printed pages of OSCommerce and other horrendous dumps of "code"

    2. Re:PHP would be nice... by Anonymous Coward · · Score: 0

      That doesn't mean that it is unusable. I feel that both PHP and VB has a nice place when you need to write once, use for a day and throw away.
      Throwing shit together in those languages is much more efficient than writing it in cleaner languages but the result tend to be something that you don't want to maintain.

    3. Re:PHP would be nice... by __aaclcg7560 · · Score: 3, Informative

      If you have the discipline to write good code, you can write good code in PHP.

    4. Re:PHP would be nice... by hugortega · · Score: 1

      True. Also for any other language. Many people have the (wrong) idea that a good hammer makes a good carpenter.

    5. Re: PHP would be nice... by johnamadsen · · Score: 1

      Exactly. No one ever want to keep a program for more than a day. He'll, after a couple hours, I just delete my c++ code and start over. Keeps it up to date and very fresh. But no worries, scripts do not a program make.

    6. Re:PHP would be nice... by SuricouRaven · · Score: 1

      Yes, but that's true of Brainfuck too.

    7. Re:PHP would be nice... by shutdown+-p+now · · Score: 1

      . I feel that both PHP and VB has a nice place when you need to write once, use for a day and throw away.

      That's what Perl and shell scripts are for.

    8. Re:PHP would be nice... by Anonymous Coward · · Score: 0

      Actually, no, it isn't.

    9. Re:PHP would be nice... by Anonymous Coward · · Score: 0

      Many people have the (wrong) idea that a good hammer makes a good carpenter.

      PHP is a good "hammer". It just depends on how you hold it.

    10. Re:PHP would be nice... by Bengie · · Score: 1

      Many parts of PHP are ambiguous or even better is when they take standard stuff that works the same way in all other languages, then change how it works, creating confusion.

    11. Re:PHP would be nice... by HornWumpus · · Score: 1

      You can write Fortran code in any language. It is possible, albeit difficult to write good Fortran code. Therefor it is possible to write good PHP.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    12. Re: PHP would be nice... by Anonymous Coward · · Score: 0

      You're not trying hard enough

  3. Yep, ready for a job in coding by xxxJonBoyxxx · · Score: 4, Funny

    >> the site is a bit lacking in the usability department

    Yep, that'll get 'em ready for a job in coding. You really don't need any of that new-fangled usability crap to win customers or support people anyway - if it was hard to write, it oughta be hard to use.

    1. Re:Yep, ready for a job in coding by amicusNYCL · · Score: 4, Insightful

      I like this quote:

      "It's remarkable to me that people have figured out how to use it."

      That is a truly self-aware software developer saying that. Sometimes I feel the same way, I'll design something that will work really well, but once I put it in front of people I realize it doesn't make a lot of sense. But still, there are people who can dive in and pick it up from the start. It's remarkable to me as well when people can figure out how to use my software.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    2. Re:Yep, ready for a job in coding by Anonymous Coward · · Score: 1

      I don't understand how this site is supposed to be lacking in usability. It's supposed to be for programmers, not random Facebook users. It has "Getting started" and "Help" links on top of the page, and the command line client is self-explaining. The only thing I don't like is that you need to be on Github to participate. Is it so hard to write a signup form?

    3. Re:Yep, ready for a job in coding by aztracker1 · · Score: 0

      They don't even ask for any special access to your profile. Also, if you are writing any kind of script or software today and don't have a github account, you're probably not paying attention. I know in some circles it's a little less important, but github is pretty much the common denominator for development today.

      It's no less likely for their target audience to have a github account than say twitter, facebook or google plus.

      --
      Michael J. Ryan - tracker1.info
  4. How is that supposed to work? by 0xdeadbeef · · Score: 3, Interesting

    Who is giving away their time to code review the work of thousands of neophyte programmers?

    Sounds to me more like the blind leading the blind.

    1. Re:How is that supposed to work? by meta-monkey · · Score: 1

      And to be honest, why do we want to? Software development is one of the few professions left that actually pays well. Yes, yes, let's teach everyone to do it and flood the market with cheap programmers.

      --
      We don't have a state-run media we have a media-run state.
    2. Re:How is that supposed to work? by theshowmecanuck · · Score: 1

      Here's great conspiracy theory: someone has figured out how to get free programmers. They post requirements/"exercises" and then give bug reports in the form of 'feedback'. In return they get code that is probably as good as any other offshore programmer. [puts tin foil hat back on]... never bothered to read the article btw

      --
      -- I ignore anonymous replies to my comments and postings.
    3. Re:How is that supposed to work? by scourfish · · Score: 2

      That's the dark nature of capitalism. If your job becomes redundant, you have to evolve or find another line of work.

    4. Re:How is that supposed to work? by oodaloop · · Score: 3, Insightful

      If all that's keeping your salary high is that people haven't gotten minimal training off a website, maybe your salary is too high.

      --
      Tic-Tac-Toe, Global Thermonuclear War, and relationships all have the same winning move.
    5. Re:How is that supposed to work? by Bander · · Score: 1

      When a web site can teach the hacker nature, then I'll start worrying.

    6. Re:How is that supposed to work? by Anonymous Coward · · Score: 1

      That's Duolingo's business model for its language education software. The lessons are free to the student. After they achieve a certain level of competency, the "lessons" are actually documents that are being translated for a fee.

    7. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      NSA-funded, teaches coders to insert backdoors naturally

    8. Re:How is that supposed to work? by gstoddart · · Score: 4, Insightful

      LOL ... the hacker nature which can be taught is not the true hacker nature.

      --
      Lost at C:>. Found at C.
    9. Re:How is that supposed to work? by amicusNYCL · · Score: 5, Insightful

      Who is giving away their time to code review the work of thousands of neophyte programmers?

      Probably exactly the same kind of people who answer questions on Stack Overflow or any of the other multitude of programming fora. Believe it or not, but some people like to help just because they enjoy it. I do it because answering random questions can be a nice break in the middle of work and it keeps me thinking about programming (especially problems that I wouldn't encounter in my normal work flow). It helps keep me sharp instead of only ever thinking about what I'm working on.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    10. Re:How is that supposed to work? by Archangel+Michael · · Score: 4, Insightful

      The hacker nature starts when a kid is six years old and takes apart a bicycle (or whatever). This is where the dad takes the kid and makes him put it back together. And then takes the bike apart, and does it again, only this time, letting the kid "modify" the bike. Hacker Nature is often drilled out (WTF are you doing, hope your happy, have fun not riding your bike because I am not helping you fix it) of kids by parents who are too busy to encourage it. I've seen plenty of parents ruin their kids with attitudes of "no".

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    11. Re:How is that supposed to work? by vux984 · · Score: 1

      Trouble with stackoverflow is that there are TONS of really shitty answers on the site, even with hundres of upvotes or whatever.

      For example, when working with C string handling functions, the n and l versions, the fact that Microsoft has its own safe versions, compiler warnings when using unsafe versions, and writing portable code... when that collides the stackoverflow advice is a huge mash of good and truly awful "solutions".

    12. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      The problem with self-learning and most academic programs for coding is that in school you build a student attendance system, it tracks student attendance and you're done. In the real world, this system integrates into 10 others at least 5 different ways (web service, db, pub/sub, etc...) and it reports to the government, the CEO, & sends emails when somebody farts. All this is justified by the business in some way shape or form and when the confusion settles it leads to automation for the business.

    13. Re:How is that supposed to work? by meta-monkey · · Score: 4, Insightful

      My salary probably is too high. But don't tell my boss.

      It's really easy to say "Oh, that'll never be a threat to me, because I'm so skilled!" Do I think some website is going to turn out good coders? No, but I think that combined with the other 1500 "teach kids to code" initiatives it'll produce enough "good enough" to be death by 1,000 cuts.

      My wife is a photographer. A really good one...degree in photojournalism, been all over the world with the Army covering stories for them, then got into weddings and portraits, has a studio, is a PPA Master Photographer and Photographic Craftsman. Digital came out and it looked "easy" and every 23 year old girl with a camera and a dream suddenly wanted to "follow her passion" and be a photographer. And entire industry sprang up to take these girls' money and teach them photography, but mainly sell them cameras and photoshop actions and cute camera bags etc etc. Well all the old school photographers looked at this and laughed. "The work they do is terrible! The people teaching them are terrible!" Very true. It's like 98% garbage from any kind of a technical standpoint. But there's a ton of them. And they're cheap. And it's "good enough." And the photo industry has been just destroyed (I mean the part that sells pictures to clients. The part that sells shit to photographers is doing great). There used to be 10 full-time studios in my town. Now there's 2 full-timers left and 30 part-timers. The average quality of work has gone way down. But it's cheap, there's lots of it, and it's good enough. And the death of photojournalism has been covered many times on Slashdot, with what magazines are left using cellphone pictures because they're "good enough."

      Companies still outsource work to India and we know what the quality of code that comes out of there is like. But they do it because it's cheap. Now imagine they can get cheap, "good enough" code without having to deal with the language, culture and timezone problems?

      --
      We don't have a state-run media we have a media-run state.
    14. Re:How is that supposed to work? by Obfuscant · · Score: 1

      And it's "good enough." And the photo industry has been just destroyed (I mean the part that sells pictures to clients.

      The same problem exists in any market where the professionals need to convince the clients that perfection is the minimum acceptable product in order for the professionals to stay in business. Professional engineers have some claim that "good enough" may actually wind up costing lives, but nobody I know of has ever died from a "good enough" photograph.

    15. Re:How is that supposed to work? by afgun · · Score: 2

      "Good enough" is the current megatrend. Look at everything: cheap throwaway widgets (cheaper to replace than repair) rather than ones that will last for 20+ years. Things that work rather than work well. Multi-function devices (look at your phone) that do a bunch of things OK rather than one thing GREAT. As a society we want it cheap and we want it now. Most people these days aren't willing to pay for quality. They're barely willing to pay. Thank you wal-mart.

    16. Re:How is that supposed to work? by meta-monkey · · Score: 4, Interesting

      Also, people are grasping at straws. People want to get into coding because they heard it's good money, and nobody else is hiring. They don't necessarily want to be a developer or have a real interest in computing...they're just hungry and looking for a paycheck.

      It's the gold rush. And you know who made money in the gold rush? Dudes selling the picks and axes. You want to make money in this bold new era where everybody codes? Make shit like "a website that teaches you to code well enough to get a job." That's where the money is. Devs are just going to find themselves in a race to bottom, just like every other profession. It's foolish to think this is the one career that's immune.

      --
      We don't have a state-run media we have a media-run state.
    17. Re:How is that supposed to work? by scuzzlebutt · · Score: 1

      I wish I had mod points. Spot on.

      --
      In C++, your friends can see your privates.
    18. Re:How is that supposed to work? by meta-monkey · · Score: 1

      I don't know of anybody who's ever died from a kludged together web app, either. If you need a PE, sure, get a PE. That's similar to what's happened in photography. There are still some highly paid specialists, but the generalists are fighting over scraps. Most coders aren't doing mission-critical work.

      Just saying it's ridiculous to think software development will be immune from the race to the bottom that practically every other profession is facing.

      --
      We don't have a state-run media we have a media-run state.
    19. Re:How is that supposed to work? by SuricouRaven · · Score: 2

      Which can mean wasting decades of training and experience.

    20. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      ...Sounds to me more like the blind leading the blind.

      Or like the user forums that cheap companies put up, rather that lay out money for proper customer support. I have never, ever, gotten any help from those useless forums. The posts are just full of noobs guessing.

    21. Re:How is that supposed to work? by aztracker1 · · Score: 1

      If I were a company, and there were a matching stack exchange site, I'd simply have a few paid employees answering questions there...

      --
      Michael J. Ryan - tracker1.info
    22. Re:How is that supposed to work? by shutdown+-p+now · · Score: 1

      You've got midi-chlorians shooting out of your nose, young padawan. Don't burst.

    23. Re:How is that supposed to work? by thesandtiger · · Score: 2

      Because there's no value in overengineering things that are easy to replace and where the consequences of failure are trivial. Further, most people only need the features of their phones to be "OK" rather than "GREAT" and would rather carry one device rather than 10.

      For some things - such as clothing or furniture, or items where there have literally been no earth shattering developments in the last 100 years (like, I dunno, silverware), it's okay to overengineer because doing so is actually efficient. I have a coat and a pair of boots that have lasted me 20+ years, some silverware that's maybe 200 years old, and the average of most of the "important" furniture in my home is over 75 years.

      But my phone? I'm not a professional photographer. I'm not even an amateur photographer. I just want pictures I took of people and things and events I found worth photographing that are "good enough." I'm not doing professional video editing, so I just want a video cam that's good enough I can take footage of my dogs doing goofy stuff that I can send to my family. If I'm in a place where I'm watching movies or TV on my phone, it means I'm traveling and therefore unlikely to give much of a shit if the screen doesn't have perfect color fidelity or whatever because, well, there's a bunch of shit going on around me anyway. Ditto for music - why would I aim for some kind of audiophile's wet dream when likely the only time I'll be using my phone for music is when I'm out and about in situations where music quality isn't terribly relevant? Etc. and so on.

      It's not that we don't value quality - I think we DO value quality very, very much - it's just that we can recognize that it's kind of stupid to waste time and money and effort on overengineering things that will be hopelessly outclassed in a few scant years.

      Buy quality where it matters, buy cheap and replaceable where it doesn't.

      --
      Since I can't tell them apart, I treat all ACs as the same person.
    24. Re:How is that supposed to work? by sdguero · · Score: 1

      Pro-Am photography hsa turned into some kind of weird piramid scheme in our circles of friends. It seems like we can't go to a party anymore without some woman in her late 20s (90% of the time it IS a younger woman) trying to sell us photo sessions for $50. Extra weird when they show up taking photos, then facebook friend you and try to sell you prints of the watermarked photos they posted to FB.

    25. Re:How is that supposed to work? by __aaclcg7560 · · Score: 1

      I was playing around with vacuum tubes as a six-year-old, pulling them out of old car radios in the garage and the TV in the living room. Scared the crap out of my mother whenever she saw me poking around the back of the TV.

    26. Re:How is that supposed to work? by meta-monkey · · Score: 4, Interesting

      You are exactly right.

      Starting about 10 years ago. There's a guy named Dane Sanders, who is a miserably bad "photographer," and he wrote a book called "Fast Track Photographer," which is basically a manual on how to be a con artist in photography. Dress well, act confident, "live your brand" all that bullshit. And then he dazzles them with the idea that they can charge $10,000 for a wedding and get flown off to exotic locations to shoot fabulous destination weddings. It's complete crap. There are a few extremely talented (or extremely well-marketed) people who can do that, but for the vast bulk of these girls living in Buttfuck, Alabama, that ain't happening.

      He teams up with a guy named David Jay who makes slideshow software and websites for photographers, and they create this girl named Jasmine Star. Pretty (by some standards), exuberant, blogs prolifically about her *AMAZING* photographer lifestyle. They each post all over the internet about how AMAZING the other two are, creating a cyclone of bullshit. You too can have this *AMAZING* lifestyle...if you buy David's software, and come to Jasmine's workshop, and buy Dane's book...

      This whole spiel is then copied by dozens of other hucksters who want in on the action, too.

      Combine this with the for-profit trade organization, WPPI, publisher of Rangefinder magazine, who wants lots of people to attend their conventions, and the camera and equipment makers themselves, and it's just a feeding frenzy. How many dumb young girls can we sell on the idea that, without any real talent or experience, they can live this amazing lifestyle that, ya know, speaks to their soul and their passion. Every girl you can sell this to, you suck her into the industry and she's going to spend $30k on gear and seminars and shit in her first two years in business.

      Then of course they never actually make any money, and get bitter and disillusioned. They either quit and go back to working at Denny's, or they realize the con and start their own series of workshops where, for the low-low price of $899 for a two-day course they can teach YOU how to live the awesome rockstar photographer lifestyle! In this world there is no place for the actual masters of the craft who try to tell people the truth, that it takes years of training and experience to make good images and that succeeding in this business is HARD. Nobody wants to buy that. They wanna be fabulous and get rich quick.

      So, yeah that's pretty much the entire industry now. It's a pyramid scheme with the camera makers at the top, then the trade organizations and labs/album makers, then the workshop speakers, and then as many dumb young girls as they can suck up at the bottom.

      The same thing is going to happen with programming. We're already seeing the advent of "rockstar programmers" who have blogs and webisodes about language features and concepts, code academy, this website here. The gold rush will be in training new coders who are super-stoked to score those $100,000/year jobs without having to get a degree or any real certification (not that I'm saying a good coder needs those things, I'm just saying the fact you don't need one is a nice selling point to people who want to get rich quick). Of course these people will mostly flood the app store with a bunch of shitty apps, but the better ones will take the low-hanging fruit jobs, flood the industry and drive down wages. In the end, the winners will be bosses who get cheap, good enough code and the people running the "how to code" websites. The losers will be...everybody who wants to make a living writing software.

      --
      We don't have a state-run media we have a media-run state.
    27. Re: How is that supposed to work? by Anonymous Coward · · Score: 0

      Too late. I want to see you in my office first thing tomorrow!

    28. Re:How is that supposed to work? by Anonymous Coward · · Score: 1

      We're already seeing the advent of "rockstar programmers" who have blogs and webisodes about language features and concepts, code academy, this website here.

      I know of a couple of supergeek authors that appear as "top language experts" (and they are -they really know their stuff). They can deconstruct a language down to assembly and CPU leads. They can tell you how to optimize your code, use the language most effectively, etc.

      They are keynote speakers at developer conferences, have high-hit blogs and are quoted everywhere.

      However, you will not find one line of recent production code from them. They are too busy maintaining a social media presence and doing their homework.

      Schlubs like me, that write production code, find barely enough time to write two-paragraph blog entries from time to time.

      Good breakdown of the photo industry. You're right, but the same thing is happening to a lot of other industries, as well.

    29. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      "There is hardly anything in the world that someone cannot make a little worse and sell a little cheaper, and the people who consider price alone are that person's lawful prey. It's unwise to pay too much, but it's worse to pay too little. When you pay too much, you lose a little money – that is all. When you pay too little, you sometimes lose everything, because the thing you bought was incapable of doing the thing it was bought to do. The common law of business balance prohibits paying a little and getting a lot – it can't be done. If you deal with the lowest bidder, it is well to add something for the risk you run, and if you do that you will have enough to pay for something better." John Ruskin (dubious).

    30. Re:How is that supposed to work? by gmrath · · Score: 1

      Around the second or third time I took apart my dad's wind-up alarm clock (at age 6 or so, the putting back together was well above any competence level I had). After buying a new clock to replace the last clock found in pieces, my dad introduced me to model making kits. Sometimes we'd work together, sometimes not. I do remember it being fun and focused my attention for hours, even if the results were gluey messes with the odd missing part. Model making saved any number of clocks and other household appliances. And peace in the family.

      A neighbor down the street, a retired gentleman and a true master model builder, helped me learn patience and technique (where's the glue oozing out? where's the seams? you paint the thing and put it on a display stand?). Too bad that the last real hobby shop in my neck of the woods (south suburbs of Chicago) went out of business about fifteen years ago. No doubt stuff can be found online, but that's not nearly as fun as wandering through a hobby shop. Now that I have the time it would be fun to put together a model again.

      I was lucky enough during a nearly forty-year career in industry to be able to work with tools and instruments; even though I held a variety of increasingly higher technical management positions the bosses let me work with my hands; so did the Union guys. And to think it started with one pissed off dad holding a shoe box of alarm clock parts.

    31. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      You've just described every industry trend, ever. But, you really crossed into showing your true colors:

      > these girls living in Buttfuck, Alabama
      > Pretty (by some standards),
      > without any real talent or experience
      > dumb young girls
      > go back to working at Denny's

      Wow, you're a hurt little person, aren't you?

    32. Re:How is that supposed to work? by Slashdot+Parent · · Score: 1

      Yes, yes, let's teach everyone to do it and flood the market with cheap programmers.

      That sounds to me like job security for the competent!

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    33. Re:How is that supposed to work? by Slashdot+Parent · · Score: 1

      I don't know of anybody who's ever died from a kludged together web app, either.

      Me either, but my current client suffered a security breach of a kludged together web app. Between isolating the system, investigation, remediation, compensation of affected customers, etc., this breach cost them a lot of money.

      So while nobody dies of poor web app design, businesses incur real cost. When you cheap out on development, you pay for it later on down the line.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    34. Re:How is that supposed to work? by david_thornley · · Score: 1

      What do you mean, "current megatrend" and "these days"? That particular attitude has been around for a long time. There were cheap throwaway widgets when I was young (and Japan had a reputation for doing those and nothing of quality).

      There's a good deal of justification for it, also. If high quality is expensive, it may not be worth it. If it takes longer, it may not be worth it. If it offers the user no great benefit, it may not be worth it.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    35. Re:How is that supposed to work? by ToddInSF · · Score: 1

      I think most people noted that you Misquoted entirely out of context.

      No wonder you're AC !

    36. Re:How is that supposed to work? by Bengie · · Score: 1

      In programming, "good enough" is a death sentence to any project that will expand in the future or creates negative value. The way I see it is programming has compounded layering issues. If you define 80% to be "good enough", that's fine. But you put one layer of 80% on top of another layer of 80% and now you got 64% and your product is crap. It doesn't take too many layers of "good enough" to have everything go down in flames.

    37. Re:How is that supposed to work? by HornWumpus · · Score: 1

      Photography has been oversupplied with photographers for decades. Sense 35mm became popular in any case.

      Your wife had luck in addition to talent to make a living at it in the first place. Which then becomes self perpetuating as she can afford the lights that separate pros from amateurs.

      All the 'professional photographers' I've known (I'm old) got to the point where they got sick of taking kids school portraits and got a real job.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    38. Re:How is that supposed to work? by meta-monkey · · Score: 1

      I won't disagree with you, but holy shit did digital (plus the multilevel marketing profiteers) blow it up. Back in the early 2000's WPPI attendance (biggest trade show) was like 3000 people. A few years back it topped 16,000. And it wasn't because a greater percentage of photographers started going. And during this time the market for photography certainly hasn't had a 400% increase. Especially with the recession it's gone way down.

      My wife still makes a good living, but she's an outlier. She's one of the best there is. But it's nothing like it was before the multilevel marketing people took over. When there was only a glut of photographers instead of an ocean. A lot of people who were good but not great had to get real jobs. They didn't necessarily quit, though. They still have their gear, and they still have their websites up. If somebody wants to pay them, they'll go out and shoot on a Saturday. But now instead of a full-time gig shooting 35 weddings a year for good money they're shooting 10 for significantly less.

      I think a similar thing will happen to software development. Right now it's a good gig. One of the last steady jobs that pays a middle class wage.

      Well, the powers that be don't like that. Zuck and Bezos et. al. are sick of paying appropriate wages to the people who make them billions. So first they colluded with Jobs in their wage suppression, no poaching racket. Not satisfied, they're doing everything they can to import H1Bs to work for cheap. When that's still not enough, they're funding the whole Code Academy/Code.org stuff to flood the field with as many as they can.

      And there's an awful lot of hungry college grads who are looking at those high salaries and steady jobs and thinking, "Ya know, I bet I could learn that..." These are people who never would have gone into software on their own, but they can't get a job in business management or advertising or whatever they actually went to school for. And now they're being told they can learn online for free, no degree required, and get a good job? Fuck yeah. And it's easy for programmers to scoff and say "not everyone can code! You have to be special like me!" but I bet an awful lot of them can code well enough. Certainly well enough to take the mid and low level jobs, starving out the lesser talent and driving up competition for the choice jobs. The result is the same thing as photography: a vast sea of cheap, mediocre talent and the low end and fierce competition at the high end, with depressed wages for all.

      --
      We don't have a state-run media we have a media-run state.
    39. Re:How is that supposed to work? by HornWumpus · · Score: 1

      I'm trying to get one to part with his old 4x3.

      The problem with photography is the low cost of entry and the large number of kids who dream of being Annie Libowitz. Not really a problem with computer programming. Costs a lot of time before you get anything like a result and there are few if any 'celebrity' programmers. Photographer is in the spectrum with 'rock star' and 'actor', computer programmer is not.

      A college grad who is only then considering learning how to program is done. 10 years too late to ever be any good. I can spot the potential future programmers among middle schoolers, just by watching them work (or not) logic puzzles like Rubik's cubes.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    40. Re:How is that supposed to work? by metaforest · · Score: 1

      My father and I had a rough time with my budding 'hacker nature' as you describe it. I was always tearing stuff apart to see what was inside. It pissed him off that in the process of exploring I would break stuff.

      In some areas, electronics, chemistry, he had some input. But he had no idea how to encourage me, or help me. He was trying to teach me Maxwell when I couldn't even get long division to cross check reliably. I felt like an idiot because I couldn't understand what he was trying to teach me. I was willful hot head and he was a hot head.

      Our 'bicycle incident' ended in a huge blowup when I was 13 that deeply scarred our relationship until I was in my late 20's. He flat out refused to help me rebuild my bike. I had no access to his experience, or to the correct tools. When my 20" sears special finally started falling apart after 6 years of hard use and abuse it was 'tough shit.' Then one night he did something really stupid he berated me about it. He told me I had allowed my bike to fall apart.

      I reminded him that he never even gave any suggestions for how I should go about maintaining it, even when I asked for help. I reminded him that I was not born knowing how to repair stuff, nor did I know where to find good materiel on it. The books in the library focused on 'real bikes' (10-speeds and early BMX stuff) I had figured out the basics.. oiling bearings, replacing tubes and tires. But what do I do about cracked forks, a stripped gooseneck, or broken coaster-brake retaining strap? How do I re-true a rim? He knew! Where's the guidance.... Dad?

      His response to that: A serious beat down.

      I gave up on bikes. I still don't like messing with them even though I like riding a lot.

      I also stumbled onto a mentor. Alton was a machinist who lived near by. That man could build almost anything out of metal, and repair everything else. He had the tools, patience and enough free time to teach me a lot... mostly by dragooning me into being an apprentice.

      From Alton I learned the Art of Hacking.

      Eventually my Dad got over whatever it was that set our relationship on a dark path, and I forgave him. By then, though, he wasn't really a guiding influence. If anything he helps me refine my teaching skills, because he wants to understand how wear-leveling on an SD card works... He knowns each cell in a FLASH array can be written to a few thousand times before they fail, and he knows better than I do WHY they fail. He wants to know how long to expect an SD card to last before he should replace it.

      So.. take the time to teach your sons and daughters what you DO know... Try not to avoid the subjects just because you are tight on time, and their sudden interest in something catches you off guard. Don't expect them to get it the way you did. Don't expect that you are a good teacher of the subject, just because you are good at it.

    41. Re:How is that supposed to work? by Anonymous Coward · · Score: 0

      Jasmine? Is that you?

    42. Re:How is that supposed to work? by Archangel+Michael · · Score: 1

      I would add ... "Be a mentor to a kid that has crappy parents".

      I have kids that have no interest in IT. They want to play dress up (COSPLAY) and write stories. And short of the couple of times I got dressed up for Rocky Horror Picture Show, I have no experience in COSPLAY.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  5. Another one? by Charliemopps · · Score: 1

    Another one? Isn't this like the 158th "Site that will teach you to code good enough to get a job?"

  6. Couldn't Get A Job After Getting A.S. Degree by __aaclcg7560 · · Score: 1

    I couldn't get a programming job after I graduated with an A.S. degree in computer programming in 2007. It didn't help that I was a help desk technician while going to school. Most recruiters won't consider you for anything else than the last position you held. Once a help desk technician, always a help desk technician.

    1. Re:Couldn't Get A Job After Getting A.S. Degree by mythosaz · · Score: 1

      As a resume reader, I'll be honest. I'm not sure what I like less, an empty resume or a resume that says you worked at the help desk.

      If you have an education and what was a bill-paying job in college (that happened to be tangential to your programming career), your resume had better be filled with descriptions of the programs you wrote, or the roles you played on development teams -- even if those programs were just written by your study group in college.

      If you're having trouble with recruiters, focus heavily on the languages you've worked in and the types of contributions you've made programming in those languages.

      Gotta put something other than "Attended college 2010-2014" :/

    2. Re:Couldn't Get A Job After Getting A.S. Degree by __aaclcg7560 · · Score: 1

      If you're having trouble with recruiters, focus heavily on the languages you've worked in and the types of contributions you've made programming in those languages.

      My community college only taught Java because it couldn't afford the Microsoft site license for Visual Studio C++. Needless to say, the job market then didn't need another fresh out of college Java programmer. My most notable programming achievement was writing an XML parser from scratch.

      Gotta put something other than "Attended college 2010-2014" :/

      I went back to school on a part-time basis from 2002 to 2007 while working 80 hours a week as lead video game tester for three years and working 40 hours a week as help desk technician for the remaining two years. I also made the president's list for maintaining a 4.0 GPA in my major.

    3. Re:Couldn't Get A Job After Getting A.S. Degree by RavenLrD20k · · Score: 2

      I've done my stint as a "Staffing Coordinator" for a temp agency, and I learned the most about how to apply for jobs at that position. What mythosaz said is absolutely correct. For the longest time I was doing it wrong. Worked in a Toy Store and as a data entry clerk for a medical office while I was going for my computer science degree before I transitioned over to a Networking Specialist degree and got a job in a computer shop. I made the mistake of focusing mostly on my employment in my resume and not enough on what I actually knew.

      This is the mistake most people make. So many applications came across my desk where the resume had the same employment history information as the application, with possibly a couple more bullet points for additional irrelevant details, and that was it. When you fill out your application for what you hope will be your career, you need to bring three things:

      • 1) A cover letter custom written for the company and position you're applying for that, if possible, is addressed to a specific person such as a department director, manager, or someone else specific to the position you're trying for. NOT THE HIRING MANAGER or anyone else in HR, unless you're going for an HR position! Yes this person may never get it or read it until the interview, but this shows that you've done your research into the company and know who you will ultimately be answering to.
      • 2) Your resume focusing primarily and specifically on your skills of what you know how to work with; let your application handle your work history and general duties. Again, tailor this to the position you're applying for. If you know your way around a Mainframe and the job you're applying for is a Mainframe Programmer, you better make sure that EVERYTHING you know about Mainframe work is in that resume.
      • 3) A list of contact information for all people that have agreed to be your reference. If you've done independent computer work, make sure the clients who have sung your praises to your face are on this list. Also, if anyone provided you with letters of reference or recommendation, you will want to turn that in as part of your application bundle.

      Finally, when you do get called for an interview or interview series make sure you have several copies of each item above with you that you can hand out to everyone who will be conducting the interview. My last interview series I went through, I kept 10 copies of each. I wound up with one to spare after everything was done.

      Try these techniques and at the very least you should get more interest and call backs. If you go into the interview with everything prepared and in order with confidence in your posture and tone, not only will you be getting the interest, but it will also help improve your standing in the salary negotiations.

    4. Re:Couldn't Get A Job After Getting A.S. Degree by mythosaz · · Score: 1

      Your academic record is admirable, but frankly the reason you're having trouble is exactly as you describe.

      You're a fresh out of college Java programmer. You're a dime a dozen, and that's if you can find the guy giving out the dimes :(

      Keep knocking on doors and keep building your skills and resume. Get involved in community projects. Volunteer your time. Offer to teach kids. Get a business license, make an app (any app!), publish it to Play or iTunes; enjoy your got a job as owner and the line it adds to your resume, and bring your app to your interview.

    5. Re:Couldn't Get A Job After Getting A.S. Degree by SuricouRaven · · Score: 1

      The annoying part for me is that I work as a helpdesk technician, but I find the job so unchallenging that I got bored one day and reverse-engineered the helpdesk database so I could write a bunch of perl and SQL that extracts statistics and draws pretty graphs for the boss.

      Today I extended it to also report when two open tickets are referring to the same asset and flag up a potential duplicate task.

      I'm not going anywhere though. I get on well with the team, and it's easily accessible by bus. A change of workplace would just be too risky. I'm unambitious. It would be nice though if I actually got paid enough to life off of, rather than having to sponge off family because pay (rent+bills) at the cheapest flat in the area.

    6. Re:Couldn't Get A Job After Getting A.S. Degree by __aaclcg7560 · · Score: 1

      The recent Dilbert comic strip summed up the hiring process quite nicely.

  7. What they are doing right and doing wrong by Gestahl · · Score: 1

    Here's where the rubber meets the road. Beyond the code not working at all, or having redundant/unnecessary code, exactly what should they expect as feedback? Yes, there are a few algorithm patterns and idiomatic usages that are standard for every language, but there's always More Than One Way To Do It, and how consistent and high-quality is the feedback going to be? It seems to me this could easily fall into a trap of the barely-sighted leading the blind when you have non-experts assuming the mantle of an authority. There's plenty of bad and/or inconsistent advice out there about programming style. To take a simple example... what feedback would you get about usage of the ternary operator? Many would consider that bad style, period.

  8. state of our industry by globaljustin · · Score: 1

    TFA is interesting, but more than that, this whole exercise will help us understand the problems of our industry:

    from TFA:

    First, you download these exercises using a special software client, and once you’ve completed one, you upload it back to the site, where other coders from around the world will give you feedback. Then you can take what you’ve learned and try the exercise again.

    Then later:

    "It's hard to tell what it is just by looking at it," she says. "It's remarkable to me that people have figured out how to use it."

    now...those two statements do not compute...

    how could something be so helpful for new programmers, yet the creators themselves marvel at how newbies are able to navigate around their totally abstract UI?

    here's the problem: misconceptions about ***how people learn to actually code***...not learning "about" code...like how it works...no...I'm talking knowing how to make a functional program in real-world situation (not for hobby) to solve a need of users

    TFA repeats common misconceptions...here are a few, from TFA:

    1. Wanna be a programmer? That shouldn’t be too hard. You can sign-up for an iterative online tutorial at a site like Codecademy or Treehouse. You can check yourself into a “coding bootcamp” for a face-to-face crash course in the ways of programming.

    2. But if want to be a serious programmer, that’s another matter. You’ll need hundreds of hours of practice.....You can’t really learn to craft code that’s both clear and efficient without some serious trial and error, not to mention an awful lot of feedback on what you’re doing right and what you’re doing wrong.

    Maybe in a sense these statements are true in that they accurately reflect the *what people would say* if you asked many in the industry...and indeed these conditions may reflect many people's experience of learning to code, however,

    *IT DOESN'T HAVE TO BE THIS WAY*

    learning to code doesn't have to be any more or less difficult than learning **any** complex task

    Here's the real problem: CODING IS TOO LUCRATIVE AND NEW

    Real coding, coding that makes programs that people pay to use, is maybe one of the world's most specialized, complex and, importantly, *new* skills.

    That's why *coding education* is so awful and amateurish...***WE CAN'T KEEP REAL CODERS IN EDUCATION LONG ENOUGH***

    That's it...that's your answer to "why?"....Real coding education must be formulated by people who are *both* professional educators *and* possess the coding skills necessary...for any new enterprise this is how you write a training curriculum

    --
    Thank you Dave Raggett
    1. Re:state of our industry by Anonymous Coward · · Score: 1

      learning to code doesn't have to be any more or less difficult than learning **any** complex task

      Agreed.

      I'm a skilled programmer and there is no complex task that scares me! I'm taking training in brain surgery next weekend and also ordering the Dreamliner's Operating Manual for the weekend after, as I'm planning job change this October. Just not sure whether I want to become a brain surgeon or a pilot, but who cares. I can deal with any complex task.

  9. special software client by frovingslosh · · Score: 2

    using a special software client

    Doesn't anyone else find this suspicious? Why in the world do I need to install a special client just to download an assignment? Why would anyone who knows anything about computers agree to this? How long before we start reading the stories about what this special client was doing behind users backs, that supposedly no one suspected?

    --
    I'm an American. I love this country and the freedoms that we used to have.
    1. Re:special software client by frovingslosh · · Score: 0

      OK, your hiding your ID and posting as an AC, so I hate to even respond to you. But someone might just accept what you say. I don't. It has been seen that it is notoriously difficult to download source and compile it and produce a binary that is a perfect match to the posted binary. Until I know that this is being done by trusted sources (not ACs), then I'm not going to trust that the source code is a true match to the special download client that is being provided. And if I can download the source code without using the special client (and there would be no point in even checking it if I had to use the special client to download it), then that pretty much makes my point that I shouldn't need a special client to download the assignments.

      --
      I'm an American. I love this country and the freedoms that we used to have.
    2. Re:special software client by dasacc22 · · Score: 1

      Notoriously difficult? Hardly. If you have a Go environment setup for development, you can simply `go get github.com/exercism/cli` and you have the source and a compiled binary in `$GOPATH/bin` named `cli`. Rename `cli` to `exercism`. Review the code.

      I agree, it's a big WTF compared to just walking through something like project euler, but reviewing the source and compiling yourself is not difficult.

    3. Re:special software client by Obfuscant · · Score: 1

      Notoriously difficult?

      Yes. The binary produced by a compiler and linker depends on the version of the compiler and linker and libraries, the flags and options used, the locations of libraries, the link order, and a myriad other things.

      I've even found it notoriously difficult to get some open source projects to compile AT ALL because of differences between compiler versions. I'm always amazed when it happens, and there is no question that the binaries that are produced are different.

      Rename `cli` to `exercism`. Review the code.

      The question is not whether you can "review the code", it is whether the code you can review is the same code that went into the published executable. Since it is notoriously difficult to get identical binary output from compiling identical input (unless you force everyone to use one specific environment/OS/version) it is notoriously difficult to verify the source for any downloaded executable.

    4. Re:special software client by Anonymous Coward · · Score: 0

      The Ken Thompson Hack.

      http://c2.com/cgi/wiki?TheKenThompsonHack

    5. Re:special software client by ziggystarsky · · Score: 1

      In particular when other sides manage to do everything within the browser. A good example is hackerrank.com. There, you can edit your code for a multitude of languages (Bash, Brainfuck, Haskell, Scala, Ocaml, Octave, R, ... just to name a few) within the browser. When you hit submit the code is compiled and run on the server.

      I don't want to use a stinky client, just because these people can't code their website properly.

    6. Re:special software client by dasacc22 · · Score: 1

      Ok, great, you're talking about ALL binary distributed software. You're original comment was ambiguous enough to imply the source for the CLI was somehow overly complicated to access and compile. Instead, you could just go around copying and pasting your comment anytime anyone releases a native executable making your point rather ... what's the word? ... bleh

    7. Re:special software client by Obfuscant · · Score: 1

      Ok, great, you're talking about ALL binary distributed software.

      I was talking about the claim that it is notoriously difficult to get the same code to compile to the identical binary on two different systems, or even one system that has had any kind of upgrade to it. You said it wasn't. I disagreed.

      You're original comment was ambiguous enough to imply the source for the CLI was somehow overly complicated to access and compile.

      Huh? My're [sic] original comment refuted your claim that making identical binaries was not notoriously difficult. Not even the OP said it was hard to compile, he said that it was difficult to get an identical binary to verify that the distributed executable was produced from the proffered source code.

      Instead, you could just go around copying and pasting your comment anytime anyone releases a native executable making your point rather ... what's the word?

      My point has nothing to do with the release of executable binary, it was specific to your claim that it isn't difficult to produce the identical binary for comparison from the alleged source for that program. The word you are looking for is "right", or "correct", or perhaps "insightful". Or maybe just "knows how hard it is better than you do because I've tried it".

    8. Re:special software client by dasacc22 · · Score: 1

      I hadn't noticed you weren't the OP I responded to. Nothing I said suggested downloading and compiling source would produce truly identical binaries. At best, what I wrote could be interpreted as a big *whoosh* at not realizing the OP I responded to devolved the conversation to such a generic issue in computing that it felt out-of-context to the OP that started this entire thread.

      There's nothing "insightful" about raising this issue anymore than if I pointed out the fallacy in trusting verified sources.

    9. Re:special software client by Obfuscant · · Score: 1

      I hadn't noticed you weren't the OP I responded to. Nothing I said suggested downloading and compiling source would produce truly identical binaries.

      When the OP said it was notoriously difficult to generate identical binaries to a downloadable executable by compiling the source you told him he was wrong. All you have to do is use a specific environment, you said.

      Well, that sounds like you claimed you could get the identical binaries, so yes, something you said did suggest that.

      There's nothing "insightful" about raising this issue

      Yes, if there are people like you who proclaim that it isn't hard to generate identical binaries to compare to downloadable ones, then it is insightful at least to point out the absurdity of that claim. At best you can download the source, review that, and then compile and run the executable from that. But to begin to think that you can take the provided executable and source and validate one against the other is just foolish and dangerous.

    10. Re:special software client by dasacc22 · · Score: 1

      look fucktard, I said you could download the source and compile the source. I said nothing more. Just because you caught on to the context of the OP I replied to doesn't mean I did as well. Jump out of your imagination and actually read what was written. I have, and have corrected myself.

      You want to rail me for something, it'd be missing the context switch as I was considering the OP that started this thread causing a misreading of the OP in question. You'd actually have a valid point.

      Unlike you I'm sure, I was actually looking at the source at the time and noted there were a number of extra testing dependencies that required a bit more leg work to install for development purposes and brashly thought the OP in question mistook this as necessary to produce a binary.

      Instead of seeing what I wrote and how I've clarified what I meant and intended, you continue propping me up as some evangelist that's proclaiming something I never said, but you only inferred due to a context I responded to incorrectly. Take your inferences and fuck off.

      The OP of the OP in question said you could download the source, who da thunk it? I can't for the life of me imagine why someone would infer that means you can verify the binary. It means you can download the source, review it, compile it, run it, and not a damn thing more.

      And a project that provides prebuilt binaries? who do thunk it?

      But please, do cherry pick my words and continue your bullshit and sick fantasy so you can declare yourself a winner today of the internetz of things.

    11. Re:special software client by frovingslosh · · Score: 1

      I wasn't saying that, because it is so hard to build your own exact copy of the binary that releasing the code is pointless, which was apparently stated here. I was saying that in this particular case where there is no good reason at all for the user to need a special downloading client then releasing the code that supposedly is the special downloading client is not enough to make me trust it. I see no reason for a special downloading client just to get the assignments, so I'm not going to go through the pointless effort to examine code that might or might not be the source code for the special magical downloading client.

      --
      I'm an American. I love this country and the freedoms that we used to have.
  10. special software client by Anonymous Coward · · Score: 1

    using a special software client

    Doesn't anyone else find this suspicious? Why in the world do I need to install a special client just to download an assignment? Why would anyone who knows anything about computers agree to this? How long before we start reading the stories about what this special client was doing behind users backs, that supposedly no one suspected?

    no one suspected?the code is available to downoad.

  11. Re: Couldn't Get A Job After Getting A.S. Degreete by jdigriz · · Score: 2

    Recruiters are idiots. You're going to have to do some coding for free to prove your mettle. Open source projects are always looking for coders if you can't think of anything that you'd like to write. Something like http://code.google.com/p/kerne...

  12. Re: *blood boiling* by Anonymous Coward · · Score: 1

    Comments about indignantly ddoss-ing a site because of your personal preferences proves nothing but that you should be a windows user.

  13. guided list of exercises is useful by Anonymous Coward · · Score: 1

    when i first learned to code on my own one of the hardest things was 'where do i start' and then 'what the hell do i do next'. What do i try to code? Series of exercises that lead people along is very useful and will save alot of time. If they can at a minimum make things less greek to get you past the base entry level it makes it alot easier to google and figure out what to do next.

    when i need to learn something new, the initial phase is a pain because 'where do i start' and 'what is important'? even with 15 years experience grabbing a book and going involves alot of skimming through unimportant bloat. Reading is a piece of learning to code, but hands on exercises are the most important way to do things.

    3 things that I find very important when learning new technical skills and when i first learn.
    1. repetition is critical. Do it once, ok sort of get it, but confused. do it again 2 weeks later when I forgot what the hell i was doing and get pissed cause I have to solve things again makes it stick in my head more. Then do it a 3rd and if i can go through quicker, I know i made progress. In the meantime i move on to other stuff. Find it important to let some time go by before repeating so i have time to forget stuff and then when i do again it stays in my head better and i understand it better. Plus i learned more stuff so the material is less dense.

    2. never feel comfortable: if something is easy im not learning. the next project should always make me feel uncomfortable. I have to learn new things. new syntax. what i did before didnt work. dont understand it. If I am cruising, its too easy. Good for working cause you gotta produce, but for learning you want that 'this is uncomfortable and annoying feeling' this tells me Im challenging myself. If Im challenging myself I learn more in less time even though its really annoying.

    3. non-creative projects: this one is counter-intuitive. Before lebron james was in the NBA he spent countless hours working on fundamentals such as footwork and dribbling. This is boring, but its critical. If you start by looking for some cool creative thing, you waaste time on the creativity. Before you get to this phase its best to get the mechanics down. So if you do generic things that force you to learn mechanics first its more efficient. Its not as cool to do this, but I find it alot more efficient in my learning speed. My goal is to get to the point where I am 'cruising or closer to cruising, but less anoying i dont get this crap issues', and then I can move into cool things that are more interesting to do', My motivation is to do that cool stuff, but to get there faster, I do not the generic stuff first.

  14. Coding isn't the problem... by ndykman · · Score: 3, Insightful

    Sure, it looks like it, and there are plenty of people with jobs out there that can lash something together. I worked with somebody at a startup would was struggling to get a web page working. After a few minutes, I realized the problem. She had no idea that you could loop through an array backwards.

    We don't need more "coders". We need more software engineers and computer scientists.

    Actually, maybe not. Maybe we need a workforce that is organized and that would stand against employers who insist on completely devaluing our field in a search for easy money, tossing aside qualified people in search for exploitable labor. That's the problem. I think we should be defending our industry and those that have the proper skills to do it well. Just because the latest, most visible trend is to hack together a mobile application or web site for a quick buck doesn't change the need for fundamentals.

    Things like data structures, algorithms, discrete mathematics, computer architecture, etc. do matter. Not having a basic understanding of computers and computation leads to an astonishing amount of bugs, security holes and wasted effort. Some people have just accepted this as the cost of business. I say it's past time that we really stood up and say, no, things should be better. But since we can't collectively bargain, we are stuck.

    I know, who cares, the money is awesome. It'll be like that forever, right? What does it matter that nobody can count on having a career after ten years because they are seen as too old with an outdated skill set.

    This isn't about school, although I think a proper CS education is still the best way to learn this stuff. But you can get it with diligent self study and experience as well. In the end, real programmers have the conceptual understanding to adapt and excel in the long term. That's what we need more of. Real careers, not just jobs.

  15. you said "in a weekend" not me by globaljustin · · Score: 1

    next weekend and also ordering the Dreamliner's Operating Manual for the weekend after

    who said "in a weekend"???

    I didn't...YOU did...you made that comparison, not me

    Nowhere did I insinuate that learning to really code can be done in a week...it just doesn't have to be a soul-crushing Sysiphian Crucible of constant trial and error....

    I said it doesn't have to be frustrating and stupid...not that anyone can do it in a weekend

    Learning a complex task like brain surgery is obviously more than a weekend, but it's orders of magnitude more time depending on where you start...if you're already an accomplished Ear, Nose and Throat surgeon then you can learn to operate on the brain faster than if you just have a high school diploma

    --
    Thank you Dave Raggett
  16. Face Palm by lsllll · · Score: 3, Informative

    Looking at their example conversation, I had no choice but to face palm. Having never looked at Ruby code before, I was able to deduce perfectly well what the first iteration was doing. Do we really need to expand a function that can accomplish its task in one line into a function that may be a little more readable?

    I wonder how today's programmers would make do with resources that were available in the early days of computing, or even when the IBM PC came out. Having to deal with small amounts of RAM caused programmers to be extremely creative in their programming. Granted that we do not have to go to such extremes today to write programs, reading about such practices is still very inspiring.

    --
    Is that a roll of dimes in your pocket or are you happy to see me?
    1. Re:Face Palm by Anonymous Coward · · Score: 0

      And this:

      This is very succinct.

      I would take that as a compliment, but what she means is "it should be more verbose".
      I think it's not succinct enough. You don't need all these parentheses, that's what precedence rules are for. I would change it to
      class Year
          def self.leap?(year)
              !(year % 400) || !(year % 4) && year % 100
          end
      end

    2. Re:Face Palm by Anonymous Coward · · Score: 0

      Also, a class named Year should represent a year, and leap? should be an instance method of it instead of a class method that takes a parameter. But that's a design problem with the exercise, not the solution.

    3. Re:Face Palm by Zapotek · · Score: 1

      I'm working with Ruby code all day, and you were quite right to facepalm. That wasn't some convoluted one-liner, it was perfectly readable and didn't allocate space for an unnecessary lambda as the final "clean" iteration does. Anything more complicated than that and breaking it into pieces wouldn't hurt, the one-liner cleverness gets old ready fast if abused.
      Ironically enough, the clever code of old that had to be creative to deal with low specs is one of the cleanest, clearest, most elegant code I've seen. I used to review ancient Linux, FreeBSD and Xenix source to pass the time on slow days at the office and it was beautiful. On the other hand, I guess it kind of had to be, because debugging anything complex back then would have probably been hell (I'm assuming, I'm not old enough to know).

    4. Re:Face Palm by metaforest · · Score: 1

      ^^ THIS

    5. Re:Face Palm by Anonymous Coward · · Score: 0

      I find iteration 2 the nicest. He should drop the comments though -- they're completely unnecessary.

      The first iteration makes me niggly about operator precedence. Does || have a low enough precedence? Why not use the low-precedence and and or? I can't quite be certain that it functions correctly without testing it myself.

      /me does Perl and Ruby and C.

  17. coding is easy, implementing seems mysterious by k6mfw · · Score: 1

    OK, I admit I'm not much of a coder. But there are times when someone says, "oh, all that is needed is a script to do this and that, etc." Looks simple enough, maybe I will see about writing some basic (no, not BASIC) code. Not that it is perfect but enough to git er dun. I find lots of websites on how easy it is to do various code languages with "hello world" examples. But the $500,000 question(s) I have is where do I write the code? Purchase an editor or use a simple editor (i.e. Notepad). Then when that is done, what next? There is a compiler but I find nothing about these (I heard there are so many variations, not possible to list). OK, maybe the info is out there and maybe it is simple to find, but I find is a lot shlock of copy/paste of same bankrupt discussions that originated in Usenet.

    --
    mfwright@batnet.com
    1. Re:coding is easy, implementing seems mysterious by Anonymous Coward · · Score: 2, Informative

      You're not a coder at all. And there's nothing wrong with that, you just need to start at the absolute beginning. Start by learning some algorithms in pseudocode (Quicksort, trees, linked lists, graphs, etc.) so that you become familiar with the programming mindset (logic and visualization).

      Then pick a language that you can starting implementing them in (Python, done). All you'll need is Linux distro like Ubuntu and Ctrl-Alt-T to get a bash shell and vim. Or a Mac since it's BSD-based. No Windows.

      Once you've broken through the mental wall you're currently stuck behind, then start reading more detailed articles around that single language. In parallel, read and practice the bash command line and develop an understanding of the underlying OS.

      Don't get overwhelmed by the huge number of frameworks, libraries and languages out there, getting your arms around them comes with time. The point is that everything blossoms from building up from a solid base, and if you're truly motivated to stick with it.

      But most important of all...don't just read. You must type, run and debug constantly. There are way too many hipsters that call themselves programmers because they read some Ruby articles on the interwebs. Don't be one of them.

      Best of luck.

    2. Re:coding is easy, implementing seems mysterious by k6mfw · · Score: 1

      All you'll need is Linux distro like Ubuntu and Ctrl-Alt-T to get a bash shell and vim. Or a Mac since it's BSD-based. No Windows.

      Linux, that seems to be almost a must if want to be a coder. I have a mac. Now this bash shell and vim I guess I need to learn about these before coding. That's what I was talking about, other "stuff" to deal with in addition to learning code.

      --
      mfwright@batnet.com
    3. Re:coding is easy, implementing seems mysterious by Anonymous Coward · · Score: 0

      Learn the terminal in parallel with the algorithms/language you want to develop in (my previous post). You don't need Ubuntu then, your Mac is a perfectly capable unix-like machine. Start by googling for beginner articles on the bash shell, find the terminal on the mac and get the basics under your belt. Then some more basic articles on algorithms and python. Again, the goal is to get your brain accustomed to the mindset which is the foundation and build from there.

      There is no easy road here, that's why I made the hipster comment. If you have the will and perseverance then you can make it through and has the potential to be a lot of fun. The test is whether every baby step you take makes you feel good/proud. If not and it feels like just a hassle, then hang it up which is perfectly ok too. This stuff isn't for everyone.

      Best of luck.

    4. Re:coding is easy, implementing seems mysterious by Slashdot+Parent · · Score: 1

      I've coded in notepad before, in a pinch. Don't knock it 'till you've tried it!

      Regarding where to enter the code, that will depend a bit on the programming language that you're using. For instance, if you're writing in Java, Eclipse or Netbeans would be a good choice. For ruby or python, emacs is nice. Any decent introductory book on the language that you're using should point you in the right direction.

      Good luck!

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    5. Re:coding is easy, implementing seems mysterious by k6mfw · · Score: 1

      Start by googling for beginner articles on the bash shell, find the terminal on the mac and get the basics under your belt.

      I always thought there was something else besides just code, like also learning terminal (and to learn whats this "bin/bash" stuff).

      There is no easy road here, that's why I made the hipster comment.

      Thanks for being honest, I hate it when everyone says it is easy. hey, even landing a F18 on a carrier is easy. Just line up on the glide slope, drop the gear and hook, and land. (not). Oh gawd, hipsters... one project this person who put together a project and it was real whizbang, etc. But updates and other specifics was kind of mysterious. He'd "disappear" then come back with the solution but when I ask certain questions, I get a run-around. Then this project got all screwed up, this person no longer with it, and then we found out the coding was done by someone in Russia (we never knew who it was or a contact) but lots of code with all kinds of scripting. This was pre-Putin days, I cannot imagine if such a thing were to happen now. Aaggg.

      --
      mfwright@batnet.com
  18. Yep, ready for a job in coding by Anonymous Coward · · Score: 2, Interesting

    I can't see a button to reply to the article as AC so I'll just reply here.

    "Yep, ready for a job in coding"
    - It would be more convincing (for a job, atleast if I was hiring) if the exercises were along the lines where you'd really need one of deques, ring buffers, sliding windows, tries, classification/sorting/statistics on streaming data. Because atleast personally I find those really important/widely useful yet rather tricky to get right. So for my own projects I'm shamelessly borrowing known working code. But if I was hiring I'd be more impressed if the candidate atleast had some experience using these.

  19. Re: Couldn't Get A Job After Getting A.S. Degreete by __aaclcg7560 · · Score: 1

    I'm currently converting an old WordPress blog into a static website, using Python to extract content from the MySQL database into array structures and files, using PIP as the MVC framework on a PHP LAMP stack, and following standard OOP practices, documentation and unit testing.

  20. Exactly! by Anonymous Coward · · Score: 0

    Stopped reading at "special software client" and never plan to visit the site. Even if there's nothing underhanded going on, requiring a software client for a web site in this day and age is beyond lame and demonstrates such a profound lack of clue that it makes one assume there's nothing of value on the site (finding out whether there is or not, is an exercise left to those with more curiousity and time to waste than I).

  21. Re:*blood boiling* by Anonymous Coward · · Score: 0

    What about the blind guy I studied with? I'm fairly sure he couldn't just "pick up a book." He had a computer with text-to-speech when such a thing was incredibly rare.

    Almost amusingly, I have a far worse (and more insidious) disability than him, but the support organisations gave me written notes while they gave him text-to-speech (much more approach for me as well, as opposed to written notes).

    This means I'll never get a full time job. I mean any job. Nobody hires those with disabilities, these days.

  22. ZERO feedback by Anonymous Coward · · Score: 2, Insightful

    I'm an experienced programmer (for almost 30 years). I first read about the site about four months ago. I like Ruby a lot, but haven't used it as much as I'd like, so I thought that exercism.io would be a fun place to get some feedback. I submitted my first program that very first day. Today, four months later, my submission has two views and zero comments. Wow, that's going to help a lot. I guess there has to be some minimal mass of developers to actually look at the code and make comments. But for now, the site is far, FAR, from being anything close to helpful to teach you to code.

  23. Re:*blood boiling* by narcc · · Score: 2

    Really, learning to code real things well takes a gift and at the very least several years of experience.

    Go ahead and say whatever you need to believe to maintain your ego. You're only deluding yourself.

    Here in reality, it's nothing special.

  24. Re: Couldn't Get A Job After Getting A.S. Degreete by ultranova · · Score: 1

    I'm currently converting an old WordPress blog into a static website, using Python to extract content from the MySQL database into array structures and files, using PIP as the MVC framework on a PHP LAMP stack, and following standard OOP practices, documentation and unit testing.

    Or you could just use "wget -m" or something similar.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  25. Re: Couldn't Get A Job After Getting A.S. Degreete by narcc · · Score: 1

    You sound like the guy who wrote FizzBuzz Enterprise Edition

  26. Re:*blood boiling* by Anonymous Coward · · Score: 0

    Funny, in my reality even experienced coders are fairly unaware of what counts as good, maintainable code. Obviously maintenance isn't a concern in some software so this may not apply to you.

  27. Re: Couldn't Get A Job After Getting A.S. Degreete by __aaclcg7560 · · Score: 1

    Or you could just use "wget -m" or something similar.

    To do what exactly? BTW, '-m' doesn't appear to be valid wget command switch.

  28. photographers can't suffer enough by Anonymous Coward · · Score: 0

    How DARE they claim copyright on a photo of ME that was paid for by ME!!! How DARE they put a watermark/logo thing on MY photo!!! How DARE they not provide raw format files, or negatives for the older technology!!!

    I lump photographers in with con artists and patent trolls. They are worse than the RIAA and MPAA.

    As for the "quality" of their work, oh please. My mom blinked for a wedding photo, so they painted on some eyes. You get stupid very forced poses, misrepresentation via Photoshop, and a huge distraction from whatever event might be getting photographed.

    1. Re:photographers can't suffer enough by meta-monkey · · Score: 1

      Did a photographer kill your dad or something?

      As for the "quality" of their work, oh please. My mom blinked for a wedding photo, so they painted on some eyes. You get stupid very forced poses, misrepresentation via Photoshop, and a huge distraction from whatever event might be getting photographed.

      Yeah, your mom got jacked by one of the cheap, shitty photographers the dumbing-down of the industry has churned out. No decent photographer would do that. Thanks for proving my point.

      How DARE they claim copyright on a photo of ME

      They claim copyright on a photo of you because...they made the photo. That's how copyright works. If I write a song about you, do you own the song? No. You're just the subject. The creator owns the copyright. And that's as it should be, because the creator did all the hard work. The creator learned the technical and artistic aspects of photography, bought all the expensive gear, showed up, chose the lighting and posing and camera settings and all that jazz to create the photo. You just stood there and did what you were told to do. And from your attitude you were probably being a bitch about it, too. Why the fuck should you own it when you didn't do the work?

      that was paid for by ME!!! How DARE they put a watermark/logo thing on MY photo!!! How DARE they not provide raw format files, or negatives for the older technology!!!

      What'd the contract say? I bet the contract said exactly what they would and would not deliver. If you didn't like those terms, you shouldn't have hired that photographer. You can find plenty of shitty photographers who will give you the moon for a song. They're shitty, but they'll do it. The reason good photographers don't provide the RAW files is because then amateurs will take the file, muck it up and still present it as work done by the photographer. Besides, 99% of clients don't want RAW files, they want JPEGs and prints or albums. So the photographer weighs the chance of losing a client for not providing RAW files (unlikely) against the damage to reputation of having shitty work attributed to them floating around (likely) and decides not to provide RAW files.

      You're all butt-hurt, but you could have had anything you wanted and you chose wrong. Your fault. Photography is a completely free market, libertarian wank job of an industry. There are no rules. There is no degree required, no state license, no test, nothing. There are no standards. So absolutely everything you want exists. There are photographers who charge $10k for a wedding, photographers who will do it for free and everything in between. Hell, once I saw a girl who would pay YOU to let her shoot your wedding. She'd give you $250 and then hope to make the money back on prints and albums. Crazy. But it's out there. Same thing with copyrights and files. There are some who won't give you a single file. Every print must come from them. There are some who will shoot, hand over a disk of RAWs and leave. You can find all of these things, and it's up to you to find a photographer who will do what you want for a price you want to pay. But don't get pissy because you didn't buy the RAW files and now the photographer won't give them to you. It's like you're going to McDonald's and you're furious they won't sell you a taco. If you wanted tacos, go to fucking taco bell, but don't get mad at the entire restaurant industry because you went to the wrong store.

      --
      We don't have a state-run media we have a media-run state.
  29. I thought by CBravo · · Score: 1

    I thought that all you need is BOFH.

    --
    nosig today
  30. Software is not Photography by Slashdot+Parent · · Score: 2

    Maybe this will change in the future, but for now, low-quality software is generally not "good enough". If your website is vulnerable to SQL-injection, you're going to find out, and the results will be catastrophic. If your UI looks like it was designed by a chimpanzee on LSD, it is not going to pass muster. And if your developer doesn't understand complexity theory very well, the software will quickly become unusable from a performance standpoint.

    Photography is fundamentally different, due to digital photography, but not in the way that you mentioned. Let's rate photos on a scale from 1-10, and let's assume that the photos taken by an experienced professional like your wife are going to average a 9. Let's further assume that the photos taken by our chimpanzee on LSD are going to average about a 4. In the days of film, each time you pressed the shutter button, it cost you money. For a pro who bought and processed film in bulk, it might have been $0.20/frame. For an amateur, it might have been $0.50/frame. Given the costs involved, it was important to be taking 9s and not be taking 4s! But with digital, our chimpanzee can easily take 1000 photos of a wedding, at a marginal cost of zero per frame!

    Now of those 1000 photos, most of them will be trash, but you really only need 30 or so frames to make an album. What do you want to bet that 30 of those 1000 will be 7s or above? I'd say it's highly likely, and that's why your wife isn't getting as many calls as she otherwise would have. Digital has changed the game. An amateur really can achieve acceptable results by brute force!

    The software equivalent is to keep writing more and more code until the system works. I'm sure you've seen systems that fell victim to that paradigm. Sure, release 1.0 may work acceptably well, but release 2.0 will never happen, because nobody can so much as breathe wrong on the codebase without breaking something.

    --
    They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
  31. Re: Couldn't Get A Job After Getting A.S. Degreete by ultranova · · Score: 1

    To do what exactly?

    To mirror the website into a set of static HTML pages. This requires the blog to be up, of course.

    BTW, '-m' doesn't appear to be valid wget command switch.

    Manual claims it is.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  32. Re: Couldn't Get A Job After Getting A.S. Degreete by __aaclcg7560 · · Score: 1

    I'm doing the clean slate approach by using only the exported database from the WordPress blog and programming the static website from scratch. In some ways I'm completing the circle. This particular blog started off as a programming project while in school in 2002, converted into a Joomla website in 2008, converted into a WordPress blog in 2011, and now into a static website. I need to remove a lot of crud that accumulated over the years.

  33. Re:*blood boiling* by gweihir · · Score: 1

    "Book" is figuratively, of course. We had several blind CS students each year. They got materials translated as as needed, braille, audio, etc. and all exams aural only. Success-rate for them was about the same as for other students, i.e. about 50% graduated. As far as I know, they did not have significantly more problems finding jobs. Really, the a disabled programmer with the talent and dedication needed still has most of the productivity of a comparable non-disabled one. A person without the talent or dedication wil never reach either. I am not at all against disabled people learning to code and earn a living with it, as long as they have what it takes mentally.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  34. Re:*blood boiling* by gweihir · · Score: 1

    I guess you have never see good code then, because that is a rare thing. It is however the thing you need in order to profit from IT. I have seen countless projects that failed because the coders were incredibly bad.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  35. Re:*blood boiling* by Bengie · · Score: 1

    You define technical debt as (Doing it right) Less Than (Doing it wrong + Clean up to make it right)

    I routinely see (Starting over from scratch and doing it right) Less Than (Clean up alone)

  36. Re:*blood boiling* by Bengie · · Score: 1

    Here in reality, it's nothing special.

    Depends on your definition of "special". I use it to denote rarity or uniqueness, which good code is. If you think "good code" is not rare, you have an incredibly low standard of quality.

  37. You need to code well?!?! by Anonymous Coward · · Score: 0

    That is contrary to my thirty years experience from the field. Most people design and code SHIT. The strange thing is that they often get big projects and huge funds to release this crap unto the rest of us. (I am looking at you, Gnome... and systemd... and consolekit... and KDE... (and Windows 8? hello?) so many bad decisions so little time. Thank god for Awesome)

  38. Holy... Standard ML! by dotbot · · Score: 1

    The screenshot in that first link (http://www.wired.com/2014/09/exercism/) appears to be a screenful of SML... Respect to whoever sourced that picture!

  39. Re:*blood boiling* by gweihir · · Score: 1

    I agree that this is very likely true. Personally, starting over from scratch with the experience gained is my preferred solution. What I see in practice is however that almost nobody does this except after extensive failed efforts to fix it. I do have also seen projects that failed to do it over from scratch, because the same mistakes were repeated, so that approach is not actually ensured to work, as it is not clear how to "do it right" to the people that make the decisions, otherwise they could have done it right the first time. And quite often, these people do not learn from mistakes.

    Side note: I did not "define" anything, I did comment on what I see happening. Also, the relationship is not as easy as you state. There are direct costs and indirect costs and financial damage and non-financial damage, like reputational damage or losing competent people because they are fed up.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.