

This is Why You Spent All that Time Learning to Program - DavidChouinard
http://prog21.dadgum.com/132.html#

======
colanderman
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!)

------
3pt14159
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.

~~~
thmzlt
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.

~~~
3pt14159
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.

------
mseebach
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.

~~~
CrownStem
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.

------
blago
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.

~~~
justinhj
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.

~~~
blago
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.

------
psycho
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)

------
tzaman
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.

~~~
tmh88j
>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.

~~~
tzaman
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.

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

You're arguing something that no one has mentioned.

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

It's a conclusion to this statement.

~~~
tmh88j
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.

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

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

------
Tarks
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. . .

------
thvo
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.

------
pothibo
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

------
billpatrianakos
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.

