
Why I'm learning to code - Roy Bahat, President at IGN Entertainment - kennyma
http://also.roybahat.com/post/11574823708/why-im-learning-to-code
======
wccrawford
"Every time I open my editor, I’m reminded that I can’t just “jump in for a
few minutes” the way I can with my usual work – either because coding isn’t
like that, or because I’m not good enough yet."

That is the best reason for a manager to learn to code that I have ever heard.
Assuming he eventually realizes that it really is because "coding isn't like
that."

~~~
abyssknight
I'll just leave this here. :)

"I’ve gone back and forth on whether managers should code and my opinion is:
don’t stop coding. Each week that passes where you don’t share the joy,
despair, and discovery of software development is a week when you slowly
forget what it means to be a software developer. Over time it means you’ll
have a harder time talking to engineers because you’ll forget how they think
and how they become bored."

[http://www.randsinrepose.com/archives/2011/07/12/bored_peopl...](http://www.randsinrepose.com/archives/2011/07/12/bored_people_quit.html)

~~~
idrinkmusic
That is such a good article! Managing Humans (book written by him) is also a
good resource for managers. I loved that book!

<http://www.managinghumans.com/>

~~~
haasted
It doesn't seem to be listed on HN-Books. Seems like quite an omission
considering the number of articles that get posted from randsinrepose.

------
steve8918
I was in a medium-sized company where the VP of Engineering started attending
design meetings. Talk about a huge waste of time and a huge distraction.

Because he was the VP, and kind of jerk at that, everyone acted differently in
the design meetings but everyone felt compelled to answer his questions
because he was the VP. He would ask obvious questions that would derail the
entire process. It was completely unproductive, but he really felt he could
"add value" by attending the meetings, but it was pretty obvious that his
expiration date as a technical person was long gone.

There was a funny quote a few weeks ago about how Zuckerberg wanted to go in
and fix a few bugs and developers were complaining because he was way slower,
etc, and basically just interfered with the process.

I'm glad that the original author is interested in learning how to program,
but if it means he's going to stick his nose in and start gumming up the
system, then he should stop. Programmers require a certain personality type.
You can't take someone in sales and think that by understanding programming
that it will somehow help him. Leave the managing to the managers, leave the
sales to the sales people, and leave the programming to the programmers.

~~~
qw
_There was a funny quote a few weeks ago about how Zuckerberg wanted to go in
and fix a few bugs and developers were complaining because he was way slower,
etc, and basically just interfered with the process._

Zuckerberg is a college drop out that started Facebook. We don't really know
how his skills compares to others. It's easy to assume he his above average,
but I have no idea what kind of code was behind the earlier Facebook versions.

My guess is that the Facebook that Zuckerberg started is so "simple" compared
to the current version that it requires a different skill set. "Anyone" can
throw together some some php+sql code to make Facebook v1.0, but that doesn't
mean that they are actually an above average programmer. I'm not saying that
he couldn't be an excellent programmer, but he has probably lost a lot of
programming hours compared to others that were at his college at the time

~~~
Hitchhiker
Bill Gates may have inspired more cred during the early days. There are some
hints about from history regarding his grip on things..
<http://en.wikipedia.org/wiki/Pancake_sorting> and taking
<http://en.wikipedia.org/wiki/Math_55> ;-).

------
ChuckMcM
Its always a good thing to know the work that your employees do, it helps
evaluate their strengths and it helps in understanding the priorities of their
requirements. I remember a manager at one company saying that programmers
liked to have two monitors because it made them 'look impressive.' I asked if
they really thought that reason really entered into the top 10 for the request
and they were convinced that since they could do their entire job with just a
lap top screen than more than a single big screen was a waste. Sad, so very
sad.

It is also important though to keep track of what you don't know. It is never
good when you have a manager who has been out of the thick of things long
enough that they have lost the appreciation for the subtlties, trying to
direct design decisions. I find this is hardest for managers where they were
the primary coder on a project before it grew too big and they ended up
managing it, and now it has evolved beyond their original understanding of it
but they haven't realized that yet. Awkward!

------
larrys
Even though Roy has stellar academic credentials...

"Roy graduated from Harvard College. He was a Rhodes Scholar at Oxford
University, where he was also a lecturer in undergraduate math and economics."

...learning to code also involves doing projects where you run into problems
and you learn and figure out how to solve those problems.

Over time.

Sometimes by spending hours on end only to have to wake up the next day with
the answer.

It's certainly not just rote memorization to be tackled like learning latin or
another language. Where accuracy and efficiency is not as important. And you
can make mistakes and by context humans can figure out what you are saying or
writing.) Or like running a ski resort and learning how to ski etc.

I think this is the most telling thing of what he hopes to achieve:

"I sometimes feel like a newspaper publisher who has to take his editor’s word
for it that the articles are good."

I don't see how he will come close to devoting enough time and learning enough
to make any judgment on whether the programming is good or not.

~~~
kennyma
He also follows that sentence with a really good point "You trust your people,
you know you could never write the way they do, but it would still be good to
be able to read."

------
dustingetz
lately i wonder if these "biz guy learning to code" posts are harmful. I'm not
sure which is worse: a product owner who can't code, or a product owner who
_thinks_ he knows how to code.

 _"People who are not professional programmers often don’t realize how the
difficulty of writing software increases with size. Many people who wrote
100-line programs in college imagine that they could write 1,000-line programs
if they worked at it 10 times longer. Or even worse, they imagine they could
write 10,000-line programs if they worked 100 times longer. It doesn’t work
that way. Most people who can write a 100-line program could never finish a
10,000-line program no matter how long they worked on it. They would simply
drown in complexity. One of the marks of a professional programmer is knowing
how to organize software so that the complexity remains manageable as the size
increases. Even among professionals there are large differences in ability.
The programmers who can effectively manage 100,000-line projects are in a
different league than those who can manage 10,000-line projects."_ [1]

I had a product owner once who had an EE & signals background. He thought
since he could implement a complicated algorithm in matlab, he knew how to
write software. Love the guy, one of my long-time mentors, but the project
didn't go anywhere and part of the reason is some really bad early technical
decisions.

[1] [http://www.johndcook.com/blog/2008/09/19/writes-large-
correc...](http://www.johndcook.com/blog/2008/09/19/writes-large-correct-
programs/)

~~~
jhamburger
I see what you're getting at but in this case the author is clearly taking a
very humble approach.

------
mfaustman
As long as you understand where your team's talents are best deployed, a wider
knowledge base of your product is only an advantage as a manager. To your
point edw, yes when someone attempts to add value where they have no skill,
frustration ensues. But, when you can better communicate with your team and
understand their plights (via a knowledge of your tech), then expectations
align and make for a better team workflow (emphasizing wccrawford's point).

------
BadassFractal
There are few things out there as infuriating as as non-technical co-founder
(or say, someone higher up the chain if you're reporting to someone) who's
written some crappy code once or twice in his life and then believes he's
ready to tell professional software developers how to write code.

There's so much attention to detail and subtlety that a well-educated engineer
with years of professional experience and a vast toolbox puts into his work
every day, that the active involvement of an unqualified outsider can be
absolutely devastating.

Thus, I think it's great that the CEO understands in general terms what it's
like to write code, but he (or anybody else for that matter) should not
attempt to participate to the process first-hand in any way. You wouldn't dare
help a brain surgeon with a scalpel just because you know how to cut a steak,
why is it any different for the highly brittle and sophisticated world of
software?

------
rokhayakebe
Everyone should learn how to code just as everyone learns basic arithmetic.

~~~
misterbwong
What would be the utility in doing this other than increasing the number of
"coders"? I would make the argument that there are other, more practically
applicable areas of study that would benefit the general population. Basic
physics or even basic anatomy and physiology comes to mind.

~~~
InclinedPlane
What is the utility of teaching people arithmetic other than increasing the
number of "mathematicians"?

This highlights an important aspect of the immaturity of software development,
we lack the terms to even talk about it with very much detail. We don't put
everyone who knows any amount of math in the same bucket, we don't even put
people who know vector calculus and differential equations in the same bucket,
we appreciate that there are many grdations of skill and differences between
people who know a thing to some level of competence and people who use that
knowledge intently in their occupation.

The same is true with programming. Just because someone knows the basics of
programming doesn't mean they are a software engineer. It doesn't mean they
are capable of building or working on large, sophisticated systems. It doesn't
mean that they necessarily must take up programming as an occupation either.

Similarly, taking a wood shop class or learning basics of automotive
maintenance doesn't make one a carpenter or a mechanic. But that doesn't make
those skills useles either.

~~~
misterbwong
Yes, there is some utility in teaching the general population _a_ skill but I
don't believe that coding is _the_ skill.

Don't get me wrong, it would make the jobs of those in technology a bit
easier. But I think that there are better uses of resources.

------
fkn
It's great that he came to the realization that coding isn't something you can
do for 15 minutes, in between meetings. Most of the managers at big
corporations don't seem to understand how meetings can just kill off a day's
productivity for a programmer.

------
Tyrannosaurs
While this is a good thing my immediate concern is that a little knowledge can
be a dangerous thing.

The good side is that it will help him understand how coders working under him
operate and that's great, but I'm not sure it's the most efficient way to get
that knowledge. Simply listening to them (and their managers / team leads),
maybe reading a couple of books on the subject would allow him to understand
that in a way a bit of hobby programming simply won't.

The downside is that the lessons you learn as a beginner don't automatically
scale to larger projects of the sort his development team(s) are working on.
I've seen a business analysts who could code a bit, or managers with outdated
skills, sell a development team down the river making assumptions based on
what they think they know.

So yes it's good, but it's good with caveats.

Knowing how to develop is correlated with being a good manager of developers
but it's not the only way to get some of the skills you need and, at this
point in his career, it may not be the best way and certainly won't teach him
everything he needs to know.

------
capkutay
I'm assuming as President of IGN, Roy Bahat already has his hands full
managing day-to-day operations. I'm sure he's intelligent enough to take up a
task like "learning to code", but can he really put in the time to be a
proficient programmer? It takes a full time CS student about a year before
they really understand the logic of writing program...and then an additional
5-10 years (at least) to become the excellent programmer that a place like IGN
would employ to engineer video games...

My question is, what's his end goal? I doubt he'll be able to balance his job
as President AND devote the time it takes to become a great programmer.

~~~
scottshapiro
He taught a class at UC Berkeley this past spring. The course was excellent,
and he brought in some amazing industry speakers. I wondered the same thing
about how he balances.

------
kennyma
What I really like about Roy's post is that he understands that programming is
a way of thinking and he acknowledges that it's different than what he's used
to. Programming teaches me how to think about abstract problems and to come up
with solutions, and a series of steps to implement the solutions. The coding
part is mostly boring and mindless typing if you have done the first part
well.

I would rather work for a manager that understands this way of thinking over
one that doesn't any day.

------
mapster
As I see it, everyone in a software company should know how to 'code' at a
rudimentary level - and appreciate the process and skill required by the
company. Analogies anyone?

------
Quiark
I really like that he wants to learn something new. And I think it's also
quite important that we, coders, try to learn something from the other camp
too!

------
tomasienrbc
I've always found that hackers should hack and business people should just
conduct business, but each with as deep an understanding of the other as
possible. One of our co-founders both programs and helps on the business side,
because he insists on it, and it just doesn't work. However, his understanding
of what we do from a business perspective and our non-tech cofounders basic
understanding of programming has proven crucial to proper planning and
communication.

Great post, I digging it.

~~~
tomasienrbc
<http://www.paulgraham.com/makersschedule.html>

~~~
tomasienrbc
Shit someone already posted that. oh well

------
afdssfda
The danger in the president learning to code is that no one wants to tell him
his code sucks, then he releases/deploys it and fucks shit up. All I can say
is "good luck".

~~~
kreilly
This is a pretty unfair. He seems self-aware enough to know he probably
shouldn't be releasing stuff to production. But there is a long way from
"learning to code" to "releasing production code."

------
mikemoka
in my opinion he cannot delegate and should actually learn to do that

