calvinfroedge
Why I'm not staking my future on MeteorJS
Merit Based Hiring – blind to race, gender, creed and pedigree
OctoBadge – GitHub JavaScript Widget to show stats and contribution graph on your blog
Great Teamwork with PHP5.4 Traits + Interfaces
Evolving - How a Programmer Grows (Quickly)
Education 2.0 - the Business Model
A (not) Quick Lesson in Operators
The Difference Between a Function-like Macro and a Function in C / C++
How Well Do You Understand Static Variables?
Quick Introduction to the Observer Pattern
Understanding Singletons - Check it out HN, My First Post on Design Patterns
Good Charity, Bad Charity. The Chicken Story and How it Changed My Life.
To echo what others have said, having a problem you need to solve is paramount to succeeding. If you're just reading a programming book, being introduced to totally foreign concepts that you never put into practice, you won't get anywhere.
Based on your background (looks like design and electrical engineering), I think you'll do fine.
Some of my first projects were: - A directory (basically just listings on a map) - A customer survey - A todo manager - A wordpress plugin
All simple projects, but all things I was able to use. When you first start, sometimes you have to reinvent the wheel a bit just to get some practice (it's not like any of the aforementioned haven't been done a thousand times). What you're looking to develop are fundamental skills:
- How to design a relational database - How to design a non-relational database - How to query said database - How to work with strings (splitting, imploding, etc.) - How to work with arrays and loops - How to work with objects etc. etc. etc.
As you keep adding new tools to your arsenal, you'll wake up one day and be really surprised with what you know.
...And as a few others also said - stay humble. You can be proud of the things you create - but just look around every once in a while and find someone better than you. You won't have to look very hard.
Frameworks and Knowledge Workers, Lab Rats and Code Monkeys
What Cycling Taught Me About Teamwork
Those Who Create Marketplaces and Those Who Participate in Them
"For example, imagine a man we’ll call Sam, who was born in 1900 and died in 1974. Sam entered a world of iceboxes, horse-drawn buggies and, commonly, outhouses. He died in a world of air-conditioning, Chevy Camaros and Moon landings. His life was defined by dramatic material changes, and Sam worked feverishly hard to build a company that sold brake systems. Sam wasn’t the most refined person, but he understood that if he wanted to create a secure life for his family he had to create wealth."
I would add to this that between 1950, when Sam was an adult member of the working class, though nearing retirement, the world's population was 2 billion, and today, the world's population is 8 billion. That in itself is going to manifest incredible levels of change.
I think the trend we're going to see over the NEXT century is going to be a return to production, away from SOLELY consumption of goods, simply because, as the article stated, there are fewer low hanging fruits. Couple that with many more mouths to feed, and you have a recipe for a very different world in 100 years.
I believe just for the human race to survive, people will need to start growing food, en masse, at a local level. Even people in cities. Energy consumption continues to rise, but the means to produce it become more and more expensive. We will need to produce alternative methods of energy gathering - which are renewable. So what does the future hold, in my opinion?
1. Rapid population decline after continued population growth because of lack of ability to support growth (ie Malthusian theory) 2. A "return to the farm" - a resurgence in small farms. Energy costs WILL bring down big agrabusiness - just wait. 3. People using more LOCALIZED means to generate energy. In the Philippines, for example (I was there in July 2009), there were a lot of geothermal plants being built near volcanos. Hawaii has been investing a lot in harnessing wave power (and generating a lot of controversy from the surfer community). I attended a "Blue Planet" presentation in Honoulu in May 2009 and talked to many of the leaders of this initiative. Germany is the world's LEADER in solar energy now. People will take what they can get, where they can get it, to meet their power needs. Even in rural Kentucky, people are starting to put solar panels on their houses. 4. Thank god, less of an obsession with money and stuff. Basic survival will once again trump all other needs until we can again reach a level of production where people can go through another lazy cycle.
I started coding HTML/CSS/Javascript when I was 15. When I was 18 I was working on a $14M project doing HTML & jQuery. 19 and 20 rolled around and I thought I was hot shit and could get away without knowing much about object oriented programming and database design. Boy, did experience beat me with a heavy stick.
After blowing through a lot of money paying other people, and not being able to evaluate what they were doing, I started learning to program myself a little over a year ago (December 2009). It has been, by far, the best investment I've ever made.
You HAVE to have mentors, though, bookwork and experience alone don't cut it. Some of my mentors, didn't do anything but talk to me - and ingrain in me the importance of fundamentals - and some basic vocabulary. Some stuff that didn't make sense when I heard it, but produced those "Aha" moments later. Other stuff, like the importance of pre-planning, prototyping, code readability, and NEVER using code you don't fully understand, I was told from the beginning were very important.
Plus, mentors can be different types of people in different types of situations. One of my mentors was an experienced programmer who I lived with for a few months. Others were dudes on stackexchange and serverfault (Yes, that counts), and others were those I read.
The bottom line is, you need to see yourself as an apprentice, always looking for a master to learn from.