When I was still in college I had a question that no one wanted to answer. Every time I asked, the teacher or student will pretend they didn't hear it and just change the subject.
A student would say, "Take this programming teacher, he is amazing. I got an A in the class." And silly me would ask, "does he have any software he wrote that I can check?" And they would continue praising the teacher never answering my question.
When I started writing a little bit of code and understood its power, I quickly fell in love with it. I spent a lot of time online reading forums, and downloading other people software and it instilled an idea in me. Everyone that calls themselves programmers had a bunch of random software on the web. Whether it was a website they coded all by themselves or a script that perform a little task to save time, they all had something to show for.
I took the route of creating websites at first, then posted some small functions I wrote on IRC. It was very primitive but I did it because that's what all programmers did. I didn't feel ready to contribute to open source at the time because I was very new to programming. But I thought whatever code I post online will end up helping someone eventually.
The web's strength is also its weakness sometimes. There is just too much information for a newbie to find his way around. I decided to go to school to find a structured program that can turn my chaotic mind into a professional programmer's mind.
But when I went to school, it was as if no one cared about what was happening online. It was a small bubble that chose books and teachers as the only resources. I know the web can be overwhelming but I surely expected the teachers to be the wise folks that had enough experience to bring us the best of the web and nurture our young minds. But it was as if the web was the enemy. One day I used a trick I learned on the online to complete my group project and I was called a cheater and was threatened to be expelled
For the next semester, I started asking advice on which teacher to take for C++. And I started asking if they had written any software before, never getting an answer. I started auditing classes even if I wasn't registered. Every teacher I asked the question had nowhere to point me to. It was as if they had stumbled into being programming teachers by accident.
Then one day, I found one. I can't remember his name. He was one of the programmers building hand-held calculators at Texas Instruments in the 80s. He had the calculator in class. He told his story and it quickly turned into geek talk. He opened his code editor and compiled his updated calculator right in front of us, and started commenting on different sections of the application. He then contrasted how he learned programming in his days versus how accessible the web is today, then talked about the generosity of people sharing their code on the web today for free. I really wanted to have him as a teacher. Unfortunately I couldn't attend the class. sigh
How can we count on school to teach us to become programmers when the majority of teachers have no real world experience. I gave up on trying to learn programming in school because finding an experienced teacher was pure luck.
Unfortunately the popular web does not offer a better alternative. By popular web, I am referring to the plethora of video classes that suddenly appeared after the hour of code movement came to be.
Now everyone will teach you to be a programmer. But just like the teachers with no work to show for, these new instructors don't have much to show either. Going to those coding seminars is not so different than the real estate seminars. Beginning real estate agents go to those high priced events hoping to learn from industry leaders, making good connection, and for the premium package you get to attend the closed door meeting where the secrets wall streets doesn't want you to know are revealed. In reality, those posing as industry leaders are just making money from the people attending the seminars, not selling homes.
This process is not to shame your professor or anything. In fact, it's not even about them. It's about you, the person who wants to learn programming. You wouldn't learn horseback riding from someone who never rode a horse wouldn't you?
So next time you want to learn html, css, php, c++, java or any programming matter, ask the question:
Where are the applications you built with it?