CodeAcademy seems to follow the Dijkstra school of CS teaching... start people off with the fundamental principles. Sounds like the logical way to learn, but maybe it's not the most effective.
There seems to be a gulf between "I know how for loops and functions work" and "I know how to use HTML, CSS, PHP and an FTP account to get a website working". People also complain that CodeAcademy spoonfeeds you too much - those of us who had to claw our coding knowledge out of shitty w3schools and tizag tutorials might actually have been more fortunate.
That's why I like Wordpress, or similar platforms. I've known a few people who accidentally taught themselves to code this way: they install Wordpress, then install a theme, then decide they want to tweak the theme and end up accidentally learning HTML and CSS. Then they start installing plugins, decide they want to tweak the plugins and accidentally learn Javascript and PHP.
Without my struggles with CMS or frameworks, I wouldn't have known what to code. But without the likes of Udacity and CA, I wouldn't have known how to code it. But, I can now write a functioning webapp after half a year, while working full time. I doubt that would have happened with just books/tutorials or even a university course.
For what it is, these are great learning tools. I can't fault them for not being designed to make you into a full stack developer, yet.
Though I still couldn't have done it without StackOverflow :)
I think it is absolutely crucial that you have a real world project to work on - something that makes you actually write some code and solve some problems in a production environment. That being said, supplemental education that focuses on fundamentals can drastically speed up the learning process.
It's almost like practicing a sport. There are drills you need to run in order to improve specific skills, but without taking those skills and applying them in a real game situation you never actually connect all the dots that lead to self improvement. On the flip side, its not enough to just play games - sometimes it helps to go the batting cages and practice on a specific skill set. I treat my learning the same way.
Later, reading software design books made sense. I knew why you shouldn't do X or Y, because if you neglected using those techniques you'd end up being Coppermine---powerful, well loved by some, but barely maintainable and extendible only through immense effort and careful reading.
I like to think that I worked my way up the open source software ladder, learning techniques from each piece of software till I was able to make my own from scratch.
I built it in PHP and MySQL and there was no MVC for me. It was a mess. It's been completely rewritten at least three times, and is due another rewrite.
For about the first five of those years, the hosting cost £10 per year, and £2.50 for the domain name. I believe the site now uses a small part of a Linode $20/month VPS.
It's a fun business, but virtually impossible to scale. Good luck.
How do the students estimate the number of items?
Back when I was a student (we used to chase geese to get feathers to make pens in those days) my most difficult to manage possessions were books. Several hundred of them.
Books and clothes are now the core of the business. When we started people all had hifis, 14" TVs, VCRs/DVD players, desktop computers, CRT monitors, boxes of CDs and DVDs - all that has gone now. And books will probably be largely gone in five years.
Of course, the site works and looks good (all that really matters to the end users), if you are getting a large income (and you got to that point quicker because of this outlay) then it may not be worth it to care, but that doesn't seem to be the case.
Personally I'm more interested in how you got a tech consultant position at deloitte (which i'm guessing is quite well paid?) given your lack of technical skills.. or, in what area are you skilled relating to this?
Also 'cpuStorage'.. i can't not think about a processor.
Not to mention the technical skills needed to get a website up and running are totally different than those required to build an enterprise software solution.
Agreed on the previous comment, cpuStorage makes me think of a processor.
Second of all, your home page says "Instragram" instead of "Instagram". Sorry to be _that guy_ but I figured you'd like to know.
He didn't mess around, he just said "I want to build a website", so he started building a website. When he came across a problem, he searched for a solution until it worked. Sounds simple, but there are so many people who won't/can't do this.
Instead of hemming and hawing, and posting on forums asking "what is the best programming language to start with", or "is WordPress the best blah blah blah", or "what is the best tool for this", and pulling his hair out while people argue over Vim vs. Emacs, Ruby vs. Python, etc. He just picked some tools and got shit done. Brilliant. Keep up the good work!!!
Reminds me of what Sam Soffes said on his blog here: http://soff.es/how-to-learn
I am not from the US so one of the first things I need to know is, can I actually use this?