Immigrated to a few blocks away from where you mentioned, also from Ukraine, in 1995. Both parents attempted taking similar courses. Mom stuck it out while cleaning houses during the daytime, Dad realized it wasn't for him but also struggled between jobs.
My mom turned sixty this year and last I spoke to her today at 10:30pm, was busy at work, trying to finish deploying a new release at the office. She's been a COBOL engineer (yeah..) with a hectic schedule for the last fifteen years.
Not sure where I'm going with this, but from bringing today's Google Doodle to her attention, to reading and clearly heavily related to this, to seeing Derek's post on life on the front page, I think I should call my parents and thank them again for moving our family into the unknown and trying to make it through herculean efforts.
"trying to finish deploying a new release at the office. She's been a COBOL engineer (yeah..) with a hectic schedule for the last fifteen years"
COBOL engineers are a narrowing breed. Tried venturing into learning it a few times.
I sometimes wonder if those dealing with legacy systems have been subjected to new fangled methodologies like agile and scrum. The statement quoted just brought that thought to mind.
This part jumped out at me: Dozens of trade schools offered computer programming courses for the new immigrants in anything from AS/400 to Fortran to Visual Basic, all paid for by government agencies.
As a native-born American citizen who -- like many -- wasn't born into a rich family and worked my butt off to pay for school, I couldn't help but read that and go, "gee, that would have been nice."
The weirdest thing about this 'learn to code' movement is the strange naivety that 'coding' is something that can just be picked up in a year or so, and then it's a skill like dicing onions or changing an oil filter. I mean, I guess it can be in a sense, but my own experience has been quite different.
First I wanted to build iOS apps, so I learned enough C to take on Objective-C. Time to learn the Cocoa frameworks. Published an app. I should learn web development. Grokked HTML, CSS, some JS. Wait things can be done easier with jQuery? Learned some 'o' that. None of this means anything without some passable design skills. Time to learn photoshop, illustrator, or some open source alternative. Oh crap, I need to deploy this! And what's this 'Git' everyone's going on about? Wait a minute, I don't understand anything that's going on with anything! Time to dig deep into the underbelly of Unix. I should get with the times! Need to learn some front end frameworks. Angular looks amazing, here I go! Hmmm, are mobile apps the way of the future? I'm not sure. Maybe I should leverage this using the web skills I already know! Time to get up to speed with PhoneGap, Cordova, or AppGyver...
And this is just practical stuff. Nevermind the math, algorithmic, and hardware domains that I'm sure break into a million parts like the 'coding' endeavour I mentioned above.
I think the "learn to code" movement doesn't really mean to turn everybody into a software engineer. The same way we teach maths and writing to everybody not because we want them to become mathematician and writers.
Learning to code doesn't mean learning a dozen hip frameworks to pump out apps for the appstore. It means learning how to decompose problems into very simple parts and how to write down instructions for solving these simple parts so precisely that even a dumb machine understands.
Being precise and having the ability to tackle complicated tasks are useful in other contexts too. Learning to code teaches how to think in an unusual way.
Furthermore it's nice to know at least in principle how the things that you use every day work. Everbody should know how an internal combustion engine works. Not in sufficient detail to be able to build one, but well enough to explain to their children when they ask. Because maybe their children will want to build engines someday.
This is why people should learn how to code. It's not necessary that they learn how to build shiny things, they should learn the very basics.
I think beginners should stop following trends and focus on building a solid foundation. I know that can sound ridiculous if you need to get a job, but you'll be doing yourself a favor. I mean, it's ok to learn enough to become a hireable code monkey (even though it's more difficult than it sounds) and earn something to support yourself, but i think it's way more important to learn core skills instead of frameworks that will inevitably become obsolete in a few years' time.
I've had a similar kind of experience. In fact, after years, it's still ongoing. I'm not against the 'learn to code' movement at all. But because it's easier to take someone from 0 to 1 than to make a 1 into a 10, all these new courses seem like they'll do not much more than creating a few more newbies. I don't have the answer myself, but I'd totally like to support if there was a program that's aiming the latter case.
I began programming in 1996. The biggest difference, to me, is:
#1 Google, which helps you quickly find answers from #2
#2 Online tutorials, communities such as Stack Overflow and blogs
As a self-learner, it's awesome now a days. It costs next to nothing to learn, to get involved with open source or a community, and most importantly, to create your own projects!
In 1996, I had one friend I could call to ask a question. Maybe I could save up some money to buy some crap book on Visual Basic or C. Computers were still expensive back then, and a server - geez, forget about it.
Seriously, I first started programming in high school in 1999, and the resources were as follows:
1) Textbook
2) Teacher
3) Classmates
I dicked around doing Philosophy and construction for half a decade outside of high school, and one of the things that amazed me when I went back to school was how easy programming had become. Have a compile error? Google it. Getting this weird "Segmentation Fault" thing? Google it, and see what causes it.
I went from combing through the pages of the textbook to never cracking a book past second year, and in only a decade or so. I still sometimes marvel at how copying and pasting an obscure error into Google nets me the answer more often than not within 5 minutes.
yes, it's easier now, but it wasn't all that bad back then, I've learned a lot about programming using the net at the very same time. I was living in Serbia, which back then was in wars and under UN sanctions and the access to the new books was very limited, so we had to use the net. There was no googling and stackoverflow, but we had altavista, usenet (which was de facto StackOverflow of those times), even some tutorials on gopher :) One of the best tutorial sites was Webmonkey.com, I've made my first web steps thanks to them.
In 1996, Barnes and Nobel was flooded with huge volumes like "Learn C in 21 Days" and "Effective Bash Programming." These books had 6-10 authors and were basically printed on newspaper, and were absolutely horrible. These sat next to Computer Shopper and high quality books like K&R and the red book.
I know what you mean, Borders did the same thing. But whenever someone mentions "The Red Book", I always wonder whether they're talking about the OpenGL Programming Guide or the PostScript Language Reference.
There's rarely a pot of gold at the end of a rainbow. But if the first wave of "learn to code" gave us you and RethinkDB, then I'm all for the next wave.
+1. I couldn't quite tell if the story was meant to be cynical or not, but I find it inspirational in light of the many sad stories of those who make the leap for what seems like a good opportunity and end up in a human trafficking nightmare.
To me the biggest difference between now and then is that the quality of instruction is probably much better now. Not only is the quality better but the number of options is also much higher. Between resources like teamtreehouse, code school, codecademy, youtube and the thousands of pages you can find with google -- people who want to learn to code today have a marked advantage over those who wanted to learn in 1996.
In the end it always comes down to a persons will to succeed. Learning programming is basically a battle to simply keep putting your face in front of the code. The biggest value that resources like teamtreehouse and codecademy offer is that they make it more engaging (read: less painful) and so people are more likely to press on and get to a point where they say "Hey, maybe I can actually be a programmer".
> people who want to learn to code today have a marked advantage over those who wanted to learn in 1996.
True, but they aren't competing against job candidates from 1996.
Not that the whole movement is about finding a job. In fact, I think it will be more healthy for industry and students alike if "learn to code" is not a promise for a direct payoff at all, but a push to develop a useful core skill like math, communication, and understanding of science and humanities.
The necessity of the will to succeed (or rather the will to persist for 10k hours) is probably why it is not something most people are cut out for. In my CS studies, i noticed that most of us started out as pretty shoddy programmers, even those who had been dabbling for a few years, but that the people who improved steadily and got there and the people who didn't improve and dropped out were separated not by skill or talent, but by passion. If you are passionate about the act of programming itself, you can persist, but otherwise the required amount of willpower outstrips people's ability to provide it.
That's why i think it's a good idea to bring as many kids as possible into contact with programming, to find the ones passionate about it. It's also why i think it's a bad idea to push people in a programming course as a path to a job (if they haven't shown an interest in it themselves). I have been the person interviewing graduates of those courses too many times already, and in my experience they're mostly unhireable on serious software projects.
I think the difference is that the current campaign isn't saying everybody should learn to code to be a programmer, instead it's saying, everybody should learn the basics of coding because it will be beneficial to whatever their job is.
A lot of these immigrants have had excellent eduction and often pretty high level jobs. The old Soviet Union was pretty big on eduction, especially science and math. So theoretically it's not that big of a step to take, from being a mathematician to a programmer.
Reality says otherwise, though. I have two friends who came to The Netherlands during the Balkan war in the early 90's. He used to be a math professor, she used to be a surgeon. Nowadays, he's cutting marble for tombstones, she works at the HR department. Quite the step back, although they have no regrets coming here.
This is a cool post. It's a really interesting thought that this whole "learn to code" movement existed in some form seventeen years ago and somehow didn't take off when it seems like such an inevability right now. But I think it's one of those things we'll look back on like the 2010 iPad / 1993 Apple Newton and say "yeah coding trade schools were a cool idea back then, but the world just wasn't ready for it yet", and now that they've become 'cool' so to speak we're going to see that permanent explosion.
I mean, I'm new to this game but did you even call it "coding" in 1996? To me just the word "coding" represents a kind of coolness factor that I doubt existed around programming in the mid 1990's. It used to be a nerdy thing, something you had to be 'smart' and work at a big company to do. Now tech is cool, the game has completely changed. I mean were startups even a thing in 1996? Were hoodies, mac laptops, red bulls and coding on rooftops popular? Because of things like Github, Ruby on Rails, awesome screencasts etc. I think it's just gotten more fun and productive to be a programmer and the lifestyle has more of a mainstream draw than it used to.
The other big plot line in 2013 that wasn't there in 1996 is the impending genocide of universities in America. Higher tuition rates, lower employment rates, it seems like the learn to code movement is the Newtonian "equal and opposite reaction" to the imminent death spiral of 4-year degree programs in America. I think we're going to see a ton of innovation from the "learn to code" schools in the next few years, innovations in education that the Universities won't be able to match, and the "learn to code" schools are going to kick the living crap out of colleges when it comes to where people choose to spend the money they have allocated for education.
In seriousness, yes, they were, but it took a lot more money to get one off the ground back then than it does today; lots of proprietary software licenses to be bought, physical servers to be rack-mounted, and so forth. (You used to have to pay thousands of dollars per seat just to get access to some companies' API documentation! Yes! Seriously! Now, of course, you can just Google it.)
It was sufficiently expensive that a college student (which I was back then) couldn't really think of starting one on a whim. You had to get access to some serious capital to make a real go of it.
So many of those costs have collapsed these days that it's much, much easier to do a startup than it was then. But that's a double-edged sword -- while it opens up opportunity to lots more people, it also means there's lots more half-baked "startups" out there than there used to be.
>It's a really interesting thought that this whole "learn to code" movement existed in some form seventeen years ago and somehow didn't take off when it seems like such an inevability right now.
It seemed an inevetability back then too (and 10 years before that, with the first wave of the cheap PCs).
Like now, it actually wasn't.
>But I think it's one of those things we'll look back on like the 2010 iPad / 1993 Apple Newton and say "yeah coding trade schools were a cool idea back then, but the world just wasn't ready for it yet", and now that they've become 'cool' so to speak we're going to see that permanent explosion.
Nope, it's just a fad now too, driven by the current bubble. It will subside with it.
>I mean, I'm new to this game but did you even call it "coding" in 1996?
You'd be surprised, but it was called coding in 1986, 1976 and even 1966. And it has been considered cool, in the right circles, ever since 1970 (circa).
>I mean were startups even a thing in 1996?
Sure they were. And Open Source. Everybody and his dog started a startup around that time, until they had a bubble bust circa 1999-2000.
Seriously man, you have to check up on the history of this "coding" thing. You seem to be missing a lot of knowledge, that's not just folklore but also essential to a well groomed
developer.
Here is one difference, the number of computers has far outpaced the speed at which the industry is gaining programmers. Instead of one platform with 100+ million devices, we have more like 3.
I'll probably always be a bit wary of people who learn coding from a school or who need a school to learn coding. Since most of the time you have to learn new things while coding (new libraries, new languages, new challenges), I don't know if these people will be able to keep learning by themselves without courses provided for them.
Not sure how good a programmer you can become without being inherently excited about the whole thing.
In a way I believe everything can be learned the same way. I suck at design, but in theory I could see how I could learn it. The problem is I would have to be constantly absorbing new things. While talking a walk I would have to notice the typography on shop signs, when browsing the web I would make mental notes of designs I like, and so on. Totally doable, yet I am not doing it. On the other hand I read about programming all the time, even about topics I don't really work with atm like scalability, 3d programming, machine learning and so on.
Perhaps a course can be a good start, but I suppose it only gets you 1% of the way...
[+] [-] yan|12 years ago|reply
Immigrated to a few blocks away from where you mentioned, also from Ukraine, in 1995. Both parents attempted taking similar courses. Mom stuck it out while cleaning houses during the daytime, Dad realized it wasn't for him but also struggled between jobs.
My mom turned sixty this year and last I spoke to her today at 10:30pm, was busy at work, trying to finish deploying a new release at the office. She's been a COBOL engineer (yeah..) with a hectic schedule for the last fifteen years.
Not sure where I'm going with this, but from bringing today's Google Doodle to her attention, to reading and clearly heavily related to this, to seeing Derek's post on life on the front page, I think I should call my parents and thank them again for moving our family into the unknown and trying to make it through herculean efforts.
[+] [-] jmspring|12 years ago|reply
COBOL engineers are a narrowing breed. Tried venturing into learning it a few times.
I sometimes wonder if those dealing with legacy systems have been subjected to new fangled methodologies like agile and scrum. The statement quoted just brought that thought to mind.
[+] [-] danielrakh|12 years ago|reply
[+] [-] MrZongle2|12 years ago|reply
As a native-born American citizen who -- like many -- wasn't born into a rich family and worked my butt off to pay for school, I couldn't help but read that and go, "gee, that would have been nice."
[+] [-] artsrc|12 years ago|reply
Community colleges are quite cheap. $46 per course in San Francisco.
Lots of programming courses. http://www.ccsf.edu/NEW/en/educational-programs/ccsf-catalog...
These people were not getting an MBA from Stanford.
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] knowitall|12 years ago|reply
[+] [-] increment_i|12 years ago|reply
First I wanted to build iOS apps, so I learned enough C to take on Objective-C. Time to learn the Cocoa frameworks. Published an app. I should learn web development. Grokked HTML, CSS, some JS. Wait things can be done easier with jQuery? Learned some 'o' that. None of this means anything without some passable design skills. Time to learn photoshop, illustrator, or some open source alternative. Oh crap, I need to deploy this! And what's this 'Git' everyone's going on about? Wait a minute, I don't understand anything that's going on with anything! Time to dig deep into the underbelly of Unix. I should get with the times! Need to learn some front end frameworks. Angular looks amazing, here I go! Hmmm, are mobile apps the way of the future? I'm not sure. Maybe I should leverage this using the web skills I already know! Time to get up to speed with PhoneGap, Cordova, or AppGyver...
And this is just practical stuff. Nevermind the math, algorithmic, and hardware domains that I'm sure break into a million parts like the 'coding' endeavour I mentioned above.
[+] [-] adrianN|12 years ago|reply
Learning to code doesn't mean learning a dozen hip frameworks to pump out apps for the appstore. It means learning how to decompose problems into very simple parts and how to write down instructions for solving these simple parts so precisely that even a dumb machine understands.
Being precise and having the ability to tackle complicated tasks are useful in other contexts too. Learning to code teaches how to think in an unusual way.
Furthermore it's nice to know at least in principle how the things that you use every day work. Everbody should know how an internal combustion engine works. Not in sufficient detail to be able to build one, but well enough to explain to their children when they ask. Because maybe their children will want to build engines someday.
This is why people should learn how to code. It's not necessary that they learn how to build shiny things, they should learn the very basics.
[+] [-] 10098|12 years ago|reply
[+] [-] muhuk|12 years ago|reply
[+] [-] ErikAugust|12 years ago|reply
#1 Google, which helps you quickly find answers from #2
#2 Online tutorials, communities such as Stack Overflow and blogs
As a self-learner, it's awesome now a days. It costs next to nothing to learn, to get involved with open source or a community, and most importantly, to create your own projects!
In 1996, I had one friend I could call to ask a question. Maybe I could save up some money to buy some crap book on Visual Basic or C. Computers were still expensive back then, and a server - geez, forget about it.
[+] [-] redthrowaway|12 years ago|reply
1) Textbook
2) Teacher
3) Classmates
I dicked around doing Philosophy and construction for half a decade outside of high school, and one of the things that amazed me when I went back to school was how easy programming had become. Have a compile error? Google it. Getting this weird "Segmentation Fault" thing? Google it, and see what causes it.
I went from combing through the pages of the textbook to never cracking a book past second year, and in only a decade or so. I still sometimes marvel at how copying and pasting an obscure error into Google nets me the answer more often than not within 5 minutes.
[+] [-] ivanhoe|12 years ago|reply
[+] [-] brg|12 years ago|reply
[+] [-] wyclif|12 years ago|reply
[+] [-] chaz|12 years ago|reply
[+] [-] projectileboy|12 years ago|reply
[+] [-] pjscott|12 years ago|reply
[+] [-] shoover|12 years ago|reply
[+] [-] jordan_litko|12 years ago|reply
In the end it always comes down to a persons will to succeed. Learning programming is basically a battle to simply keep putting your face in front of the code. The biggest value that resources like teamtreehouse and codecademy offer is that they make it more engaging (read: less painful) and so people are more likely to press on and get to a point where they say "Hey, maybe I can actually be a programmer".
[+] [-] chavesn|12 years ago|reply
True, but they aren't competing against job candidates from 1996.
Not that the whole movement is about finding a job. In fact, I think it will be more healthy for industry and students alike if "learn to code" is not a promise for a direct payoff at all, but a push to develop a useful core skill like math, communication, and understanding of science and humanities.
[+] [-] Joeri|12 years ago|reply
That's why i think it's a good idea to bring as many kids as possible into contact with programming, to find the ones passionate about it. It's also why i think it's a bad idea to push people in a programming course as a path to a job (if they haven't shown an interest in it themselves). I have been the person interviewing graduates of those courses too many times already, and in my experience they're mostly unhireable on serious software projects.
[+] [-] josephpmay|12 years ago|reply
[+] [-] pjscott|12 years ago|reply
[+] [-] marcus_holmes|12 years ago|reply
It's about understanding the internet, being literate in the 21st century, about being a producer of content not just a consumer.
Coding is fun, everyone should be able to do it, not just professional programmers.
[+] [-] dirktheman|12 years ago|reply
Reality says otherwise, though. I have two friends who came to The Netherlands during the Balkan war in the early 90's. He used to be a math professor, she used to be a surgeon. Nowadays, he's cutting marble for tombstones, she works at the HR department. Quite the step back, although they have no regrets coming here.
[+] [-] AlwaysBCoding|12 years ago|reply
I mean, I'm new to this game but did you even call it "coding" in 1996? To me just the word "coding" represents a kind of coolness factor that I doubt existed around programming in the mid 1990's. It used to be a nerdy thing, something you had to be 'smart' and work at a big company to do. Now tech is cool, the game has completely changed. I mean were startups even a thing in 1996? Were hoodies, mac laptops, red bulls and coding on rooftops popular? Because of things like Github, Ruby on Rails, awesome screencasts etc. I think it's just gotten more fun and productive to be a programmer and the lifestyle has more of a mainstream draw than it used to.
The other big plot line in 2013 that wasn't there in 1996 is the impending genocide of universities in America. Higher tuition rates, lower employment rates, it seems like the learn to code movement is the Newtonian "equal and opposite reaction" to the imminent death spiral of 4-year degree programs in America. I think we're going to see a ton of innovation from the "learn to code" schools in the next few years, innovations in education that the Universities won't be able to match, and the "learn to code" schools are going to kick the living crap out of colleges when it comes to where people choose to spend the money they have allocated for education.
[+] [-] smacktoward|12 years ago|reply
Yes, we did. It wasn't that long ago! Sheesh! Thanks for making me feel old :-D
> were startups even a thing in 1996?
Ask pmarca! (https://news.ycombinator.com/threads?id=pmarca)
In seriousness, yes, they were, but it took a lot more money to get one off the ground back then than it does today; lots of proprietary software licenses to be bought, physical servers to be rack-mounted, and so forth. (You used to have to pay thousands of dollars per seat just to get access to some companies' API documentation! Yes! Seriously! Now, of course, you can just Google it.)
It was sufficiently expensive that a college student (which I was back then) couldn't really think of starting one on a whim. You had to get access to some serious capital to make a real go of it.
So many of those costs have collapsed these days that it's much, much easier to do a startup than it was then. But that's a double-edged sword -- while it opens up opportunity to lots more people, it also means there's lots more half-baked "startups" out there than there used to be.
[+] [-] coldtea|12 years ago|reply
It seemed an inevetability back then too (and 10 years before that, with the first wave of the cheap PCs).
Like now, it actually wasn't.
>But I think it's one of those things we'll look back on like the 2010 iPad / 1993 Apple Newton and say "yeah coding trade schools were a cool idea back then, but the world just wasn't ready for it yet", and now that they've become 'cool' so to speak we're going to see that permanent explosion.
Nope, it's just a fad now too, driven by the current bubble. It will subside with it.
>I mean, I'm new to this game but did you even call it "coding" in 1996?
You'd be surprised, but it was called coding in 1986, 1976 and even 1966. And it has been considered cool, in the right circles, ever since 1970 (circa).
>I mean were startups even a thing in 1996?
Sure they were. And Open Source. Everybody and his dog started a startup around that time, until they had a bubble bust circa 1999-2000.
Seriously man, you have to check up on the history of this "coding" thing. You seem to be missing a lot of knowledge, that's not just folklore but also essential to a well groomed developer.
Here's a 1998 documentary on the building of Mozilla: http://www.youtube.com/watch?v=u404SLJj7ig
Here's the Hacker's Dictionary: http://www.catb.org/jargon/html/index.html
[+] [-] UK-AL|12 years ago|reply
[+] [-] programminggeek|12 years ago|reply
[+] [-] Uchikoma|12 years ago|reply
[+] [-] hypertexthero|12 years ago|reply
[+] [-] enupten|12 years ago|reply
Making things overtly fashionable makes everyone worse off.
[+] [-] knowitall|12 years ago|reply
Not sure how good a programmer you can become without being inherently excited about the whole thing.
In a way I believe everything can be learned the same way. I suck at design, but in theory I could see how I could learn it. The problem is I would have to be constantly absorbing new things. While talking a walk I would have to notice the typography on shop signs, when browsing the web I would make mental notes of designs I like, and so on. Totally doable, yet I am not doing it. On the other hand I read about programming all the time, even about topics I don't really work with atm like scalability, 3d programming, machine learning and so on.
Perhaps a course can be a good start, but I suppose it only gets you 1% of the way...
[+] [-] netpenthe|12 years ago|reply
[+] [-] GuerraEarth|12 years ago|reply
[+] [-] elwell|12 years ago|reply