7 ms·
How I Failed, Failed, and Finally Succeeded at Learning How to Code
- buckbova 11y ago[2011] It took a while before programming really "clicked" with me too, and I started with BASIC on an apple ][. It probably wasn't until a year or two into CS that I could approach a problem in an organized manner. Now after decades of exposure, as my CS algos professor prophesied, it takes me a week or two to pick up a new language.
- happytrails 11y agoI keep seeing all these programming articles and schools that'll teach you in 3 months and you'll make 70k+. Someone is trying to flood the market to drive wages down.
- enraged_camel 11y ago>>Someone is trying to flood the market to drive wages down. Why resort to such a conspiracy theory? Do you have any evidence? I subscribe to a much simpler explanation: the market is simply responding to demand for higher-paying jobs. Colleges are obviously failing to train people for such jobs, so vocational schools (i.e. for coding) are picking up the slack.
- no1youknowz 11y agoI saw this recently. Make of it what you will. http://i.imgur.com/VzVNAFc.png http://i.imgur.com/VzVNAFc.png
- aklemm 11y agoHmm, help me figure out what to make of it. Where did see you it (I'm trying to understand the context)?
- no1youknowz 11y agoIt was a response to the comment: >>Someone is trying to flood the market to drive wages down. As you can see here. Someone who was an analyst, self taught themselves to "code" in rails, php, python and javascript. Which by their own omission is using "scripting" techniques to build the application from a template. They are wanting to go on a bootcamp where they cramp you with tons years of knowledge in just what 12 weeks? Once working, they expect to earn 85+k. Does this remind you of anything? Remember the whole MCSE debacle pre 2001. Where colleges where promising $100k salaries for doing tech support. Where are the wages now? Oh yeah, for an MCSE, A+, Cisco Cert don't expect to be paid much.
- selimthegrim 11y agosomeone tell these guys that http://www.theguardian.com/commentisfree/2015/aug/06/why-laptops-are-mightier-than-guns http://www.theguardian.com/commentisfree/2015/aug/06/why-lap...
- kitsunesoba 11y agoAnybody entering the market that has even a grain of intelligence would be spending their time both before and after being hired learning how to engineer software (language/framework agnostic) instead of forever monkeying around with a scripting language in a single environment. Doing anything less is eventual career and paycheck suicide. Python or Ruby are fine as starting points, but if you stop there you're fucking yourself over.
- UK-AL 11y agoColleges do a good job providing general cs skills. Bootcamps teach you how to use ruby on rails +CSS + HTML + js, and that's it. Data structures? Algorthim analysis? Databases? Machine learning? No
- svisser 11y agoOr: someone is trying to make money from bootcamps while claiming there are shortcuts to a high salary.
- javajosh 11y agoI have to wonder what sort of code your average bootcamp graduate is really capable of producing. I'd say that you could get really, really good at a single concrete stack and toolset in that time (e.g. osx, bash, Linode, postgres, rails, chrome, sublime, chrome dev tools, maybe nginx, wireshark, redis). But as soon as you swap out even one item, the pain will start. Now do it with Windows, power shell, Azure, mysql, php, firefox, notepad++, firebug, IIS, mongo. Now do it with Linux, zsh, Digital Ocean Meteor, Safari, vi, django, apache. Now do it with Linux, bash, AWS, Java, Spring, Oracle, Eclipse, Glassfish. Now do it with RedHat in Docker on AWS running Postgres, Redis, Nginx, Java and Node, over WebSockets over any browser. Now you will know what you are doing. It will take about 10 years.
- johnmaguire2013 11y agoOf course, within ten years half of the listed products will be gone, and replaced with the new hotness. But there are definitely a lot of low-level and high-level concepts you pick up along the way, and what I tell everyone who is learning is that the MORE stuff you try, the better you will be at learning MORE stuff. Every piece you learn about, you'll find another piece later that mirrors, borrows concepts, or shares ancestry, and you'll pick it up twice as fast as the last time.
- javajosh 11y agoI'd go even further, that if you learn how to do it with lots of different tools in different combinations, then you get a feel for what is important and what is not, what is fashion and what is important, and what software applications are, in general. Most of all, you can begin to make the critical distinction between "application" and "infrastructure". But this is a very difficult path, one made slippery with tears.
- paulpauper 11y agoI am doubtful that one of these boot-campers will be as good as someone with 10+ years of coding experience, so there will still be a wage premium for the most competent of coders
- throwaway838 11y agoNotice also that now it's all about "coding" and never programming or software development/engineering. This is deliberate. And good luck getting respect from non-technical managers, policy makers, or the public at large when your actual job title is "coder" and all of these articles, bootcamps, and CodeCademy type websites have convinced everyone that "coding" (unlike law or medicine) is super easy and anyone can do it! "Why isn't the ERP system ready yet? It's just coding, after all... I did that on CodeCademy when I was in high school as part of the National Teach Everyone To Code Initiative and it was easy. I already did the hard part by telling you exactly what we need (and telling you again each of the fifty or so times our requirements changed); all you have to do is code out the details. What's the hold up?"
- gaius 11y agoIt's the same as the "scientist shortage" except instead of taking 5 years to churn out PhDs who can't get research jobs, you can churn out "coders" in only 12 weeks!
- ArekDymalski 11y ago"In a way, the ORIC-1 was so mesmerizing because it stripped computing down to its most basic form: you typed some instructions; it did something cool. This was the computer's essential magic laid bare. Somehow ten or twenty lines of code became shapes and sounds; somehow the machine breathed life into a block of text." Oh, yeah. I still remember that feeling from Atari 65xe and then C-64. Now it's much harder to get such instant gratification. While trying to revive my passion and learn new stuff as an adult I also failed several times, because I set my aspirations too high and wasn't able to quickly learn all the necessary stuff at once :) Nowadays the path to "cool things" seems to be much harder, until you adjust your personal definition of cool.
- andreasvc 11y agoI think today you get that kind of interactive computing with something like the IPython notebook. You can load an image, apply an effect on it and immediately see the result. You can lookup documentation interactively too. If anything, I think nowadays there are too much cool things, and the challenge is figuring out what can be achieved with them in a small number of steps, instead of getting lost.
- johnmaguire2013 11y ago> If anything, I think nowadays there are too much cool things, and the challenge is figuring out what can be achieved with them in a small number of steps, instead of getting lost. And which are actually important to know vs. which will fade in less than a year.
- lukaslalinsky 11y agoCool things are rarely important to know, even if they stay cool for a long time. The important thing when starting programming is to have fun. You don't need to keep the knowledge. When I was learning programming in BASIC on C64 I knew that's not the language people write real programs in, but it was still fun and it thought me to think analytically and gave me some technical basics.
- 11y ago
- akshat_h 11y agoI am curious if project euler teaches you programming. I does teach you mathematics and thinking logically, but software engineering is different and is really learnt on the job. I am always confused when someone says about learning or teaching coding. What is meant by coding here? Writing fizzbuzz? Or writing enterprise software with so many levels in between and around as well.
- danso 11y ago> I am always confused when someone says about learning or teaching coding. What is meant by coding here? Writing fizzbuzz? Or writing enterprise software with so many levels in between and around as well. Isn't that like asking, "What is meant by 'learning to write'? Subject-verb sentences? Or the next Great American Novel?" It's possible to learn programming without getting into software engineering.
- akshat_h 11y agoPoint noted and accepted. It seems I haven't even graduated and am already becoming insular and elitist. Need to do some self-realization.
- jtwebman 11y agoMany aspects of programming like code readability, patterns, and abstractions could all be taught in a fun interactive way like these problems are done in. This site just focuses more on the math and logical thinking parts.
- personjerry 11y agoI'm waiting for an article about "How I Failed, Failed, and Am Still Failing" to provide the flip side in contrast to these success stories we are so biased towards
- danso 11y agoThere are plenty of those. Also from The Atlantic: "Should Journalism Schools Require Reporters to 'Learn Code'? No" http://www.theatlantic.com/education/archive/2013/10/should-journalism-schools-require-reporters-to-learn-code-no/280711/ http://www.theatlantic.com/education/archive/2013/10/should-...
- 0xdeadbeefbabe 11y agoOr how I succeeded at coding and then realized I had failed at coding.
- logicallee 11y agohere you go - "So I fired up my IDE and spent an hour, finally getting my C# program to compile. It put out bullshit, I couldn't figure out why. I gave up. Then I fired up my ole' Putty and tried to get into my server to figure out why my database kept giving me an error. I thought about rolling back but couldn't figure out how Chef actually works, even though I set it up. Finally, I had this really cool idea for a javascript game I could code up real quick, and spent an hour in the javascript console trying to figure out why it wouldn't execute. Gave up on that too. I read some forums, there was a cool app to scrape my facebook, I ran it, it just requires Python, but it wouldn't run. Overall I accomplished nothing. Oh, and Chrome is still crashing at the most random times, no idea why." Not quite the story we like to read.
- javajosh 11y agoHoly shit you just articulated all of the reasons that hackers value their knowledge - and the very important quality of never giving up. You search. You go on IRC. You get the source and compile it. You step aside and learn a tool better in isolation - then use it on your problem. You poke, prod, test. And your understanding begins to form, to conform to the shape of the problem, the map of what you know, what you've tried, what you have yet to try. You talk to others to fill in the important blank of what you don't know yet to try. Because that story you told is abhorrant, even profane, but all too common.
- Havoc 11y agoWas easy as a kid - effortless even. If your day job doesn't involve coding then it fades fast though. The mindset / thinking style thankfully doesn't seem to fade though. Thats why I'm all for making kids learn to code. Yes they'll suck & no they won't become real programmers but it leaves a permanent imprint on the minds of those that take it seriously.
- johnmaguire2013 11y agoI loved it. I bought my first domain when I was 10, intending to create a game like Neopets. I obviously quickly learned I wasn't going to be able to, but I created a fan site, kept hacking at it, and learning. I learned security, etc. By the time I was out of high school, I was recruited by Barracuda Networks. Some of those kids will go on to be decent programmers. And it definitely leaves you with a much more analytic way of thinking, for better or worse. [1] http://www.screenshots.com/ghostlypets.com/2005-12-15 http://www.screenshots.com/ghostlypets.com/2005-12-15
- Havoc 11y ago>leaves you with a much more analytic way of thinking, for better or worse. I'm curious why you say "for better or worse"? (Not judging either way - just curious as to your thinking)
- bjones22 11y agoNot OP, but I'd like to chime in here. Getting good with computers is often best done by spending a large amount of time on computers. For many of "us" that involved teenage years playing MMORPGs, general programming, IRC, etc. Despite a certain illusion of sociality involved in these activities, I am of the opinion that they are uniquely anti-social, and thus were in one way or another a deprivation of my childhood. Sure I now have a much higher earnings potential. But was it worth it? I don't know. And thus I'm in no position to recommend it for anyone else. Theirs probably a balance in it somewhere. And you can be damned sure if I'm ever a parent I'm going to tread lightly between "my child should learn to program, go to college, etc." and "my child needs to live a happy, normal, life". That why it's a "for better or for worse" mentality in my opinion. We don't really know which is best do we?
- agumonkey 11y agoI always felt weird about this kind of math, because problem don't have an "API", or an algebra, it's too open. But if you're into creativity and search then it's even more fun. Maybe a psychology thing in the end. Took me far too long to find the triangle area.
- mwfunk 11y agoIn general, I've found that almost all success at anything worth doing comes from repeatedly failing until you don't. If you fail the first time and give up, you probably didn't care enough to do it anyway. If you succeed the first time, it probably wasn't that hard. Fail often and fail hard and be proud of it! It's a sign of progress, or at the very least attempted progress.
- autotune 11y agoI prescribe to the "you must try, try and try, try and try" method of failure as described by Mr. Cliff. If it doesn't work out by the 5th time just repeat the cycle as necessary.
- amenghra 11y agoFailing is good as long as you learn something out of it "fail, learn something and be proud of what you learned".
- smitherfield 11y agoNot sure the last example the author gives of chess-playing programs is a good one though; a task where it is literally impossible to succeed would just serve to discourage even the most motivated of newcomers, I'd think.
- lqdc13 11y agoOr a sign that you should try something else. Not everyone can succeed at everything. Obviously it is best to recognize that as early as possible in the endeavor.
- michaelbuddy 11y agothe best story always involves the ones where somebody WANTS to do something so bad that they just keep at it at all costs and eventually make it. Great story but the more common story is somewhere between giving up vs realizing that something isn't that valuable to you (or as fun) as you thought it might be. you realize you don't or probably won't enjoy the process. The no pain no gain model is true to an extent but often a person got a closer look, they can probably deal with the pain, but the gain is no longer all the shiny and worth pursuing. So you must look at the objective with short and long goggles to see if your understanding about it is right. As you do things well they might get more enjoyable with time. Finding a balance where challenge is still there but you're in the zone of craft. Where you know you can make it work and the challenge is something surmountable. The memory of how hard it was to get to that point isn't one of regret or pain. Just learning, and maybe relief.
- jtwebman 11y agoORIC-1 was the Raspberry PI of my day as well. Though I had a Commodore 64.
- fit2rule 11y agoStill got my ORIC-1, and a few Atmos' to boot .. the kids love 'em!
- ZoeZoeBee 11y agoWelcome to the New World, the education system in America is broken especially when it comes to teaching evolving topics like programming. Imagine what the world would be like if instead of the 30hrs Americans spend on average watching tv a week, they instead took that time to learn and create.
- lqdc13 11y agoI imagine it being much more competitive for us if it was the case. I'm actually very happy that not many people know how to code or have the interest in it. It almost feels like we have unfair superpowers.
- ZoeZoeBee 11y agoLoL alright fair point, but they don't have to learn to code, just find something instead of zoning out.
- rickdale 11y agoEver tried. Ever failed. No matter. Try Again. Fail again. Fail better. Samuel Beckett
- billrobertson42 11y agoNot having success at the beginning isn't failing. It's learning.