How I Failed, Failed, and Finally Succeeded at Learning How to Code
theatlantic.com
theatlantic.com
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.
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.
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.
I'm curious why you say "for better or worse"? (Not judging either way - just curious as to your thinking)
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?
Makes me wonder about my 'choices'- did my anti-social tendencies arise from my interest in programming (and math, etc.), or did it drive me to them?
Being a Linux and general Unix fan, I'd prefer schools adopt open platforms for teaching etc, over proprietary.
I'll use a Linux or BSD because let's face it, proprietary operating systems are pretty shitty platforms to learn to tinker with.
You're on exactly the same wavelength as me on this...but that phrase made me pause. Remember your kids will judge whatever you give them against the latest ipad3000. If that gap is too big they'll lose interest forever & you risk losing the war because you weren't willing to concede a battle.
I grew up exactly as you described - built a dos box with my dad & it was all mine. The internet world is too complicated though - you need an adult to hold your hand.
The above is of course opinion - not fact. To each his own...
http://www.theatlantic.com/education/archive/2013/10/should-...
Not quite the story we like to read.
Because that story you told is abhorrant, even profane, but all too common.
This is the stories we like to read! A lot of us are procrastinators? I will remember your reaction to a comment. I will now get off HN, and open up my more dusty Folders!
I have noticed there's a lot of successful people out there whom hang titles behind their names whom aren't very good at what they do, whether it's Programming, Business, or Whatever Expertise claimed?
I sometimes think the key to success is over inflating one's ability, and faking it? I personally know so many extremely wealthy Fakers. Programming is one field I couldn't imagine faking it? I guess my point is I know too many people who literally lied about their abilities, and in the end--Won big time!
I sometimes feel the way I was brought up(every Sunday going to church, and feeling very confused) was detrimental to my wallet?? Plus, as a kid, unless we really/really were great at something; we kept our accomplishments/skills to ourselfs. We never got the chance to brag. If we did(brag), someone would literally, usually verbally, smack us, and we never acted overconfident again? I honestly feel being modest, and not chasing the Dollar--held my generation(born 60's-70's) back? (What I saying, I still can't stomach people who over-inflate their abilities, nor go after money too aggressively--especially money from the poor/middle class! The thought of my filthy Looker sister is enough to get me to stop this post. She did some damage to her family over the almighty Dollar--really weaselly stuff. She's rich though?)
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.
Make of it what you will.
>>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.
http://www.theguardian.com/commentisfree/2015/aug/06/why-lap...
Bootcamps teach you how to use ruby on rails +CSS + HTML + js, and that's it. Data structures? Algorthim analysis? Databases? Machine learning? No
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.
But this is a very difficult path, one made slippery with tears.
Some developers need an introduction and/or mentoring. However, once past the absolute fundamentals (e.g. basic control structures and logic), mentoring becomes more strategic (less about technical details), and improving as a coder is a matter of how adroitly one can understand more complex patterns and absorb novel formalisms (frameworks, languages, hardware, integrations, etc.)
Growing beyond the level of individual contributor is working with individuals and teams to coordinate the development of more complex software systems. These human/machine systems are very complex and highly dynamic, to the point that there are no accurate models to describe how they work.
EVERYTHING is custom and cutting edge. (I'm thinking here of some of what Paul Ford said in his "What is Code?"[2], specifically section 5.6 "Off the Shelf")
This means that the career paths of developers cannot be predicted by simply taking into account educational backgrounds. Models that try to predict developer careers paths from educational backgrounds are not even close to being wrong because they model the reality of software development so poorly.
There will be lots of room for grunt coders who start off in code academies, sure. But some of those coders will start entry level and, after much more learning, go on to help develop world-altering highly-regarded software. Some coders trained at the most elite institutions will never contribute even one code block to a useful project of any kind. (I'm exaggerating, but you get my point.)
TL;DR: Code academies are simply another means by which humans will become part of the software industry and the status and stature of developers so initiated will be manifold.
[1] http://www.metafilter.com/151857/As-Tech-Booms-Workers-Turn-...
[2] http://www.bloomberg.com/graphics/2015-paul-ford-what-is-cod...
Or to put it another way: dev quality is independent of education. I agree with that.
The point I was making was more about what it actually takes to become a really good programmer. Against the 10 or 20 years of experience it takes, both college and a boot camp look roughly the same: approximately irrelevant (although studying classic computer science, operating systems, algorithms and data-structures, are all quite relevant)
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?"
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.
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.
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.
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.
Take for example MATLAB vs. Scheme vs. C vs. Java vs Python. All very different ways of programming, all very valid, but everyone has their own style they prefer.
Took me far too long to find the triangle area.
Samuel Beckett