[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Industry versus academia




Sundar,

I've obviously offended you, and I apologize.  If I sounded like I was
trying to paint all industry programmers with one brush, then I take that
back.

I *specifically* do not want to be seen as insulting managers, because
managing a programming project is a very hard task.  Many, many constraints
come in, and a manager doesn't usually have the luxury of picking a
programming language simply because it has a sweet type system or cool
macros.  A manager has to deal with the realities of getting a job done,
and that means that he has to hire people with the necessary skill set, he
has to deal with the possibility that those people will quit, he has to
work with a lot of programmers, some great, some not so great, etc.  So
when managers are conservative, it doesn't mean that they're doing anything
wrong.  

When I worked with a startup company, we did most of our programming in
python.  I fought for this, despite the fact that I personally like other
languages better.  But our programmers could get up to speed faster in
python than they would have been able to in (say) lisp, and this was an
important factor.  We didn't get a lot of incredibly talented applicants,
and those who were talented didn't know a lot of programming languages, so
this was an important criterion.

Also, I didn't say that wanting to make money is bad.  I want to make money
too.  But my experience is that people who like to write code for its own
sake are better programmers.  One of our questions we asked in interviews
was whether the candidate did any open source development work.

Finally, while I don't think the average industry programmer is dumb, I
have not met many of them that have a serious interest in programming
languages.  Whether that means that they don't like to learn new things or
whether it means that they don't consider new programming languages to be
worth learning, I can't say.

Mike


> Date: Fri, 21 Feb 2003 18:57:46 -0500
> From: Sundar Narasimhan <sundar@ascent.com>
> 
> You know -- I was going to ignore this thread entirely, but I felt I
> just had to respond to this. While these messages are interesting, I
> cannot quite believe the level of arrogance and ignorance they display
> about programmers and managers "in the trenches". Maybe I'm just
> reading them wrong.
> 
> Let me just add a couple of points for you to think about:
> 
> - In industry we are facing 17$/hour INFY programmers, and BPO
> outsourcers from Israel and Australia.
> - Managers are asked to deliver double the complexity in half the
> time, and oh, btw, with half as much staff.
> - And don't even get me started about vendors. Software companies buy
> each other all the time, and licene prices usually go up.. where does
> that leave enterprise developers, the ISV or the VAR markets? 
> - Dan's message points out that marketing and mindshare are still the
> Hard Problems (TM). So what else is new? (I could have told you that
> in the 80's when the Lisp community was debating threads or the X
> community was designing Unix desktop frameworks -- both these lost,
> because they talked down to the programmers/market they were actually
> offering tools for. Some may claim the battle is not over yet, but I
> hope you get my point).
> 
> In summary, why do you all believe that the average programmer is
> dumb, and does not want to learn new things? I don't see it that way
> at all. (The pressures on an average American programmer with a
> mortgage and kids -- given all the above -- is not that incomparable
> to what a high-achieving undergraduate feels at MIT in terms of
> learning scheme :). And managers are smarter than people here seem to
> give them credit for.. they must understand where their work, and
> yours incidentally, fit within the software ecosystem.. and more
> importantly where software fits within the context of human economic
> activity and the rest of the usual business value chain. Besides, in
> engineering driven organizations.. most managers were engineers
> themselves at one time, no? Didn't Dan hack code once? How can they
> turn into status-quo seeking automatons after a couple of promotions?
> Why do you believe they do?
> 
> If someone doesn't vote for a candidate, does it say something about
> the candidate, his/her views/positions etc., or does it say something
> about the voter? (Doesn't this apply for languages and tools as well?)
> 
> And finally, I'm well aware of the "programming is a craft" view. But
> even craftsmen charge for their services.. so I don't quite know what
> Michael is getting at when he says "programmers in industry wanting to
> make money is a problem"? 
> 
> O' well. 
> 
>    Matt, this is one of the most cogent summaries of the language developer's
>    dilemma I've ever read.  Thanks very much for your post -- I agree with
>    essentially everything you said.  I will add that another problem is that
>    too many programmers in industry are only there because they want to make
>    money, and this attitude does not generate the best hackers (nothing wrong
>    with wanting to make money, but if that's ALL you care about...).
> 
>    My conclusion after reading what you wrote is that there are only two kinds
>    of language evolution that can happen:
> 
>    1) Industry-initiated and supported languages like java and C# that are
>       very conservative languages whose main purpose is to make things easier
>       on the average programmer without burdening them with much that's new.
> 
>    2) Grass-roots languages that come from academia or from motivated
>       programmers (e.g. ocaml, lisp variants, perl, python, etc.).
> 
>    Sometimes, languages in the second category can migrate into the first (I
>    see this happening with python).  In many cases, though, it won't happen,
>    because most average programmers don't want to learn new ways of doing
>    things.  From their perspective, I suppose it makes sense.
> 
>    Mike
>