Why I created MBAHacks.com, or Why I am learning to program
mbahacks.com
mbahacks.com
How?
Made to Stick has a great story about a math teacher who struggled to convince his students of math's importance in life. As he put it, math is like weight lifting. You don't work out to prepare for the day a rogue barbell comes and traps you on the ground, you work out so you can run faster, tackle harder, and jump higher. Math is weight lifting for your analytic mind - it helps you rationally think through problems and establish logical steps to the solution.
Learning to program, and to take it further, learning computer science, is not about making the best app ever created. CS is mental weight lifting on the _process_ of tackling business problems. Dissecting an app into its MVC components will help you understand the business you plan to create, what is core, and what is fluff. In other words, learning to program will make you a better business person, even if you suck.
I also see other parallels between building great software and building a great business. For one, focus is important for scaling both. You don't want to be all things to all people.
In addition, whether you're bug tracking or solving business problems, it's important to get to the root cause. Full disclosure: I used to be a management consultant.
Finally, it takes a great team to build great software and a great company.
I'm sure there are many others. Would love to hear what others here come up with.
1) don't lose your coding skills (I was good at perl/awk, APL, C and Fortran). This I did
2) concentrate on linear algebra, stats/prob, calculus (this i didn't)
3) take law school classes (this i did, they were gnarly)
tl;dr your 2nd year you can do pretty much whatever you want. You can make it a profoundly intellectual experience, or start your business, or whatever
I've also learned that there is no one path to entrepreneurship, or programming for the matter. For some people it makes sense to quit school or avoid college. Others follow a more traditional route. There are pros and cons to each. More importantly, it is an extremely personal process. What makes sense for one person does not make sense for another.
As for me, I am very happy in my decision to attend business school. In addition to the networking benefits you pointed to above, I've found that some of the things that I've learned (e.g. Coaching and Mentoring) have wonderful applications to my personal life. Put differently, business school has made me a better father. I plan to write a post on this soon. All the wonderful friendships I built while I was there is icing on the cake.
I should also point out that I didn’t go to business school for the hard skills (i.e. finance, accounting, etc.). You can learn a lot of that by picking up a book. I went to business school to become a better leader and person. Classes like Interpersonal Dynamics (aka "Touchy feely"), High Performance Leadership, and Leadership Coaching and Mentoring are the main reasons I attended business school.
Finally, while at business school, I made an effort to meet and build friendships with brilliant graduate and undergraduate students across all of Stanford. I now know wonderful people that studied CS, Engineering, Earth Sciences, Stats, Medicine, and much more. I feel fortunate to have had the chance to study with all these people.
An MBA doesn't provide you a road map, it gives you a framework of how to approach business questions and an understanding how simple decisions cascade down to all aspects of a company (hr, accounting, operations).
An easy way to see if this is statistically valid, or just something that MBAs tell themselves, is to make a list of 'good' companies (by your personal definition of 'good') and see if the folks who built them had MBAs. The results might be surprising (either way).
Obviously it depends on the startup. B2B businesses would get more value out of those connections. I stated that it's likely the biggest benefit of business school, not the only benefit. A true cost-benefit analysis would look also at the knowledge acquired as well as the strength of the alumni network.
@stfu There are two ways you could try to go about it:
1) Try sticking to one technology and working on a project you're really passionate about.
2) Work on a tutorial from start to finish.
This summer I was thrown onto an android project with no experience, no in-company mentors, and I barely remembered how to write java. The first two weeks I just did tutorials. I didn't even try to patch them together to actually make a product-- I just did a dozen tutorials which covered different aspects and left them all in my code folder. When it came to actually building my app, I now had a personalized pool of code to grab from! It really helped to be able to go back and reference it.
Also, I think you are not going to be well helped by tutorials. You need a freaking textbook. http://greenteapress.com/thinkpython/html/index.html You are required to do at least 50% of the exercises for each chapter.
Furthermore, it is important that you master a single language rather than dabble. Once you understand a single language in&out, it will make it much easier to pick up other ones. (My 'mastery' is in python, and I've picked up java, C#, SQL, javascript.)