Lazy and Inexperienced or Latent Management Material?
February 23, 2010 11:01 PM   Subscribe

I am mentoring a college kid who wants to be a programmer. I am detail-oriented; he does the bare minimum required to get the job done, but he gets things done. Am I right to push him toward thinking about doing project management rather than hands-dirty techie-developer type stuff? Or is he just lazy and needing to be schooled?

I always wished I could be more like this type of person -- doesn't obsess over the details, just powers through stuff and gets it done.

I have been thinking about asking him to start to keep track of projects, and maybe even to help me keep on task and finish the two classes I have left to get my university diploma, which I should have done about 8 years ago. (That simple role alone is worth at least hundreds to me if it could work)

Right now he knows enough XHTML and CSS to make a simple website with very basic graphics. He has also taken a rudimentary programming class using VB and says he liked it.

While he was taking the XHTML and CSS class, he would routinely come over to my house, flip open to the chapter exercises, and ask me for the answers. That were all printed in the chapter in the book.

His error breakdown was about 50% typos, 50% misunderstanding of syntax.

I agreed (to the person who set him up with me, who is MY mentor in an unrelated area) to offer him paying work from time to time when his skills would be helpful. But honestly, at his level, I'd have to deny that work to a 50 year-old recovering alcoholic who I'm also mentoring, who has done FAR more work toward his goals, and I feel the older guy needs the financial help more.

Argh. Answers to the following are appreciated:

1) Is it weird to basically tell this kid, "you are project manager material and maybe let's work in that direction" if that's how I really feel?

1a) Has that been done before?

2) There have been slacker programmers before. But at what point do you draw the line and say, "you need to study harder" rather than "OK you just have no natural talent or interest here?"

Thanks for your help...I need to start doing something because I'm concerned I'm pissing off our mutual acquaintance.

Also, I realize I'm a tad obsessive :-)
posted by circular to Work & Money (28 answers total) 1 user marked this as a favorite
 
Best answer: I'm not a programmer, but I have tutored kids in subjects that require attention to detail, namely, math.

Some kids just have an appreciation for the fact that detail matters...and some don't. And I'm not talking about parsing the difference between 27 / 7 = 3.857 vs 27 / 7 = 3.85.

I'm talking about kids saying "Well, it doesn't matter that the question is asking me what 27 / 7 is...I want to divide 27 by 6."

Some of this is an issue of maturity, some of it is merely personality.

It takes a while for a kid to know himself well enough to determine whether he will be a good programmer or a project manager or an artist or a waiter or whatever. It will be even harder for him to understand you telling him that his failure to pay attention to detail suggests to you that he should find a different path. Kids just aren't able to grasp what you are able to intuit here.

I would either focus on helping him in those areas in which he shows a genuine interest, or find programming-related tasks that don't require the attention to detail that you don't think he's capable of providing.
posted by dfriedman at 11:08 PM on February 23, 2010


Your question gives no reason as to why he is more of a candidate for project management, unless you're saying all lazy programmers should just transition to project managers and be lazy people in that position, and in fact, from what you've written I disagree that he'd be suited to management, project or otherwise - especially given his uninterest in details or paying attention to them. Also, keep in mind please that project managers aren't just shit at everything else and lazy, uninterested people.

So to answer your first question: Yes, it is weird to basically tell him that he's something that he's clearly not. Although, yes, I'm positive that someone in the world has done that before. Don't be that guy.

Also, that may be how YOU feel, how does HE feel?

Second question: It's very confusing. If you think he needs to make an effort, and study harder, then SAY SO. If you think he has no natural talent, I think you should keep that to yourself, as he might have the INTEREST, but you just haven't seen it. Talk to him. Find out whether it's that he needs to study more and try harder, or if he's coasting by but still has the interest. Bring this up to him and see what he says. He might surprise you.
posted by kirstk at 11:14 PM on February 23, 2010 [4 favorites]


I am a programmer and it would really annoy me if I had a project manager who has not been a programmer, because they wouldn't know how to structure deadlines properly nor have a very good grasp of scope or requirements without relying on us to help him do his job. Tell the kid he's not cut out for the software industry and that's ok - lots of people aren't cut out for it.
posted by cmonkey at 11:16 PM on February 23, 2010


I question some of your assumptions. After many years in the IT world, I'd say the most productive programmers are those who feel compelled to find an easier or more efficient way to accomplish something, i.e. the best programmer is a lazy programmer. And secondly, a project manager who isn't detail-oriented, organized and meticulous is a pantsload of fail on the hoof; I think it's possible your own prejudices about the merits of project managers may be driving you in a counterproductive direction with your protege.
posted by 2xplor at 11:16 PM on February 23, 2010 [6 favorites]


he does the bare minimum required to get the job done, but he gets things done.

For he himself has said it,
And it's greatly to his credit,
That he is an Englishman! programmer.

For he might have been a Roosian,
A French, or Turk, or Proosian,
Or perhaps Eye-tali-an!

This is the whole point of programming really: getting the job done with the bare minimum of work. Of course, we mean the bare minimum of work on the part of the computer, not the programmer, but the philosophy still applies.
posted by orthogonality at 11:21 PM on February 23, 2010


I'm not sure why you think the kid is project manager material. I can understand why you would point him away from programming, but as far as I've seen, project managers have to be detail-oriented to quite a degree. There are more jobs in IT than developer and project manager (I'm a DBA).

Is it necessary for you to tell him how you feel at all? Couldn't you just suggest that he'll need to work harder, and help him as needed on his work, but let the college courses themselves grade him on his abilities? You never know, he might put more effort in as the assignments get larger and more complex; I certainly did. Or if he doesn't like the work, he'll drop out or fail out. But he should still get the opportunity to try. I saw some "slackers" in first year CS become hard workers in later years and then in their careers, so it's not unheard of.
posted by sinderile at 11:26 PM on February 23, 2010


Best answer: Help him learn how to study and work hard and HOW to get those details. Telling him what he'll never be able to do is the job of his teachers; as his mentor you're supposed to be encouraging. If he really does fail, even with your help, it'll be no one's fault but his own... unless you tell him that he will in advance, and then it'll be your fault. I can't think of any kind of job that doesn't require an attention to detail, so I think it will be better for you to work with him on that. I know from personal experience that without attention to detail it's hard to get a job doing anything.
posted by amethysts at 11:45 PM on February 23, 2010 [2 favorites]


Er... programming at its most basic level is all about watching out for typos and understanding syntax. If he can't master that, he's not getting anywhere.
posted by Xany at 11:49 PM on February 23, 2010 [1 favorite]


I have no idea what this kid could be good at or bad at.

But what's obvious is that you're harboring latent, passive-aggressive hostility against project managers. Maybe it's because you've never worked with truly competent PMs, but believe me they are out there and the secret of their success is most definitely not laziness.
posted by randomstriker at 11:50 PM on February 23, 2010


I don't see how he's project manager material if he's lazy and/or a poor coder. The project manager needs to understand the code, in addition to the whole managing people and projects part. He needs motivation to try harder. Perhaps the assignments aren't exciting to him.
posted by xiaolongbao at 11:54 PM on February 23, 2010


Best answer: I suspect that before the kid has any kind of career options, he's going to have to get a solid work ethic under him first. There is a large difference between "cuts directly to the heart of the matter when resolving issues" and "skates by on bare minimum effort, leaning on others the entire way."

A kid who can't keep his focus together long enough to read his own textbook and follow directions clearly written in it is not going to make a good personal assistant for you, the mentor and thus the responsible party in the mentorship. There's questionable ethics involved in "hey, I'm going to teach you how to do your shit and do it well... by making you responsible for keeping me on task about shit I should've done eight years ago."
posted by fairytale of los angeles at 11:58 PM on February 23, 2010 [3 favorites]


Why does he want to be a programmer? I think have that discussion with him (if you haven't already) and be guided by what comes out of it. It doesn't sound like he wants it enough to put the work in to it.
posted by Logophiliac at 12:29 AM on February 24, 2010


If he gets the job done why do you think he's lazy and/or inattentive?
posted by fshgrl at 12:44 AM on February 24, 2010


Lazy people make shitty managers.

I am detail-oriented; he does the bare minimum required to get the job done, but he gets things done. [. . .] While he was taking the XHTML and CSS class, he would routinely come over to my house, flip open to the chapter exercises, and ask me for the answers.

This isn't "good engineers are lazy" in the sense of "great engineers make the machine do the heavy lifting so they can focus on making awesome things." What this says to me is, "I don't care about the work, I want my grade, please feed me the answers".

If he's not really interested in this stuff, he shouldn't be in a position to manage people who are. Maybe he needs to find something that interests him more.
posted by secret about box at 1:08 AM on February 24, 2010 [1 favorite]


Best answer: This is the whole point of programming really: getting the job done with the bare minimum of work. Of course, we mean the bare minimum of work on the part of the computer, not the programmer.

Not always so when machine resources are cheaper than programmer time. And then there's the mantras of the experts like "premature optimization is the root of all evil" and "The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet." Laziness in the Larry Wall sense is really about the programmer accomplishing the task with as little effort as possible.

I don't know that there's enough information to determine favorable career options for our protagonist in this story in general, but matching work input to the parameters of the task doesn't disturb me much. In fact, it might be a lot better than my tendency in school: I was always trying to have a "real" educational experience, which got me into pickles where I was trying to real research on papers and project, the kind where you don't know the answer beforehand and the related literature is spotty. Great for me that I was internally driven, right? Yeah, I pulled this off a time or two, but I also got some very poor and failing grades... because I didn't correctly assess the requirements of the task and balance them with the rest of the demands on my time. Maybe our friend is simply avoiding that problem.

But there is one thing that bugs me a bit from your story:

While he was taking the XHTML and CSS class, he would routinely come over to my house, flip open to the chapter exercises, and ask me for the answers. That were all printed in the chapter in the book.

And they're printed all over the internet, too. Asking humans who know something about the knowledge domain is often considerably more time efficient than looking things up or studying a text, so I don't want to knock it too much, but the question this makes me want to ask is: does the guy show a basic ability to look things up and put at least some time into figuring them out on his own? Because if the answer is no, you and I both know programming is not his field.

at his level, I'd have to deny that work to a 50 year-old recovering alcoholic who I'm also mentoring, who has done FAR more work toward his goals, and I feel the older guy needs the financial help more.

The world could use more second chances. If it were me and there weren't any significant factors you haven't mentioned, I'd almost certainly offer most of the work to the guy with the stronger work ethic who needs it, and maybe give the kid just enough to help him get his feet wet and start building a portfolio.
posted by weston at 1:19 AM on February 24, 2010


Lazy and incurious people make shitty programmers, but lazy yet smart and inventive people [b]with a work ethic[/b] can make excellent programmers by finding a better way to do something. Though a dedicated workaholic bore will eventually produce working code, it will be far from good - note the oft-quoted ratios of programming performance of 20:1 and 100:1 between the best programmers and most of the rest of the herd.

Being a good programmer requires initiative. That's not incompatible with being "lazy" but they have to be lazy in exactly the right kind of way. Being a slacker and asking others for the answers is not it.

Lazy people make shitty managers too, and managers who haven't done the job of the people who they're managing are even worse. Kid needs to suck it up and not be a spoilt slacker if he wants to get anywhere in life, regardless of chosen field.
posted by polyglot at 1:36 AM on February 24, 2010


Er... programming at its most basic level is all about watching out for typos and understanding syntax. If he can't master that, he's not getting anywhere.

That's a bit ridiculous. Everyone struggles with syntax when they first start. Who says he can master that just because he hasn't mastered it yet?

Anyway, there are different levels of laziness and different levels of talent. A lazy, talented person can coast through most programming jobs while a talent free hack can grind through and get stuff done too.

But really it's impossible to know how things are going to turn out. Ultimately he'll have to find out on his own.
posted by delmoi at 1:55 AM on February 24, 2010


He's not going to go out and become a programmer tomorrow. He doesn't have the skills yet, that's why he's looking for mentoring. You can teach him the attention to detail, and make him cultivate the work ethic. The mentor-mentee relationship isn't some lovey-dovey let's all hold hands and be friends thing, there is going to be some conflict in it. If he needs to work hard and show more attention to detail, tell him, or, better yet, show him.

Also, I don't know why you think that PMs are all shitty coders with poor work habits. That's pretty insulting.
posted by sid at 3:52 AM on February 24, 2010


A couple of thoughts:

- he doesn't have to be great at both layout and programming; if he knows enough HTML/CSS to get by, then concentrate on the programming, as there is a lot more to learn there, and he can pick up more layout as he goes
- teach him about TDD; not later, now; that way he will learn to think through what he is building before he starts in, will have a way to test his code, and will have a way to know when he has broken things with some other change down the road
- echoing many others, I completely don't get the "he is lazy and does the bare minimum, does that mean he should be a PM?" thing; I think you need to clarify in your mind what the function of a PM is before you can counsel someone else on whether are a good candidate for the job; in my experience, PMs need to be motivated, detail oriented (across many domains, unlike the programmer who typically goes deep in just a few domains), watch time lines and budgets like a hawk, and often need to do extensive business analysis as well. On top of that, they must produce professional documents and deal with clients on a regular, consistent basis. That is my perception from never having been a PM myself.
- finally, I have worked with several bare-minimum style programmers; they were also some of the fastest; it is good to have a balance 0on the team, sometimes you need something down NOW and sometimes you need it done RIGHT. That is the reality of the business world, which I assume is what we are talking about, not NASA or research/academia.
posted by SNACKeR at 5:31 AM on February 24, 2010


Am I right to push him toward thinking about doing project management rather than hands-dirty techie-developer type stuff?

DEAR GOD NO.

If a coder does the bare minimum to get the job done, the job gets done. If a project manager does the bare minimum to get the job done, the project crashes and burns.
posted by ook at 5:56 AM on February 24, 2010


Slacker programmers suck. They create more work for people around them. They are net-negative producers, in that the work they do "complete" creates bugs that waste other people's time (or create rework in the future). Programming is all about the details, and it also continuously requires a lot of self-motivation and curiosity.

I disagree with what others said about "getting the job done" being sufficient. Just getting a program working is only the first step in creating software that is ready for real use. There is a big difference between just writing code and writing good code, and that difference matters a lot in the long run.

The idea about programmer laziness as a virtue, in the Larry Wall sense, is a sort of ironic programmer humor. It's not that it's good for programmers to be lazy, it's the irony that great programmers will go through tremendous effort to make things simple, so they can be lazy in other ways. Like creating an entire programming language (like perl) just so that programs can be written simply.

That said, if he's still learning, you can mentor him to pay attention to details. Maybe your friend likes the idea of being a programmer, but doesn't realize the kind of attention to detail that it requires.
posted by kenliu at 6:48 AM on February 24, 2010


If a project manager does the bare minimum to get the job done, the project crashes and burns.

...or the programmers under the project manager struggle and stay up late for weeks making up for the project manager's lapses. And then become bitter when the project manager takes credit for getting the project done.
posted by amtho at 6:54 AM on February 24, 2010 [1 favorite]


Best answer: ... maybe even to help me keep on task and finish the two classes I have left to get my university diploma, which I should have done about 8 years ago. (That simple role alone is worth at least hundreds to me if it could work)

It may be that he needs more person-to-person interaction to keep his interest, and that becoming a kind of personal assistant to you would be a lot better fit for him. Does that mesh with what you know about his personality?

The idea of making him a "project manager" is rightly making some people here worry. "Personal Assistant" or some other role might be a good idea -- plus, if he's helping you work on your diploma, that could be an excellent way for him to see what the rewards are for putting in a little above-the-minimum effort (which I assume you'd do) -- although you'd have to be clever about it to make sure he could see a connection between his case and your own case.

You'd also have to somehow engage him and get him to care about you finishing your diploma -- it sounds like apathy might be part of his problem.
posted by amtho at 7:01 AM on February 24, 2010


"Am I right to push him toward thinking about doing project management"

No, you are completely and utterly wrong to the point where I think you either mis-stated your question or may be totally nuts. There's really only one thing that makes a PM great: being detail-oriented.

Most programmers should be lazy. They should avoid duplicating work, they should not get bogged down in fiddly details, they should be fitting together tried and true solutions. They should be using libraries to do things for them. They should be following existing, established patterns for getting things done.

"Right now he knows enough XHTML and CSS to make a simple website with very basic graphics."

XHTML and CSS aren't programming. If the kid wants to do programming, it's no great surprise he sucks at markup.

" Is it weird to basically tell this kid, "you are project manager material and maybe let's work in that direction" if that's how I really feel?"

Yes, because he's not project manager material if he's a half-asser. He's the antithesis of a project manager.

"There have been slacker programmers before. But at what point do you draw the line and say, "you need to study harder" rather than "OK you just have no natural talent or interest here?"

You're going to have to give him the talk and tell him he sucks. You have a straightforward conversation that goes something like:

You: "You make a lot of bonehead mistakes, dude. Do you want to improve your skills?"
Kid: "Heck yeah, gramps, hook a brutha up!"
You: "Okay, you have to stop half-assing."
Kid: "lolwut?"
You: "Seriously. Figure out the stuff you don't know and learn it. Hell, I'll help you figure out what you don't know. Flailing-around programmers who just beat on things until they compile are a dime a dozen in this world, and unless you're planning to move to India and work for ten bucks a day at some Java mill you're not going to get to do much of that kind of thing in the real world."
posted by majick at 7:22 AM on February 24, 2010 [3 favorites]


Best answer: Agreed with Majick that The Talk is in order, and rather than introducing him to Program Management (NO, he is NOT suited for that), I'd introduce him to the other guy you are tutoring. Examples work better than preachy talk, and seeing someone else doing it right would, I think, inspire him to work harder more than just saying, "Dude, you are lazy."
posted by misha at 7:48 AM on February 24, 2010


"he does the bare minimum required to get the job done, but he gets things done."

I know several people just like that who have made a living as professional computer programmers for years. It's very doable especially if you have well above-average aptitude. Programming is probably one of the fields with the highest variance in productivity. Yeah, Bob is lazy, but when he finally sits down and dashes out his two hours of code, it's going to be more helpful than the program Sue put together in 80 painstaking hours of missing the easy (and usually right!) way to do it.

I'd take a smart lazy programmer over a below-average programmer with a great work ethic any day and I'm not just saying that. I make that choice sometimes at my job. Now obviously a smart programmer with a killer work ethic is your first choice and is generally worth 10 or 20 normal programmers, but not everybody gets to be the first choice.

Both typos and syntax errors are common for students. I spent more hours in school than I want to remember searching for a bug when I accidentally used a = instead of ==.

Your post is kind of all over the place. You say he's a college student but you don't mention his performance in programming classes. You don't make it clear whether you think he actually has the aptitude or not. You don't give us your background or qualifications. I say if he can get good grades in real programming classes (not CSS and XHTML but say the first couple of courses intended for CS majors, particularly if they are weed out courses) he'll be fine.
posted by callmejay at 8:36 AM on February 24, 2010


circular: Am I right to push him toward thinking about doing project management rather than hands-dirty techie-developer type stuff?
...
I have been thinking about asking him to start to keep track of projects, and maybe even to help me keep on task and finish the two classes I have left to get my university diploma, which I should have done about 8 years ago. (That simple role alone is worth at least hundreds to me if it could work)

That's an interesting train of thought:
- Source of Cheap Labor does not immediately take to development work.
- Maybe I can steer SoCL toward project management work.
- Maybe I can use SoCL as my personal project manager!

Dude, I don't even know where to start with this. I'm trying to formulate a response other than "this kid deserves a better mentor", but I'm drawing a blank. HE WANTS TO BE A PROGRAMMER NOT A PAPER PUSHER. Nothing about his goal seems at all unattainable without encouragement and discipline, which is what you as his mentor should be providing.
posted by mkultra at 8:56 AM on February 24, 2010 [1 favorite]


Response by poster: Also, I don't know why you think that PMs are all shitty coders with poor work habits. That's pretty insulting.

A lot of comments were saying that in different ways. But I think amtho nailed it..."Personal Assistant" may have been a better term to use.

But I love the idea of introducing him to other-guy (they haven't met). I will figure out a way to do that, because other-guy is really helpful and probably has more time on his hands as well.
posted by circular at 9:21 AM on February 24, 2010


« Older I'm an expat and I need a bank account in Nevada.   |   Why so many ex-service stations? Newer »
This thread is closed to new comments.