

The Programmer Entrepreneur Dilemma - fourk
http://kickme444.com/the-programmer-entrepreneur-dilemma

======
geebee
Interesting post. I've been thinking lately about the relationship between the
drive to create and the drive to master new technologies. I think all
programmers experience both types of motivation, but in different proportions.
The risk that Dan describes here is a real one - you can become so enthralled
with creating apps that you lose your focus on mastering technologies. The
opposite extreme can happen as well - you become a master craftsman, but you
lose your interest in imagining and creating new apps. The latter is probably
more employable, though the new "developer driven culture" I've been reading
about lately seems to put a premium on the former.

At the extremes, you do meet some interesting characters (and some hair
raising examples of over and under-use of technology). Some people are so
antsy to create an app that they just can't stop to learn good practices.
These folks learn just enough to implement in the moment, and it's hard for
them to pull themselves away. Expect embedded sql in PHP to grow to thousands
of pages. Then you get the people who are so interested in a new technology
that they almost don't care how or where they're using it. Expect GWT and
Guice to render simplest of web forms. The place where these two extremes
clash the most is testing. App creator doesn't slow down long enough to write
tests. Craftsman says that if it isn't tested, it's broken.

I have to admit that I lean toward the "create now!" side, though I am
motivated through a combination of love of craft and personal shame to put
some time into good design and testing ;)

------
endtime
You're going to hit diminishing marginal returns on learning new programming
languages. Learning entirely new skills is probably far more valuable at
kickme444's level. The situation can probably be framed as an exploration-
exploitation tradeoff, in which getting more depth of programming knowledge is
exploitation and picking up new skills is exploration. Though exploration is
typically blind; in this case, kickme444 is experiencing direct demand for his
new people/product skills. So I guess my two cents is that he's making the
right move.

------
donofrip
I'm currently reading Founders at Work by Jessica Livingston
(<http://www.foundersatwork.com/>), and one of the stories seems to apply to
your dilemma.

If you have the chance I would suggest taking a look at chapter 3 which
discusses Steve Wozniak's early days with Apple. He talks about his hesitation
to leave HP where he was an engineer. At the same time, Jobs was pushing him
to come over and work on their new venture full time. It wasn't until Wozniak
realized (through a conversation with a friend) that he could move to Apple
and continue to be an engineer did he agree to make the move. In the end, Woz
knew he loved being an engineer, and he didn't think that the time and effort
it would take to run/manage a company was something he would enjoy (in fact,
he knew he would not like it).

It sounds like you love learning new programming languages, something that is
not afforded you in your current venture's structure. Maybe you should
consider bringing in a partner to help you manage the business while focus on
programming. Or maybe you should hire a programmer to handle the routine stuff
for your site. Either option could free-up a considerable amount of time that
would allow you to again spend some time each week learning something new.

I'm not sure if that is an option, but it is something to work towards maybe.

~~~
kickme444
Hey, thank you so much for that link, I just bought the book. I think I would
pursue redditgifts as more of a business if there were a business cofounder
involved with me. As it is right now, the fundraising and monetization world
is not something I feel very good at, though I am trying to learn about it
time permitting. My main goal as it is is to just make redditgifts as cool and
big as I can. We're growing at a very fast pace and I'm excited about it.

------
te_chris
I've found that I keep coming across tradeoffs like this, though mine are more
pronounced. My whole life I've been obsessed with music, I'm quite a good
musician personally (studied it at University) and still really enjoy it. The
problem is that I'm also really into business and startups and, through the
former, have become quite obsessed with learning as much about web development
as I possibly can. This has eaten up a whole bunch of my time and taken me
away from my work as a musician and a recording engineer. I'm still trying to
balance the two, and then within the startup side, balance being a dev and a
business guy.

It's certainly not the easiest thing in the world, especially when my artistic
passion is not so related to my startups - though some of the skills transfer.
In the end I'm just trying to make sure that I allocate at least a few solid
hours each week to just playing/writing and enjoying music. It feels like a
relationship to be honest, but I guess this is what most artist's have felt at
some point when they realised that they were also good at and interested in
something that would help them earn money.

Are there any other HNer's who are artists (of any form) and running startups?
How do you guys balance your time?

------
brlewis
I have the opposite problem. There's always a new programming technique I
could apply to make my product give users a better experience. It's hard for
me to act according the the idea that a good product is only one ingredient in
a successful business, even though I know it's true. Programmers want to
program.

------
BrainScraps
All of the non-tech readers are drooling, thinking

'Oh, don't worry about learning all of that business strategy, customer
acquisition and marketing stuff, you can take on a friendly MBA to help you
out with it!'

How do I know that they're thinking this? Hmmm.....

------
tarunkotia
It depends on what you want out of Redditgifts. If it is a "project" then you
can continue to hack around with new technologies but if you want to make a
business out of it then probably you should use the tools which you have
already mastered (in your case python). Creating a business itself is so
demanding that shifting your focus on "newer" technologies (e.g. node.js) will
make it twice as difficult. One approach which you can take is to use the
technology which you know well to create critical business components and for
housekeeping (metrics, analysis etc.) use the bleeding edge of technology.

------
sebilasse
I think as a programmer (employed or freelance) you have to improve skillsets
in two areas: technical and business. Technical is what you focused on mostly,
now it's time to brush up your skills as a business-dude. By starting your own
project, venture, startup you will eventually learn first-hand what your
current and future employer expects/values of you.

Running my own (bootstrapped) start-up helped me a lot in becoming a better
freelancer (and probably employee) - I do freelancing for some beer-money.
Once you pay somebody to do something for you, you see the little and big
things that an employer values. You also realize that your code is essentially
just another part of your company, that has to make money. You will also see
if it really matters if the project is written in python or in
clojure/scala/node.js.

------
luke_osu
My problem seems to be the opposite. I spend any free (non-family) time
working or tinkering on side projects so I don't get to learn new things like
Objective-C or Ruby. Things that I have been interested in for awhile.

If I could get a paying gig on a new technology then I would be golden :)

------
troels
I have spent about the same time honing my skills in this field, but rarely
have I had a clear direction. I've rather just done stuff that I found
interesting, which may or may not be directly applicable. Not really related
to you main point, but I'm intrigued by the seemingly very different
approaches we have.

In my experience, programming is only partly about computers and much more
about the reality that you try to model with them. Understanding this reality
requires knowledge that people will usually not label as "computer skills". So
don't be afraid of picking up some knowledge about how businesses work - It
will certainly make you a better programmer.

~~~
kickme444
It is interesting. For the first few years My education was very unstructured,
I'd learn new stuff as I found out about it. I think after 3 or 4 years I
started to get into the habit of reflecting and defining learning goals the
day after new years. I really enjoyed this, it's about the only new years
resolution I've ever been able to stick with.

Last year I did this and bought my books and then never read them.

------
mixmastamyk
It is fantastic to learn, but at some point it is also time to do.

------
leon_
> but I worked off hours learning new technologies and programming languages

I don't count that as work. It's rather recreational.

~~~
joelhooks
It is definitely work. You may /enjoy/ the work, but you are still working. It
is essentially night school without the drudgery and slow pace of actual night
school. Not to mention you can learn what you want when you want it.

