“Technology is so much fun but we can drown in our technology. The fog of information can drive out knowledge.” - Daniel J. Boorstin
The older I get the more I realize I know nothing. Nada. Zilch. It became even more obvious to me since I started learning programming almost 3 weeks ago. The more I read and dive into related documentation and lectures the less I understand what’s going on. Oscar Wilde was right.
Yup. This is me these past few days. Learning a new complex subject like programming requires constant information consumption, and unless one filters it and limits an intake at some point to make sure a proper digestion occurs an overload is inevitable. Being hungry for information and knowledge is a great thing: it supports constant growth and self-development, shapes current and creates new values, world views and prospective, trims the ‘fat’ and carves a personality. Michelangelo put it the right way:”Every block of stone has a statue inside it and it is the task of a sculptor to discover”. Acquiring new knowledge and skills, travelling to foreign countries, stepping out of a comfort zone, risking - all are tools of a sculptor, and your task is to use them in order to discover a statue inside yourself.
However, information consumption often leads to ‘over-eating’. Unless you are selective, there is a chance you’ll get overwhelmed and give up.
With this in mind I approached learning programming. Being discerning when choosing the resources is necessary, however, when embarking on a new subject you may not be able to express such a judgement and identify non-credible sources. This would results in reading everything. Literally. Everything you find out there on the net. And believe me.. its infinite.
Luckily enough I got to know Natasha Murashev who started to learn programming back in October 2011, hence had a hands-on experience and helped me to navigate through infinite resources, concentrate on the best ones and start digging into Programming Fundamentals first and Ruby.
So, this is what I am working on and do suggest to all the beginners:
- CS106A - prof. Sahami is brilliant. I wish I took this class in person. He elegantly yet in a very humorous and ‘daily life’ way describes technical concepts. I was supposed to listen to only 3 lectures and do the assignment #1, however, I fell in love with the course and the professor so I kept on navigating through the whole class. If you are coming from no-programming-whatsoever I suggest you listen to every lecture to pick up some basic but necessary terminology (variables, method, class, bug, errors, etc.)
- RubyLearning.org - my first week of Ruby learning. The course received numerous favorable reviews and was suggested by Natasha as well. Victor Goff and Satish Talim are super-dedicated teachers and make sure every question (even a basic one) gets answered. I am very excited about installing Ruby and running my few first programs including ’Hello, World!’. My first assignment and quiz are under way!
- Learn To Program - was suggested by Victor Goff and I am loving it! Very precise, clean and to-the-point tutorial written for those who like myself have no previous experience or knowledge, have no clue what they are doing and just keep on consuming new info. Strongly suggest!
- How To Think Like a Computer Scientist - accidentally stumbled upon this fantastic tutorial by Elizabeth Wiethoff. What can I say? - thumbs up! I love the simplicity, descriptive chapters and the fact it was written by the woman. Not that often you meet a technical book written so brilliantly using daily life examples and great analogy. Strongly suggest to newbies!
Yes, I do feel overwhelmed, however, it could have been so much worse if I did not have any guidance from people who went through the same path.
Yes, I do feel there is so much in programming there is no way I can learn it myself and excel…however, I do not give up and do not intend on. There are so many real-life examples of the folks who did it. They keep me going.
Yes, I do feel lost, but its OK. I am too determined to succeed so there is no way I am not “going to be found”. I have people who support me. You should have tou. If not — I will support you.
Yes, I have no idea what I am doing most of the time, however, this is a natural learnign curve. And if you think your leaning curve looks like that:
you are fooling yourself. This is the leaning curve…at least mine: full of crisis of faith, jumps, incremental growth and failures:
So, buckle up and enjoy the ride! With or without me.