http://qs321.pair.com?node_id=568996

My step-son, who is 18, is doing a make-up year (Geometry in the Fall, followed by Algebra and Pre-Cal in the Winter) after finishing high school with generally great marks, with hopes of getting accepted into Computer Science or Computer Engineering next year. The makeup courses will be one evening a week. So, what to do with the rest of the time?

I have plans for that: I hope to get him involved in becoming a software developer, so that by the time school starts in a year's time, he'll have some valuable experience under his belt. He has some experience in C++ from high school, so can probably work his way through some C programming. He is on a Mac, using OS X (some fairly recent version), so I would like to set him up with a development environment that will work for a variety of languages.

You may be wondering, Gee, are you sure he might not be interested in some other subject than the one you've been fascinated in for the last thirty years? and frankly I don't know. However, the way he thinks suggests writing code might be exactly what he'd be great at.

Your followup question might be So how come he did badly at the Math courses the first time around? and my response is, he hadn't developed enough problem-solving skills yet. He'd run up against a tough example, try one or two ways to solve the problem, then give up. I'm going to try to stay on top of his progress this time, and make sure that he understands each week's work.

And if he still does poorly on those Math courses, then we'll change course and put him into Political Science or Journalism or something.

Your feedback please.

Alex / talexb / Toronto

"Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

  • Comment on How do I get my teenager interested in software development?

Replies are listed 'Best First'.
Re: How do I get my teenager interested in software development?
by McDarren (Abbot) on Aug 23, 2006 at 03:13 UTC
    "You may be wondering, Gee, are you sure he might not be interested in some other subject than the one you've been fascinated in for the last thirty years? and frankly I don't know."

    Have you actually asked him what he is interested in doing?
    I realise that a lot of kids (young men/women) around that age may not know exactly what they want to do with their lives1, but most will at least have a good idea of what type of career does and does not interest them.

    "then we'll change course and put him into Political Science or Journalism or something"

    Why do you need to put him into anything? Why can't you just let him decide for himself? Maybe I'm misreading, but it really sounds to me like you are pushing the kid to do what you want him to do, rather than let him choose his own way in life.

    I have two teenage boys myself, and whilst I wish for them to be happy and sucessful in their lives, I would never ever contemplate pushing them in a career direction that they didn't choose2 for themselves, and were not enthusiastic about pursuing.

    Cheers,
    Darren :)

    1. I'm in my forties, and I still haven't decided what I want to do when I grow up ;)
    2. Of course, that doesn't mean I won't/don't offer advice when they ask for it, or on the odd occassion that I feel they might need some :)

        Have you actually asked him what he is interested in doing?

      Yes, and the response we usually get is that he wants to program video games.

      You may laugh and say that's like every kid's dream of being an astronaut or a fireman, but that's his answer, and his mental abilities seem to match what I assume or understand to be required of a game developer. He knows games very well and thinks very logically.

        Why do you need to put him into anything? Why can't you just let him decide for himself? Maybe I'm misreading, but it really sounds to me like you are pushing the kid to do what you want him to do, rather than let him choose his own way in life.

      Well, left to his own devices, he'd sit in his room watching TV, playing video games, chatting on IRC and letting the dirty dishes pile up. My responsibility as a parent is, if necessary, guide him into training for some kind of career. If that's pushing, OK, yeah, then I'm pushing.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

      I'm also in my forties, and think I know what I do when I'm grown up .. but in the meantime, software development is a fun gig.

        He might want to do some research on the game industry first. From most of what I've heard game development tends to chew up talent quickly. Schedules are usually extremely tight ("WE MUST SHIP BY NOVEMBER TO MAKE IT TO THE STORES FOR HOLIDAY SHOPPERS! CODE FASTER, PEON!"), and the pay for rank-and-file programmers isn't that great compared to other industries (I'm fuzzy on this, but I seem to recall seeing a salary survey to this effect). Just remember for every Sid Meyer or Peter Molyneux there's lots of people you'll never hear of (or see work from again).

        And just to clarify: I'm not saying "OMGWTFBBQ DON'T DO IT!" and trying to scare him off, just that he should be aware that the image he has in his head may not line up with reality. He should put aside any preconceived notions and make an informed decision. Game Developer Magazine occasionally has articles about the industry as a whole that may be of interest; in fact the May 06 issue has an article on breaking into the industry (I unfortunately let my free subscription I'd wheedled lapse so I can't comment on that article :).

        He might be interested in this book which I liked on game AI programming (I copy/pasted what's below from my journal at use.perl.org). Since you said he maybe needed reinforcement in math, he might be interested in the basic trigonometry used in the early parts of the book as they're applied to the AI algorithms (pursuit, fleeing, etc.).

        I'm reading Programming Game AI by Example. I think that if you're an intermediate programmer who knows C++, and have an interest in computer games (even if you just play them, like me), you'd probably like it. It's really practically oriented, like a tutorial, but at the same time his explanations are based on sensible designs (in the sense of "ok, maybe you wouldn't do exactly this in a real game, but this is the basic idea"). It's not for you if you're looking for an academic, theoretical book. I've only read the first three chapters, but so far so good. I really liked chapters 2 (finite state machines, where he uses an example of Miner Bob who goes from the mine to the saloon ("ah's mighty thusty!") and the bank and home to the li'l lady) and chapter 3 (steering behaviors: seek, flee, pursuit, evade, object avoidance, wall avoidance, etc. If you want to know more, he mentions an article called Steering Behaviors For Autonomous Characters a few times in the book, which also contains a lot of links in its references section.).
Re: How do I get my teenager interested in software development?
by jacques (Priest) on Aug 23, 2006 at 02:29 UTC
    Careful. He might end up having negative feelings for you and software development if you push it down his throat. He's 18 and will soon be out of the house. So why not take him on a fishing trip or something?
Re: How do I get my teenager interested in software development?
by hossman (Prior) on Aug 23, 2006 at 03:37 UTC
Re: How do I get my teenager interested in software development?
by BrowserUk (Patriarch) on Aug 23, 2006 at 12:42 UTC

    Other than having a natural interest, which would already be manifest, there are only 3 motivations for an 18 year old to spend time to learn something.

    Since programming is unlikely to save his life, or get him laid, you're left with the profit motive. Few 18year olds have sufficient cash to fund their ambitions. If you are in a position to allow him to earn some cash by programming, it might result in a residual interest.

    Whatever you do, don't try pushing the OSS altruism ideal. The logic (or not) of that is very much a personal decision/choice, a bit like religion 'cept maybe more so.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
Re: How do I get my teenager interested in software development?
by Popcorn Dave (Abbot) on Aug 23, 2006 at 06:31 UTC
    If he shows any interest, get him to do something *he* wants the computer to do. Maybe write some shareware? That way he's going to see programming my contribute to his wallet.

    Is he a gamer? Is that an avenue that he might enjoy exploring? I realize you said that the maths are an issue at the moment, but it's perhaps an avenue to explore.

    But as others have said, if he doesn't show the interest, pushing him to it is probably going to drive him away.

    Revolution. Today, 3 O'Clock. Meet behind the monkey bars.
        If he shows any interest, get him to do something *he* wants the computer to do. Maybe write some shareware? That way he's going to see programming my contribute to his wallet.

      Great idea -- we downloaded one IDE package and he was all keen to use it till he found out it was shareware. I'm not against shareware, I bought a few packages in the 80's and 90's, but I don't think he's quite up to that level yet. I want to get him started gently.

        But as others have said, if he doesn't show the interest, pushing him to it is probably going to drive him away.

      Understood -- it's not that he isn't showing interest, I just think he needs to get engaged. I imagine his brain is like this enormous engine with huge potential, and it's just sitting on a siding somewhere idling, when it could be pulling huge trains of cars up mountains. He just needs the right kind of trigger.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

        If you're on a Mac you don't need to download any shareware IDE. Just install XCode off the OS X CD (usually the second disk). It's free with the OS and a pretty spiffy environment that'll let you code in ObjectiveC, Java, Perl, or Ruby (the later two with the appropriate libraries like CamelBones or RubyCocoa).

Re: How do I get my teenager interested in software development?
by kudra (Vicar) on Aug 23, 2006 at 07:11 UTC
    It didn't sound to me like talexb was pushing, given that he wrote that his stepson hopes to be accepted to study CS next year. To me that implies that there is interest. On the other hand, the last statement, about 'putting' him in Political Science or Journalism does suggest a bit too much involvement in what should be the stepson's decision.

    I know a friend who does consulting lets his son handle some of the work, and receive the payment for what he does. Earning money is certainly inspiring (especially when it's far more than you'd make at a McJob), although I know a good many people who were inspired by good job offers to drop their studies!

    I do agree with the others that you should probably ask him what he wants to do, and try to find a project personally relevant to him--be it a programming project or something completely different.

Re: How do I get my teenager interested in software development?
by tinita (Parson) on Aug 23, 2006 at 08:42 UTC
    before starting my studies of computer science I hadn't programmed one line of code. actually, this helped me learning Miranda (Haskell) while the other students, used to C, needed some time to learn how a functional language works.
    for me it was just mathematics saved as a computer program.
    I studied computer science because I was good in maths and because I could handle a computer and its pitfalls very well.

    as the others said: ask your son, don't force him. he might want to do something he later doesn't any more, but you can't be sure either if your decision is right or wrong.

    if my dad had tried to convince me to program, I probably wouldn't program now.

        if my dad had tried to convince me to program, I probably wouldn't program now.

      Yeah, and I can relate to that, because my Dad tried to get me into programming when I was younger than my step-son is now, and I wasn't sure it was something I wanted to do. However, I did do a little tinkering, and once the gang I hung out with started to get into it as well, that's when I really got interested in it.

      Maybe he'll get into a group that does programming and we'll go from there. Thanks for the feedback.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Re: How do I get my teenager interested in software development?
by adrianh (Chancellor) on Aug 23, 2006 at 08:22 UTC
    Your followup question might be So how come he did badly at the Math courses the first time around? and my response is, he hadn't developed enough problem-solving skills yet. He'd run up against a tough example, try one or two ways to solve the problem, then give up. I'm going to try to stay on top of his progress this time, and make sure that he understands each week's work.

    Personally I know loads of great developers who a lousy at maths, and a moderate number of great maths folks who are lousy developers. So I wouldn't worry myself.

Re: How do I get my teenager interested in software development?
by apotheon (Deacon) on Aug 23, 2006 at 11:48 UTC

    I notice you mention he has some experience with C++ (pain and agony) and that you think he should be able to grasp C fairly easily (probably true). I notice as well that you then go on to mention that he's using a Mac with MacOS X on it.

    Why haven't you looked into the other C language? It's possible that your son will have a better time of it if he's not taking instruction from you, but rather, learning along with you — and on a Mac these days, the language to know is Objective C.

    Maybe you should just learn ObjC along with him. It's not a reinforcement of an authority relationship, the way teaching him a language you already know backward and forward would be: it's more like taking him on a fishing trip, but more fun (fishing sucks). In addition to that, ObjC is a damned nice language, which is a pleasant alternative to the tangled mess certain regions of C++ can be.

    Another thing you might want to think about doing is getting the free online versions of Brian Harvey's computer science textbooks that use UCBLogo (free Logo implementation), also written by Harvey, and getting him set up with that. Break his procedural and OOP habits enough to broaden his mind in functional and list-processing directions before he gets to college and is thoroughly indoctrinated by all the Java marketing that goes on there. Logo is, after all, basically Lisp without parentheses, and Harvey's three-book series actually treats new Logo programmers as adults.

    You could also just point him in the direction of something like PerlMonks or the ruby-talk mailing list, shove him into the deep end, and see how well he swims. If nothing else, it'll show you once and for all whether he's cut out to be a wacky hacker like your buddies here.

    print substr("Just another Perl hacker", 0, -2);
    - apotheon
    CopyWrite Chad Perrin

Re: How do I get my teenager interested in software development?
by Limbic~Region (Chancellor) on Aug 23, 2006 at 18:50 UTC
    talexb,
    I am not going to offer you advice but tell you a bit about myself. I did not receive direction from either of my parents who are divorced. I was and still am a strong headed person and getting me to do something that wasn't my idea (even if I thought it was a good one) wasn't likely to happen.

    I barely graduated HS. This wasn't because I was "gifted but unchallenged". It was primarily because I had a philosophical disagreement with western society's stance on the education system. I asked my mother to drop out of HS in the middle of my senior year. She told me that I didn't have to go to college but that HS was non-negotiable. So I moved to my Dad's in the middle of my senior year as my only chance of success.

    I had always been interested in computers and had a good deal of proficiency as well. I did a bit of freelance work in and after HS. I had several jobs after HS to include telemarketing (unsolicited credit card cold calls - lasted 3 days beyond the 2 week training period) and a $4.25/hour job as a retail clerk. I decided to move to Arizona from Maine by greyhound bus (4 days and 3 nights - not fun) because it was all I could afford and ended up having to borrow money to fly back a few weeks later because it didn't work out.

    I have never matriculated into college but have had a great career over the last decade working in and for the government as an information technology specialist. Here's how I did it. I joined the Army a year and a half out of HS. The military provides opportunities that wouldn't otherwise exist. It opens your eyes to a much bigger world. It gives you experience that is uncommon to come by elsewhere. I will not say that the training is great primarily because I already had competency in my field and slacked off in class but that's not to say it wasn't great training either. Your first enlistment length is usually tied to your job (which the Army guarantees as part of your contract) but there are dozens of jobs to choose from and some have initial terms of 2 years.

    In a nutshell, I found my way on my own. I did it without buying into our education system. I didn't do anything "productive" out of HS. I think I turned out ok.

    If I were to offer advice, which I am not going to (as I have been in the parenting gig myself less than a year), I would say this:
    We do not always get to see the fruits of our labor. Sometimes we plant seeds but do not get to be part of the harvest. The best that you can do is encourage and support and be there if he should fall. Try a few things and if they don't work don't be discouraged or disappointed. The things that truly matter in life are the people we love and our relationship with them. I think it is far better to have a loved one that comes over for dinner every Sunday and occassionally asks for help with the rent money then it is to have one that is highly succesful in whatever field but harbors resentment for the person that wouldn't let them fly on their own.

    Cheers - L~R

Re: How do I get my teenager interested in software development?
by samizdat (Vicar) on Aug 23, 2006 at 15:51 UTC
    Alex, can he watch you programming? Can he see your joy in what you do? I think the best way to do this is to have a blast doing what you do and making sure he sees it.

    Other posters are right that it's all too easy to turn an 18-year-old off no matter what you do.

    You might spend some time analyzing a game with him, talking about the data structures inside the computer, and relate that to your own experiences with what can go wrong while you're programming, things like passing around objects without considering the cost of doing so. See if you can develop a shared conversation about how games work, to the point where he wants to both impress you and learn from you.

    The aforementioned fishing trip would be the perfect place for such a discussion. :D

    Don Wilde
    "There's more than one level to any answer."

      This is a brilliant idea.

      If I can start developing a game and get him interested in it, then have him take over development, that might be the way to give him a jump-start into the whole process.

      I have to say that I'm new to this parenting bit -- I don't *know* what the right naswer is, but it seems that since I've lived with my step-son for almost six years I have an idea what he likes and doesn't like, what he knows and doesn't know. Trying to guide him into doing software development is something that seems to suit his interests (and not just because it's what I like to do), but of course I'm not *sure* by any means.

      He might actually be better suited to getting a law degree like his Dad, and I've passed along to him what small law books I have for him to read -- but he's just not that interested in devouring books either.

      Thanks for the feedback.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

        http://www.garagegames.com/ is a great engine to work with for games. It starts you off with basic games that can be extended and has an active community. It is c++ so its a little harder but also has a very nice scripting component that he could program in to start with. The engine is often used in a "GameInADay" event where people program entire games with it in 24 hours. Granted they arn't spectacular games but that gives you an idea how solid a foundation it will let you start with.


        ___________
        Eric Hodges
        To add to Eric's suggestion, Lua is often used as an add-on shell around C++ for game development, providing a scripting engine. I myself think it hides too much of the underying C and its syntax is overly complex, but that's MOPO.

        I wouldn't think you'd need to actually develop a real game, just talk with him abolut how games are built.

        Don Wilde
        "There's more than one level to any answer."
Re: How do I get my teenager interested in software development?
by duc (Beadle) on Aug 23, 2006 at 12:30 UTC
    I would just say good luck ! No seriously, I am studying myself (yeah I am pretty young too). I am in electrical engineering and I know one thing, when I am done studying, the last thing I want is to see a computer. I want to paint, to play music, go to the movies, anything but a computer. So if you don't want him to dislike computers I would suggest you make sure he goes out, does something else, makes fun. You should let him pick the language he wants to learn, and pick his own project about what he wants the computer to do. That way, he will feel involve and maybe he will want that project done more than if you choose everything for him. "kids can be picky, let them pick!"
Re: How do I get my teenager interested in software development?
by Gavin (Archbishop) on Aug 23, 2006 at 10:19 UTC
    I feel like the others that by pushing too hard you run the risk of:
    Both alienating him against both development and yourself.
Re: How do I get my teenager interested in software development?
by swampyankee (Parson) on Aug 23, 2006 at 17:07 UTC

    Good luck with your teenage stepson. I've teenaged daughters (one going into her 3d year of college, the other into her 3d year of high school) and getting them to do anything they don't want to (such as clean their rooms) is highly non-trivial. Getting them to do something they do want to do is less difficult, but still causes me to (figuratively) pound my head against the wall.

    If you really think this is a path he'd be interested in, my suggestion would be to hire him, as your assistant in the volunteer project you've just started, or to write a database to maintain the inventory of the family collection of 3d dynasty palimpsets, or whatever. It's just got to be the right size for him to feel like he's actually doing something, and simple enough so he doesn't decide that he really wants to become a professional medical research subject instead of a CS major.

    emc

    Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.

    Albert Einstein
Re: How do I get my teenager interested in software development?
by injunjoel (Priest) on Aug 23, 2006 at 21:26 UTC
    My 2 cents...
    Most people I know, with rare exception, got into programming because they had a need. If you have a project in mind great you can have him lend you a hand, otherwise he will be bored by non-relevant examples of how to solve abstract problems from books.
    You mention that he is interested in game development... would you be opposed to having him learn something like flash ActionScript? There are a ton of flash based games online so he could just poach and idea or two or even develop something new. Its more than marketable and the scripting will definitely utilize the algorithmic logic he learned in C++. Not to mention it is a fairly shallow, though long, learning curve. You can get a flash project up and running in no time. Perhaps web development is not the best choice, and its not really CS/CE, but its an accessible start. What is the end goal for him? I guess the answer inheres in his reasons for wanting to get into CS/CE in the first place... Who knows if he is good he could be making money before he even goes to school.

    -InjunJoel
    "I do not feel obliged to believe that the same God who endowed us with sense, reason and intellect has intended us to forego their use." -Galileo
Re: How do I get my teenager interested in software development?
by Anonymous Monk on Aug 23, 2006 at 17:11 UTC
    My step-son, who is 18, is doing a make-up year (Geometry in the Fall, followed by Algebra and Pre-Cal in the Winter) after finishing high school with generally great marks, with hopes of getting accepted into Computer Science or Computer Engineering next year.

    I'm going to be brutually honest: I don't think he has a good shot at it, unless things have changed drastically since I went to school. (University of Waterloo, Ontario -- admitted in 1991). Computer Science and Computer Engineering are hard programs to get into; or were 15 years ago.

    Frankly, your son doesn't have "great marks" by University standards if he's forced to repeat courses. Computer Engineering might have loosened it's requirements, but it used to require a high school average somewhere in the 95-97% range: and repeated courses would definately count less than regular ones.

    Waterloo might not be typical of CS programs, but since it places it's Computer Science department in the Faculty of Mathematics, high marks in all 3 Grade 13 math courses (or whatever the grade 12 equivalents are now) were the key to admissions: I "only" had marks in the high 80s, and I just squeaked into the program (and just squeaked out, too, but that's another story...)

    A CS or Comp. Eng. degree isn't required to be a programmer. On the other hand, if he isn't showing signs of interest by now (like writing his own code on his own inititive), is he really that interested, or is he just trying to please his Dad? I started designing my first computer games at age 13, before I even had access to a computer. I even taught myself some rudimentary assembly language by age 16; because I was interested. By age 18, I wasn't considering learning C; I had already written my first 3D graphics game in it. Your son just doesn't sound that interested in programmming.

    What are his plans for the future? In a year from now, when you send him out in the world to make his fortune (at school or elsewhere), how does he plan to support himself? How does he plan to manage the finances that he's saved for this point in his life, and what are his contingency plans? At this point in his life, as he's about to join the adult world and be held accountable as an adult: what steps has he taken to ensure that he's ready? He's not a kid anymore...

    I think those questions are more important to ask, and be answered, than any sort of idealized "career plan" that may or may not be valid in the next ten years...

    Just my $0.02.

    --
    Ytrew

        Frankly, your son doesn't have "great marks" by University standards if he's forced to repeat courses. Computer Engineering might have loosened it's requirements, but it used to require a high school average somewhere in the 95-97% range: and repeated courses would definately count less than regular ones.

      Well, I can speak from the knowledge that his marks on the two Math courses were in the fifties. So, yeah, he'll have to repeat the courses, and no, I'm not surprised that they want him to do so. Amusingly (or not, as it turned out), he was accepted at another university, in Computer Science. It was only when we went for the appointment with the Academic Advisor that they began backpedalling. His other computer related course marks are in the 80's and 90's. I think once he gets his Math marks up he'll be OK.

      And thanks for mentioning the University of Waterloo, I know all about it .. I started there in 1976, took a year of Honours Math, then transferred to Systems Design Engineering. The joke in fourth year was that, if we were applying now, most of us wouldn't get accepted into the program we would shortly be graduating from. Apparently, York University and Ryerson University have different academic requirements for entrance -- Waterloo is, after all, known world-wide for its excellence in Engineering and Computer Science, among other areas.

        A CS or Comp. Eng. degree isn't required to be a programmer. On the other hand, if he isn't showing signs of interest by now (like writing his own code on his own inititive), is he really that interested, or is he just trying to please his Dad?

      Well, I wouldn't know about what his Dad feels about Computer Science -- I'm the Step-Dad. And the problem I'm trying to solve is, he's *not* doing it to please *anyone* -- he's not doing it all. And I do know guys who were very successful at CS without a degree in it -- one guy had a Geography degree and was making $85/hour doing software development in the late 80's, which I thought was pretty impressive.

        What are his plans for the future?

      He doesn't really have any. That's why I'm making an educated guess about .. guiding him into CS. We have to pick something, because I don't want him to lounge around at home for the next few years.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

        He doesn't really have any. That's why I'm making an educated guess about .. guiding him into CS. We have to pick something, because I don't want him to lounge around at home for the next few years.

        Hmm... it sounds to me like he has to pick something. All you have to do is make him understand that you'll kick him out of the nest soon, and leave it up to him to take up flying lessons on his own... :-)

        Good Luck! --
        Ytrew

      Hard programs to get into ??? Since when ?

      I went in engineering because you can get in there with no restriction. Everyone can subscribe and everyone is accepted. Well here in Quebec. The filtering is done while studying, those who can't follow leave by themselve. But computer science and any engineering program are still the easiest science program to get into.

      And it is not because he does not show interest now that he does not like it. I started programming when I was 20. Before that, to me a computer was equivalent to Word and Internet I didn't even know how to scan for viruses. He just have to try it to know.

        Hard programs to get into ??? Since when ?

        Well, since the early 1990s. Things may have changed, as I did point out in my post. Like I said, you needed a 95%+ average to be accepted into Comp Eng back in 1991: my engineer friends were all griping about how they barely got in, or didn't get in, to Computer Engineering.

        I consider requiring over 95% as a overall average for admission to a program to be a "hard program to get into". Maybe you're so smart that you don't. :-)

Re: How do I get my teenager interested in software development?
by gloryhack (Deacon) on Aug 24, 2006 at 23:38 UTC

    It doesn't matter one whit what the boy could "be great at". A young man looking out toward the horizon and plotting the course of his life should be seeking inspiration, not proficiency. (And if he's not even looking, then he should just be booted out into the big mean world and none of the rest of what I'm about to say matters.)

    The decisions your stepson makes today are almost certain to be revisited right around the time the kid reaches the end of his fourth decade of life, and at that point those grandchildren that you haven't even thought of yet are going to be affected -- in what way and to what degree depends upon the correctness of today's decisions. Since you don't live behind the boy's eyes, and will never be privy to his secret thoughts and feelings, the best thing you can do today is to help him to seek his joy. Help him search but don't tell him whether or not he's found anything. He'll know it when it happens.

    "... staying on top of his progress this time, and making sure he understands each week's work" is probably not an effective or even applicable solution to any problems he's having. If at the age of 18 he lacks responsibility enough to ask questions when he doesn't understand something, or lacks perseverence enough to stay with a task until it's done, babying him will do far more harm than good. If he won't ask for help when he needs it, or would rather run away from a problem than solve it, he should fail now while the cost is still low. Failure teaches us far more than success can. The longer you put off that lesson, the more it will cost.

    FWIW: In about eight more years I'll be helping a young man make that same transition to responsible adulthood -- but this time around it'll be my oldest grandson. :-)

        It doesn't matter one whit what the boy could "be great at". A young man looking out toward the horizon and plotting the course of his life should be seeking inspiration, not proficiency. (And if he's not even looking, then he should just be booted out into the big mean world and none of the rest of what I'm about to say matters.)

      I just came back from having a beer with a good friend, and one thing I said stuck out -- all of the respondents to this post are working with incomplete information -- they don't know my step-son as I have come to know him over the last six or so years. In point of fact, even *I'm* working with incomplete information -- I don't know what the best answer is for this future, all I can do is make a really good educated guess.

        If at the age of 18 he lacks responsibility enough to ask questions when he doesn't understand something, or lacks perseverence enough to stay with a task until it's done, babying him will do far more harm than good.

      Again, if you knew my step-son, you might re-consider your answer. I'm trying to teach him to explore all possible angles, to try lots of different approaches. That's not specifically about solving algebra, calculus or eevn programming problems .. it's about problem solving in general. He's bright, very bright, but he's not street-smart. Sometimes you have to make a decision with less than perfect information, because you just about never have perfect information. One of my measures of succes in life is how you react when things start to go bad. Is there a panic, or is there a reassesment of possibilities, followed by decisive action?

      Thanks for your feedback.

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

        First, please understand that I'm not trying to tell you how to fulfill your role in the boy's life. I'm a father, stepfather, and grandfather myself, so I understand the position you're in to at least some degree, and I commend you for taking an active role in helping him to get a good start in his adult life. I also know, as you surely must, that it's nearly impossible to be objective about a situation so close as yours is to you, and I hope to be able to help you in some small way in your difficult situation, one father to another, to find some objectivity.

        Among the mass of incomplete information there is one datum that is clearly known and immutable: the world the boy should be preparing to step into is not going to take the time to get to know him before it decides, often arbitrarily, to deal him blows. There's no question about whether or not life is going to take whacks at him; the only question is whether or not he's going to have the wherewithal to withstand them. If a young man is on a course of his own choosing because he feels inspired by it, the world can whack at him all day and all night, and he'll stay on that course. If, on the other hand, he's just doing what his parents want him to do, a light breeze will knock him down and keep him down. It's up to you to decide whether you're going to steer him or just show him the stars to navigate by and leave it to him to choose his course. It's pretty obvious which of those two options has the greater likelihood of success.

        In your own experience, as I understand it from what you've written here, you found programming uninspiring despite your father's best efforts and wishes that you take it up. You became inspired by it only after your peers took it up, and have since made a career of it. I'd think that knowledge of your own behavior would come in handy now that you're in the parental role.

        If you've got the support of your wife and she agrees with you that the child should not spend the next few years just lounging around the house, the solution is as easy to define as it is difficult to implement. "Kid, 120 days after you finish high school, this house will no longer be your home. If you choose to become educated in the field of your own choice, we'll foot the bill for your education. Otherwise, you're on your own just like every other non-feeble adult on the continent." It might sound harsh, and maybe it is, but it didn't kill me to make that decision when my parents gave me essentially those options. I didn't take the easy way and go to school on their nickel, but I still managed without any help at all to become an electrical engineer and later a programmer. And a grandpa, too.

        One of the ways you measure success in life seems really very strange to me. Decisiveness is popularly being accorded much more value than it deserves. Every idiot who's been injured jumping with a rented bungee cord made the decision to jump based upon incomplete information and then acted decisively. Myself, if I'm not comfortable with the quality of the information before me and the negative consequence of delaying the decision is less onerous than that of making the wrong decision, I'll seek to improve the quality of the information available to me. The successful gambler is the one who folds his hands often because he knows that the money already on the table cannot be protected.

        I wish you the best of luck, and more importantly, patience and wisdom, in your relationship with your stepson.