Hacker News new | past | comments | ask | show | jobs | submit login
This is Why You Spent All that Time Learning to Program (dadgum.com)
176 points by DavidChouinard on April 3, 2012 | hide | past | favorite | 23 comments



Or you could start your own news channel on YouTube, and advertise it locally (in the local paper / subway / with locally-targeted Internet ads).

It's not computer programming that's special. It's computers themselves -- they have greatly lowered the barrier to entry for many creative professions. (For which we must thank programmers, of course!)


True, mostly anyways, but nobody talks about the other side of the learn-how-to-program hill.

You can create anything. Anything. Want to write a database? Go ahead. Hack on a GPU, nothing is stopping you. Make a recommendation engine? Why not? A game? Trivial (to get started at least).

Once you know how to program (not just one language, some high level stuff and some systems stuff) and know the surrounding tools and communities around the languages sometimes you'll feel like all you want to work on is stuff that pushes your knowledge, even if you could easily make a Exec type of app that would make you more money than programming something that is new to you, like an operating system.

It is a strange situation.


You can remedy that by ditching whatever framework you use, and writing your applications at a lower level. From my experience, it is not going to be easy but the final result will be a lot simpler (and you will have lots of fun). Also, you will notice that far fewer patterns emerge than your framework try to impose on you.


What I'm talking about is beyond frameworks. I'm not a web developer, I'm a developer. For example: using scipy and numpy together to solve difficult statistics problems, rolling some stuff in C or cython to get speed boosts then pulling it together into an api by using tornado to service a rails app that needs some sort of on demand stats generation. Or programming an adrino. Or writing some mouse driving scripts, or using the SDL in C to make a game. Or whatever. Once you learn how to code to a certain degree you can do anything you want which is daunting because you don't only have a hammer. You have a tool chest and unlimited material to build whatever you want. Sure you could make cabinets (Rails apps for tabular data) which are easy and make good money, but you really want to make helicopters because that looks like a challenge, even though it will be harder and you will be in an environment you don't know how to handle.


The analogy doesn't hold up.

The equivalent of making fundamental changes to a TV station in IT is to use your CS degree to make Facebook allow customised homepages in the style of MySpace. The fact that you can make a Facebook/MySpace clone at home in a few night compares to buying a video camera and recording your version of the news in your kitchen.

Now, I agree with the conclusion: Computer programming is the great equalizer: for the low cost of a computer, a few books and an Internet connection, anyone can build the next Facebook. There are literally no further barriers.


Yes- The TV station in question has a -team- working on an established product with an established methodology (whether it all works well together is another topic). It's unrealistic to expect quick, large-scale change in any big operation that's driven by a large team... no matter how great the new ideas are. It can happen, but it takes time.

A skilled developer can single-handedly shake up the paradigm and drive things in a new direction. The real challenge for the organization that grows up around that game-changing idea is to avoid behaving like the one it replaces.


I think the author is missing the point. The local TV station format is what it is because this is what SELLS. Our programs are subject to the same market forces. We are only free to design the internals.


I thought the point was that you have the freedom, as a programmer, to try whatever you want. Your success is still limited by the market, but you are not limited by needing substantial capital or needing to motivate a large team of people. At least, not at first.


Only if your project is small enough that it doesn't require much more than your spare time. Hire one developer (or quit your job for that matter) and you are taking a $100,000 gamble.


I used to have a boss who would tell me how I had the power to do anything, to change the world, with my magical software-writing abilities. He didn't understand why I wasn't out starting my own business, with no one to tell me what to do. But there is always someone to tell you what to do. Whether it's your employer or your customer (and even that distinction is dubious), whoever has the money makes the rules.


You can fire your customer; employer not so much.


Well, it's right in fact that they are some rules that must be followed in order to build a good app. The bad thing is that these rules are hidden and change constantly. Another thing is that internet seems borderless but it is not - there are different habbits in different countries that are to be taken into account (although there are some apps that fit all but it is again due to following some rules).

So, I guess, building a good app is even harder then creating good TV-channel in some way (if you have enough money for the second, of course :)).

But that makes the whole thing much more interesting. You know we have a song called "Men in front of the monitors". I won't translate it, here's Google Translate variant:

"Those eyes could stare into the distance and look for land on the horizon. They could tear from the cold mountain tops or from the dry dust storm in the desert. Those eyes would go blind from the white snows of the polar dim light or navigation devices. They could, without blinking, pierce the night and see the stars ... But those eyes looking at the screen The man's eyes at the monitor

These hands could compress the steering wheel. These palms can be abraded on the ropes and sails and ropes the front. The fingers could be cut by the rocks and ice. They could turn black from the fires and winds, they can become hard and dry, but relate to women's leather soft and strong, taken by the waist or shoulders as take forever .. But they quickly ran her fingers over the keys .. men are in the monitor

These individuals could be weather-beaten all the winds, they could become peaky and whip wrinkles: fine wrinkles around the eyes, deep forehead. These cheeks can become hollow and unshaven, the lips can become dry and cracked from thirst in the blood, but to be able to kiss her so, so touched his lips to your favorite ... And those lips are stained from coffee, tea and cigarettes these persons in the pale blue light of the screens ... Men have monitors

Those eyes are tired of sleepless ... These fingers are running over the keys ... But it seems that the fingers grip the steering wheel, paddle, or compress or squeeze the shoulders of wonderful ... Men have monitors"

Well, the whole point is that nowadays all discoveries are made near the monitors as they were made in faraway seas and countries. (although song is not exactly about it - it's just my thoughts about it)


Actually, developing web applications isn't much different. you still need to obey the rules and follow best practices (especially UX-wise), otherwise customers will go to another provider. So by saying you have a huge freedom, you are just lying to yourself. Because you don't. Unless you're making stuff for yourself alone.


>otherwise customers will go to another provider.

Isn't that the whole point (let the customer decide)? It's your project and you can design it any way you want as long as it works. You can try something new but it doesn't mean you'll be popular.


Well you said it yourself: within reason. Commercial TV stations are popular because they do it within reason.

Yes you can always try something new, but IMHO you're wasting time if there's no real purpose - other than taking a totally new approach by breaking common rules - in the long run.


> IMHO you're wasting time if there's no real purpose.

You're arguing something that no one has mentioned.


> You can try something new but it doesn't mean you'll be popular.

It's a conclusion to this statement.


That's a conclusion you jumped to. The product may not be popular simply because of the colors or pricing, neither of which have anything to do with the purpose of the product.


Amazing how much it means what time of day you post a story.

http://news.ycombinator.com/item?id=3791444


I spent all that time learning to program because I loved that it let me make things all on my own. I got to play as much as I liked. I remember first learning c++ (after visual basic), every new chapter gave me an awesome new power, Vectors ! Pointers, Classes ^_^

I knew I was in deep when in college I started bringing my c++ book to drama rehearsals. . .


Feel good story but analogy doesn't hold up. Try changing the way things are done in any dev group the size of a local TV station. Very hard. People will be people no matter what they do for a living. Coding your own app solo in a new way is the equivalent of making your own news and uploading to YouTube.


If you consider the conclusion of this post, it means that indie game developers that create a 1-hitter over 10 years of hard labor to finally end up being acquired and rich is a waste of time.

And I'm fine with that conclusion


I love his whole philosophy on programming. If you read this other posts there's a definite trend of him emphasizing getting things done over getting things perfect. This is one piece of that overall philosophy.

I just spent a few weeks studying OOP and the best practices of implementing the MVC pattern and I'm not one iota closer to a working prototype. I can easily knock out a quick prototype of my idea but I'm imprisoned by exactly what the author talks about. I'm trying to do things as others always have instead of just doing it. No one is looking over my shoulder waiting to give me a grade so why not just fucking knock it out and fix things later.

I like this guy. His other posts are all real gems too and fit into this pattern.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: