4 ms·
Ask HN: Business and programming?
Hello everyone, I would like to have your advice on an issue which is bothering me for a while right now. I know there are already some "how to learn to program" threads on HN but I feel like they are not helping with my decision. I'm a 25 years old business student from Germany and I will graduate this year. I already have an MBA degree from an American university. However, my big passion is the Internet and Internet startups. I'm also the co-founder (<10%) of a startup in Germany where I'm responsible for business development. I'm really enjoying what I'm doing and I'm planning to start my own Internet startup after I graduate. However, I'm not happy with my lack of skills in coding/web development.
Sure, there is always the possibility of hiring programmers or getting a programmer as a co-founder for a startup, but I would really prefer to be able to test my ideas myself and not just to be the "business guy" who's crunching the numbers. However, I know that it's a long road to learn coding and I've already made the decision in life to be a business guy. Usually my attitude is that it's never too late to learn something, but I'm not sure whether learning to program is the right choice for me. It would take years before I would be a decent coder and somehow I feel like doubting the path I've chosen (--> business).
I would really like to have your opinion on this. Should I just focus on business or should I just do it and learn to program?
Thanks,
Malte
P.S.: Even though I've studied in the United States, my English is far from being perfect. So please ignore typos etc if possible. ;)
- pj 18y agoThe two are not mutually exclusive. You can do business while learning programming. Programming /will/ help you in business because with programming you can find answers easier. The first thing I would do if I were you and I know what I know now, I would investigate Platforms as a Service. These services allow you to get up and running with a database driven application very quickly and they reduce the amount of "stuff" you have to learn to build systems. Your goal as a business person is not to be the person everyone goes to to get code done, but they'll come to you for answers in the form of reports, charts, and analysis. Today, you can get very far in that direction without programming. My opinion is that web based Platforms as a Service (PaaS) are the future of systems development. Many will disagree. Lots of people will also disagree with me when I say this, but I would suggest if you are going to learn programming, start with SQL. It's not /that/ difficult, but it is very very powerful. What you want to do as a business person is get complex answers out of a database of numbers. If you sit at the top of a company, you want to be able to drill into any piece of data, any aggregate you want and get the answer you need. These are the kinds of answers you will find yourself relying on a computer guy to get for you. Why do I say SQL? Because nearly every system you will ever use will use SQL. It'll use SQL to create, read, update, and delete data in those massive databases you use. Even if the SQL isn't exposed, you can use SQL to mine your own datasets outside applications. Export them, then import them into your personal database and go to town. You'll be amazed at the answers you can dig out with SQL that you can't get any other way. The first thing you will have to do is install a database server, which you'll need for nearly any kind of business programming anyway. Go with Microsoft SQL Server Express, or MySQL. It depends on your work environment and what most people around you know. Use whatever most people around you use. You can choose something else later. Now, once you learn SQL, you will naturally want to display the results you find on a web page. At that point, you'll learn JavaScript and HTML, plus a connector language like .NET, PHP, or Java (unless you go with a Platform as a Service). If you want to skip SQL, I say learn JavaScript. It's very powerful and used in the browser, so nearly every website uses it. There are tons of tutorials and examples on the web. You can use it on the Pre. It's nearly ubiquitous anymore and all you need to get started is a text editor and a web browser. Most other languages require a lot of setup, installation, and configuration of development environments. That's my $0.02. Ask programmers you know in the real world. They'll be invaluable when you run into problems installing the database, connecting it up and getting something working at all. Once you have that, the sky is the limit. P.S. Your english is totally fine.
- malte 18y agoWow, thanks for taking the time for such a comprehensive response/advice. I appreciate. Actually I talked to a few programmers already and no one ever has given me the advice to start with SQL. However, it seems reasonable to me.
- pj 18y agoA lot of people don't consider SQL programming. Usually we think of more traditional programming languages, but SQL is at the root of most information systems. A lot of programmers don't know SQL, it can be difficult -- it is difficult. But I believe it to be the most powerful programming concept you can learn, simply due to the answers it can help you find.
- hs 18y agoyou can make sql-like data management using programming languages (see practical common lisp ch 3); however, you can't use sql alone to accomplish what languages can sql is very limiting ... to me, that's enough to justify not investing more time in sql
- mechanical_fish 18y agoActually I talked to a few programmers already and no one ever has given me the advice to start with SQL. That's actually a tragedy, and I've been guilty of not recommending SQL first, myself. Part of the problem is that SQL by itself is not flashy. It doesn't have a web interface that you'd like to show to anyone (you'd need HTML/CSS/JS skills for that). And once you build your database you generally can't just tell the public to connect to it over the Web -- you need some kind of server layer for that, written in PHP or Ruby or Java or C# or another of the usual suspects. So starting your web development career by learning SQL is like learning to fence by spending the first year doing legwork exercises, never picking up a sword until the second year. But, as my fencing instructor once told me: That's what many elite European fencing schools used to require of their apprentice fencers. [1] And it wouldn't hurt at all to approach web development the same way. Learn the heart of the matter first, and save the ephemera for later. If you can compose a sensible data model (that you can drive using SQL queries from the command line or -- plug your ears, fellow Linux coders! -- Microsoft Access), you'll have a better understanding of the underlying technology of web apps than a surprising number of professional developers. And you're a biz dev guy, so anything you can learn about databases will probably be a win for your C.V. Just be careful: If the word gets out at your company that you can wrangle SQL queries, you might become very popular among the other MBAs. --- [1] They should have required it of me. As a fencer, I moved like a dump truck with one wheel missing. But it sure was fun swinging the sword around ineffectively! I swished through a lot of air!