Show HN: Codecademy.com, the easiest way to learn to code - https://news.ycombinator.com/item?id=2901156 - Aug 2011 (232 comments)
Codecademy Surges To 200,000 Users, 2.1 Million Lessons Completed In 72 Hours - https://news.ycombinator.com/item?id=2914854 - Aug 2011 (75 comments)
"dang, thanks for resurfacing these!"
I always wanted to work for a big company so I managed to land a role at a large network provider and when they found out I was interested in scripting they dubbed me the automation guy so I started writing a huge python/expect script that could do automated troubleshooting on these vendor systems that previously could only be navigated with SSH commands. Basically I truly learned Python doing this along with reading "Fluent Python" cover to cover. I recall days of frustration chasing bugs when I finally tracked it down to copying variables from lists without doing deepcopy() and having them modified later. My coworkers complained about speed to load data so I had to learn about multithreading and GIL so I could lazy load data. Then an old coworker reached out about a snazzy new startup so I went there to do this newfangled DevOps thing.
The DevOps role is where I was forced to round out my overall language awareness (not exactly learning the languages) so I could help manage the CI/CD pipelines and supporting infrastructure. For example, I had to learn that C# was compiled and developer machines were special snowflakes that compiled things differently. Days of frustration digging into to "compiles on my machine, your TeamCity is broke" type stuff. I had to use a lot of my sysadmin knowledge to prep machine images and do VMWare bootstrapping stuff which requires some healthy scripting. I was one of a few Linux guys so I was dubbed Hadoop dude (bought an O'Reily Hadoop book and read cover to cover) and my python scripting came in handy here plus had to buff up on bash. Started getting frustrated with the dynamic nature of Python and not being able to hand a script off to someone and expect it to work on their machine so I did some googling and learned that I needed to learn a compiled language. Golang sounded cool so I started teaching myself this. Startup life was getting to be a drag so I took an opportunity and another massive corporation doing Cloud stuff (new hotness, right?).
Massive Corporation was trying to govern triple digit AWS accounts with a newly hired team of 4 people--what could go wrong? The only way to be successful at this is to code automation. At this point I had to live and breath Golang/Python/AWS-SDK to survive. At this point I was being nudged into taking a people manager role and I'd been around the block enough to know in my bones that bad leadership was the source of a lot of engineer frustration so I felt obligated to at least try it. Now I'm pretty much full time leader and haven't coded anything in about a year but my job now is to spot talent, call BS, and nip bad ideas/programs in the bud.
I can't tell you how many stupid, pointless technologies I dug into and then fixed that provided no immediate benefit whatsoever but I learned to spot patterns which is invaluable. For example, I screwed around with Artifactory as a result of left-pad-gate [1] at DevOps job and got a working system together so now at massive corporation I'm helping some teams learn basics of artifact management even though it's not really part of my job. All of these experiences add up to value for a technology company.
I learned most of my skills from making the "mistake" of curiously trying to help someone fix something and then ending up three days later at 2AM writing some script and thinking to myself "What the hell was I thinking?" but it's always provided more value for me than them in the end.
None of this would be possible if I didn't live in the trenches and absorb systems into my bones via programming. Best advice I can give is to be curious, then be helpful, and then be stubborn. Throw in a few dashes of RDD [2] for self-preservation.
[1] - https://medium.com/quid-pro-quo/what-should-we-learn-from-th... [2] - http://radar.oreilly.com/2014/10/resume-driven-development.h...
10 years later I'm a senior engineer and can take care of my family for life. I wouldn't be where I am today without the start you and the company gave me. Thank you and best of luck in whatever you choose to do in the future.
(Also, great to see someone from my high school class doing huge things. Well done!)
Best of luck in this new chapter for your company, your team, your loved ones, and your life.
I got an internship at the guy's old company and dropped out of school shortly after to work there full time, since then I've done so many things, moved to the US to work for Microsoft, built some really cool software, worked at all these places I couldn't even imagine 10 years ago. It's crazy to think that it all started in a small classroom going through Codecademy, I don't think anything else would've captured my interest in the way your website did. Thank you.
So many of us owe you all a huge debt of gratitude. I have a stable career and lifestyle in part to your work which made programming accessible to people like me.
You're also reminding me that I've been on here for 10 years.
Thanks again
very cool