1
$\begingroup$

I teach programming to students seeking employment as programmers who know little or nothing about programming, and I was last employed as a programmer over a decade ago. Sometimes I am asked what got me started, or what my main interest was. Students are often surprised when I explain that I last programmed professionally near the start of the millennium, and also that I have learned the language I am teaching only recently (C#, which did not exist way back when).

I think that some students ask because they are trying to find a point of interest themselves, so that this can become something they desire to be, rather than just a job. When I tell them that I wanted to know how computers actually are able to function / operate / control themselves, ever since I was a child before anyone had a computer, they can understand that. I say I wanted to write Operating Systems, and although I did not achieve that, I did lots of low-level stuff from sharing modems over a Novell Network to creating a multi-threaded web server.

They might not end up with those sorts of assignments when they become employed, but the point of learning to program is to understand how all this magic can happen. It is most fascinating when "The magic goes away" and we understand fully. That is what I want for my students. How do you answer such questions, and the flurry of "what languages do you know" etc?

$\endgroup$
  • $\begingroup$ Hey man, happy to have you here but this seems more like a discussion. Come over to the chat room to discuss this. I am going to have to recommend to have this closed. Further, the answer to your question is whatever got you interested in the first place. Just say what got you interested. You don't need a community suggested answer for that. $\endgroup$ – Jay Sep 29 '17 at 15:51
  • $\begingroup$ While the question is quite different from what we normally see here, the issue of motivating students through faculty connection is a valid one for any educators site. However, the issue is broader than just CS education, of course. However, newer teachers may need to know where they should try to place themselves on the formal to informal scale in dealing with students. So, I think advice from the community is valid and valuable. $\endgroup$ – Buffy Sep 29 '17 at 18:23
  • 1
    $\begingroup$ Welcome to Computer Science Educators. This seems like a good discussion to have, and I'm sure that there could be some good questions generated from either that discussion, or this question. As written, however, this is more an invitation to share experiences than a question looking for an _answer, and is too broad for the Stack Exchange format. Have a look at the Tour and the Help Center to get a better idea of how things work here compared to most other forum sites. $\endgroup$ – Gypsy Spellweaver Sep 30 '17 at 0:52
3
$\begingroup$

If you are doing a good job of teaching then your students probably think you are smarter than you really are. They may also think that you arrived magically at your current position without effort or setback. It is good for them to know the truth. That what looks to them like brilliance was more likely just hard work and never giving up.

It is also good for them to know that the world they are entering (sometimes called adulthood, or the real world) won't always offer them what they hoped it would, but that if things are bad they will probably get better. But also, if they are good, they won't always remain so.

It is good for them to know that you are a human being who makes mistakes, admits them, and learns from them. Letting them think you are perfect is probably a mistake as they may be overly disappointed if you ever falter.

So, my advice, even to a question that may not be the best fit for this place, is to open yourself to them as honestly as you can, letting them know that it takes effort to succeed, but also that it takes plenty of desire.

It is especially useful if you let them know that some, perhaps many, of them are "smarter" than you are on nearly any scale. Whatever "smarter" really means. Just don't let them get the idea that you don't work as hard as you ask them to do.

You can teach these lessons in small bits without really taking much class time. I wouldn't devote a lecture to it, but a stray comment now and then ("I found this topic really hard when I first learned it.") might give them the confidence that "yes, it really is hard", rather than the fear that "I'm so dumb".

A few, at least, of your students might be inspired enough to follow a similar path to yours.

$\endgroup$
1
$\begingroup$

Centuries ago (1978) I saw a graph in Creative Computing. It was the cost of writing a line of code divided by the cost of executing it and realised there was good money to be had there. We were as poor as UK people get and programming, unlike the media, isn't determined by how pretty you are or in the case of the BBC who you are related to, the colour of your skin or your gender.

A C++ compiler simply doesn't care about those things. I make references to the media here because they go on about "sexism" and "racism" in Tech when even the best of them are far worse than anything you hear about Uber.

I now live in a rather nice house, my kids at a reassuringly expensive school. Programming has been good to me.

Yes I enjoy problems solving, am vaguely competent at maths and can focus hard on things where necessary, but those are useful elsewhere, in coding they are well rewarded.

$\endgroup$
0
$\begingroup$

Maybe (given the opportunity) the best way to address this question is to have your students talk to someone actually working in the field right now.

You probably don't want to give the message to your students that it's been a while since you were working on what they regard as real projects (and I venture that many teachers don't have time to work on projects in their spare time). So maybe you don't think you have any particularly interesting personal examples to share. In that case ask them about what tech they find cool and exciting, then explore what that might lead to.

There are two threads that I refer to when I'm talking about careers:

Technology changes This is a complex thing, meaning that there are both new things to learn (smartphones now outperform the supercomputers of my youth), and that there will always be new technology along in a few years. The hook can either be 'how does it work', or 'what can we do with this', and the appeal will be different for everyone.

There is a lot of detail Despite the apparent rapid changes, this isn't necessarily a field where skills become obsolete (assuming you view languages as a tool). There are also many different levels to work at in even a niche of the field. If you consider products, look at the whole supply chain. If you consider applications, look at science/industry/entertainment/health. Then don't forget development/support/training/marketing - technical skills are relevant to all of these roles.

If you want a modern example to break down into it's components, look at today's high-end VR. GPU hardware, High-bandwidth data to displays, 3d-rendering, position aware audio, sub-mm resolution position tracking, nausea avoidance, let alone all of the actual applications of the technology and generating content. Something that a few years ago, not many people though would be possible.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.