In Praise of the Junior Developer

"She's a project," my boss said to me. "She's green, and even though she's been working here for several months, you should consider her like a brand new college graduate. She'll need a lot of oversight, a lot of hand-holding and you'll still be expected to finish your projects on time."

"Excellent," I said.

I'm not sure why my boss felt the need to warn me. Melissa is a new, green developer. I know that; I knew that from the moment the coding section of the interview began. She had trouble with the FizzBuzz test, stumbled over the differences between an abstract class and an interface, and generally showed that she needs some experience. This ain't my first interview; I know she's a newbie, that's she'll need some help (maybe a lot of help) to get started.

And it doesn't friggin matter. I'm happy to have her on my team.

We need junior programmers. And I don't mean my company specifically, I mean our industry as a whole. This profession runs on the backs of the juniors. They're the one who get the crap work, who check the nitty gritty details, who learn and advance and become seniors and leads and managers. They are the people who will eventually replace me. I'm not scared of them; I want to see them succeed. But to do that they're going to need teachers, mentors, someone to help answer their questions.

I've been saying for a long time that what this profession needs is more teachers of technology. The problem, I'm now beginning to realize, goes much deeper than that. The real issue is not a lack of people willing to teach others, it's a lack of compassion in doing so.

The odd thing about programming is that it's entirely mental (with all the different usages of that word applying). There's no real physical component. Sure, we type on a keyboard, but that's the result of the mental work in progress, not the end goal. And it's tiring. Programming is mentally exhausting work. If the brain is a muscle, then programmers work it to the metaphorical bone each and every day. Good programmers solve people's problems using code in an efficient, skillful manner.

When you think about it, that's also the issue with teaching: it's a mentally exhausting job. Now, instead of trying to work out problems, you're trying to work out how different people learn and then teach to their skills, which is infinitely more difficult that just solving static problems. People are dynamic, changing, varying from one to the next. If you're a good teacher, you can innately understand how people learn, and then construct situations in which they will acquire the skills they need in the most efficient manner.

Here's the rub: the skills that make you good at programming (solving problems) and the skills that make you a good teacher (solving people) are not, and never will be, fully compatible. You can be the greatest damn programmer in the world, and yet anybody you try to teach will be just as bewildered as before, if you don't have compassion for the learner.

Compassion bridges the gap between teacher and learner. The less skilled you are at teaching, the more compassion you need to have for your learner.

(I'm tempted to use the word patience here instead of compassion, but you can be patient and still not be compassionate. It's the difference between a boss needing work done and a teacher helping a student study; they might both wait a long time and be perfectly fine with that, but the boss will simply expect the work to be done, while the teacher will understand why it took such a long time and work to help the student improve that.)

Look, not everyone will be a good teacher. Not everyone will be a good programmer. But those of us who are in a position to help others learn should take advantage of that. At the very least, attempting to teach others will help your communication skills; by describing a problem, you increase your understanding of it, otherwise rubber duck debugging would not be a thing.

But everyone can be a compassionate teacher. I can, you can, even newbies like Melissa can. Skill doesn't matter, ability doesn't matter; compassion matters. Compassion is what makes a good programmer into a great teacher.

So, bring it on, Melissa. Bring it on, junior devs. We need you. And we'll be doing our level best to be compassionate, to be teachers, even if we're not very good at it. Despite all our misgivings, despite all the hate and impatience and intolerance you might run into out there in the wilds of the Internet, there are still those who want to see you succeed, and are willing to use our compassion to help you reach your goals. This industry runs on the backs of the junior developers, and we would be loathe to forget that.

Post image is Representatives of the database development team from the U.S. Department of Agriculture, used under license

How To Become A Tech Conference Speaker

I attended the AngleBrackets/DevIntersection tech conference in Las Vegas this past October (as I also did in May), and while I was there I tracked down as many speakers as I could grab and asked them three questions about presenting at conferences:

  1. Who are you, and what do you do?
  2. Why do you personally present at conferences such as this one?
  3. How can someone like me, a regular developer, work toward becoming a presenter at conferences?

I only informed the person I was interviewing of the first question, and they did not hear the other two questions until we were recording, so all the answers you will hear below are off-the-cuff. I recorded all of their responses, which are listed below, and excerpts from those responses are also posted. You can listen to all of the interviews over on SoundCloud.

I've already written about their answers to the second question in Inside the Mind of the Tech Conference Speaker, and now I want to focus on what kinds of answers I got for the third question. So, let's ask the question: how can a developer like me work toward becoming a speaker at a tech conference?

A speaker stands in front of a podium Conference Speaker by Michael Coghlan, used under license

Is This What You Want?

One speaker started at the very beginning: be sure that this is actually what you want to do.

Kathleen Dollard (.NET Coach and Director of Engineering for Real): "The first thing you want to do is decide whether it is something you want to do. I strongly feel [that] everybody doesn't need to be able to present at conferences. Now, I think it's nice if everybody can present to their bullpen or something at lunch, but I don't think it's goal that everybody needs to have."

Passion is Paramount

If you do want to be a presenter, then what qualities should you have? Many of the respondents wanted to point out some traits that skilled technical speakers often possess. Some believe that passion for the topic is most important:

Juval Lowy (software architect, author, founder of IDesign): "First of all, it's not looking at what topics have demand. So you [might say], "Javascript has lots of demand, so I'll present on Javascript". No. The only thing that matters is what you are passionate about. If you are passionate about something, and you have enough [knowledge] from doing it, and you have metrics to suggest it, demonstrate it, and all of that, that's what people that do these conferences want to see.

"In general, what conferences are about nowadays [is] not information, it's about knowledge. There's oodles and oodles of information [out there]. There is a deluge of information. What people desperately need is knowledge and guidance. As much information as we have, the knowledge has completely shrunk to zero. If there is something that you can help people with, and you show that unique insight, and that you are passionate about, that's all that matters."

Anthony van der Hoorn (co-founder of Glimpse): "Finding something that you are passionate about is key number one. For me, it was debugging and diagnostics. Once you're passionate about something, you can get yourself to the point where you feel, 'hey, yeah, I can speak about this.'"

Others believe that a good speaker is also a good storyteller:

Robert Green (Technical Evangelist at Microsoft): "When you talk, you're telling a story. So, you've got half an hour, forty-five minutes, twenty minutes, whatever, to tell a story. What is your story? What is it that you're going to tell people? You've got to understand what your story is. A good speaker is someone that tells a good story."

Master the Basics

One presenter told me that it was important to start preparing well in advance of any conference you want to present at:

Troy Hunt (security writer, creator of HaveIBeenPwned): "Submit a paper. Rather, submit a good paper. The first talks that I did, I just came up with ideas that I thought were good, and I would submit to events. There's [only] one event ever that I can think of that I didn't get to talk at, [and that's] because I've had good proposals."

Another presenter expanded on that idea: the best talk proposals are the ones that provide some uniqueness.

Jay Schmelzer (Director of Program Management for .NET at Microsoft): "Bring uniqueness to your session proposal. If you can come and talk about a technology from the perspective of a problem you had to solve, and how technology helped you do it, that someone else can take and learn from and go implement themselves, [that's important]. While I can tell you what we intended [certain code] to be used for, I didn't actually use it. I didn't write that code and put it production. I didn't live with it for ten years. You have. You can bring that experience into these kinds of things, and make it more real-world."

Remember Your Audience

Many of the presenters admitted to being nervous when speaking, and told me that this was expected:

Shayne Boyer (software architect and blogger, Tattoo Coder): "Every time I get up to talk in front of people, I'm nervous. I could [be] in front of five people or two hundred people, it's the same feeling. [But] I just love to get up here and talk, so it's exciting."

Another reminded me that there are two important components in any presentations: the content and the audience.

Kathleen Dollard: "It's not easy for anyone, and it takes some experience, and it takes some working on who you want to be on stage. If I go on stage and try to be Scott Hanselman, I will not succeed. It will not work. If I go on stage and try to be somebody other than who I am, it's not going to work out very well. That includes figuring out what you care about and how you are going to balance things.

"Every speaker is engaged with two things: one is the content, and one is the audience. One of the things I did when I was first starting out was that I was engaged deeply in the content, but I didn't think as much about what the audience needed and how I needed to connect with [them]. I still work on that, all the time."

Make a Name For Yourself

A couple of the presenters mentioned that it is important to be visible, to have a name that people recognize:

Jay Schmelzer: "[Another way] is making a name for yourself. Someone that doesn't have the benefit of working for Microsoft and being on the product team, having a following on a blog or Twitter or some other [place] where people recognize you and you would be a draw for the conference [is important]. One of the things you see with some of the presenters that are not Microsoft employees is that they are names that are recognized in the Microsoft development community, and people want to go hear them talk."

Start Small

For many of the presenters I talked to, the best path to speaking at a conference was through smaller groups:

Brent Ozar (SQL expert and owner of Brent Ozar Unlimited): "Start by doing lunch-and-learns. Go on YouTube, pick a 15-minute [or] 30-minute covering a topic that you think your coworkers should know. Get everybody together in a conference room (you should have watched the video already). Watch the video with the group, and then you take questions afterwards. Some of the questions you'll be able to answer, some of them you will not. Write those down and say "OK, I'm going to put together a little presentation to cover the questions that you had."

"This way, you don't have to build a [slide] deck, you're just watching along with somebody else, you're seeing how [the presenter] delivers the material, and you're seeing the kinds of questions that people ask that are relevant in your own environment. [Plus,] they're people that you already know and feel comfortable with, so it's just a little bit easier to jump up and say, "alright, now I'm going to tell this story my own way," in front of local user groups or strangers.

Javier Lozano (Owner of LozanoTek): "I would start small. Present at your local user group, present at code camps, present at regional conferences. Get the experience [needed] to deliver content the audiences, so that when you get into a large room and you have 150 people staring at you, you don't have the "deer in the headlights" effect. I'm not saying that you can't immediately [present at big conferences], but practice makes perfect."

Julie Lerman (Consultant and blogger, The Data Farm): "There is a path that, I think, isn't very challenging: local community events. I know people that started [by] giving little mini presentations at work.

"In our community, we have a number of user groups of various technologies, we have a code camp, and we encourage local people [to come and speak]. When we have too many presenters who are submitting, and we have more than we can handle, we do give preference to local speakers, even if they're not the big, national, [well-known] speakers. It doesn't matter. [We're looking for] someone who really has something to share. It doesn't matter how experienced they are. Those are great, safe places to get used to [speaking] and trying things out."

Ward Bell (VP of Technology, IdeaBlade): "I'm sure there are many roads to doing it. For me, and for many people, it starts with user groups. Start giving presentations to smaller groups, code camps, and things like that, and finding your groove and catching fire there. Of course, you have to feel passionate about what you are talking about, and that helps a great deal. You have to find that ability to stand in front of people and really enjoy engaging them."

For a few others, the idea of "lightning talks" lasting only a few minutes provided a great introduction to the world of tech presenting:

Tim Radney (Principal Consultant for SQLSkills.com): "The easiest thing to do is to work with local user groups, and find something that you are passionate about. Get up and show others what you found, how you fixed [some problem you encountered], whether it's a demo in a virtual machine or just slides talking about it with some screenshots. [Start] with a little "lightning talk" of ten to fifteen minutes. Don't feel like you have to do a full hour session your first time."

Steve Smith (Consultant and trainer): "Usually, user groups are a great place to start. If there's not a user group around, you can start one. It doesn't take much to start a user group, you just need to find a place to meet and tell people that you're having it, and whoever shows up, great.

"We have a user group in Hudson that just does lightning talks as presentations, and otherwise we spend the time coding and doing code katas. If you're not comfortable doing a one-hour talk on the topic, you could do a five-minute lightning talk on the thing that you are interested in, and that's pretty easy as far as a low barrier to entry."

Practice, Practice, Practice

Even after you've started presenting to other people, don't forget that no one gets truly proficient at anything without practice:

Dan Wahlin (consultant, author, founder of Wahlin Consulting): "John Papa and I chair the ASP.NET tracks at this conference, so we're the ones that pick the speakers. I can tell you that the number one thing is to get that practice in. If you apply and we've never seen a video of you, we've never even heard of you, at a conference this large we can't just bring anyone in. We've got to have that confidence that they are a top-level speaker.

"[Presenting] is not about getting up and speaking, it's about getting up and teaching. You have an hour, and [you have to] try to cram as much information in without overwhelming [the attendees], and get that proper pace, and it's hard to get right. You've gotta practice. Put yourself out there! Start requesting to speak at code camps, user groups, all that fun. You've got to build up your name enough such that, when you submit, [conference organizers] have heard of you or can at least go to your blog.

"Give me thirty seconds of your video, and I can tell you if we want to have you or not."

Moving On Up

After getting over your nervousness, mastering the basics, and doing all that practice, there's only one thing left to do: move on up the chain. Once you get more comfortable with the smaller groups, you can move up to local user groups, code camps, and regional conferences.

Scott Hanselman (Community Manager for ASP.NET and Azure Web Tools at Microsoft): "The way I did it was [to] start with Toastmasters (a non-profit organization that helps people improve their public speaking skills). [Then] you start doing basic presentations. Do a brown-bag at work in front of five of your friends, turn that into a user group talk, and then a user group talk can become a local code camp, a local code camp becomes a local conference, a local conference becomes a regional conference, and you get the idea."

Billy Hollis (UX and front-end consultant, author): "I get asked that a lot. Usually, the path is through some kind of track record that you form with local user groups or some of the regional conferences. There are a number of regional conferences; in Tennessee for example, we have one called DevLink, [and there's] about a thousand people that come to that per year. Because it is regional and because it is pretty big, people who have never spoken before have a chance to speak there.

"Being able to speak at some of those regional conferences, and then honing your material and getting some evidence that your evaluations are pretty good, are things that can get you considered to speak at one of these more [national] conferences."


Many speakers had the same overriding ideas: you gotta practice, start small, not worry about being nervous, then move up slowly, all the while building your name recognition and draw power. It's not easy, but from the passion that I heard in each of these people's voices when they talked to me about their drive, their need to teach and present, it is clear that, to them, the experience is truly rewarding.

Thanks again to all the speakers that generously donated their time to this project. I am so grateful to each and every one of you.

Please let me know what you think about this project in the comments, and if I should do it again at the next conference.

Happy Speaking!

Inside the Mind of the Tech Conference Speaker

I attended the AngleBrackets/DevIntersection tech conference in Las Vegas this week (as I did earlier this year). It was a fantastic experience as always, and I highly recommend that developers of all skills and ages attend conferences, even if they aren't the big national ones.

More than once, I was enthralled by the ease with which the speakers at this conference would stand on stage in front of packed halls and not run screaming from the terrifying unknown masses. This is something I've wanted to do for quite a while, speak in front of people, and I suddenly decided that I needed to know why they did it. I had my own ideas, of course, but to me it was more fulfilling to hear what they thought of speaking and why they kept doing it. So, for four days, I tracked down as many speakers as I could find and asked them three simple questions about being a presenter at tech conferences. Their answers were surprisingly diverse, but each had threads of commonality. Let's see if we can peer into the mind of the tech conference speaker and find out what drives them.

The Three Questions

For each person I interviewed at DevIntersections, I asked them three questions:

  1. Who are you, and what do you do?
  2. Why do you personally present at conferences such as this one?
  3. How can someone like me, a regular developer, work toward becoming a presenter at conferences?

I only informed the person I was interviewing of the first question, and they did not hear the other two questions until we were recording, so all the answers you will hear below are off-the-cuff. I recorded all of their responses, each of which is listed below, and excerpts from those responses are also posted. You can listen to all of the interviews over on SoundCloud.

The answers to the third question are a whole different conversation, and I'll explore them in a later post. For now I want to focus on the responses to the second question. Let's see if we can discover what compels speakers to spend time and energy presenting at conferences.

Interacting with the Community

A good conference is not about the sessions; it's about the people, about connecting with people who think similarly to (though not the same as) you. Some of the speakers that I interviewed told me that they presented at conferences because it enables them to interact with the greater tech community:

Dan Wahlin (consultant, author, founder of Wahlin Consulting): "It's really fun to hear about what everybody else is doing. I'd love to say that you can sit behind your walled garden and understand the pulse of the tech community, but if you don't get out and talk to people, you don't hear about some of these things. At conferences, you meet so many people and hear about so many issues. You learn more."

Anthony van der Hoorn (co-founder of Glimpse): "I think it's a good way of sharing knowledge and connecting with the community, and figuring out where the community is at, and what they are interested in, and trying to share cool and interesting things that are happening. It's a really good way of being engaged."

For some people, the atmosphere was the best part about being a speaker:

Ward Bell (VP of Technology, IdeaBlade): "I love the vibe. I love being with people that are trying to learn things. I like learning things, and I see many of my friends here who are swapping information as well as jokes and good times. It's a great time to get together and ask real questions and get real answers from people face-to-face."


Of course, one of the benefits of being a conference speaker is that it gets your name out there. Many of the presenters told me that the exposure generated from speaking at conferences is a big reason for speaking at them.

Steve Smith (Consultant, CTO for Falafel Software): "One [reason] is that it helps get my name out there and helps get business for me or my employer. I currently work for Falafel Software, so me being here helps [them]. When they are trying to win clients, they can say 'our employees are speakers at industry events.' The biggest [reason] is the visibility that it offers."

Troy Hunt (security writer, creator of HaveIBeenPwned): "I started presenting four or five years ago, and for me I found that it was a really good way to get exposure to people, to learn a lot more about what I'm talking about. You're forced to know what you are talking about once you've actually got to stand in front of people. If you get it wrong, you feel silly. It's like a forced education. You learn stuff so much better when you've got to explain it to people.

"Now that I'm an independent, the exposure helps me get people to watch my Pluralsight courses and [attend my] workshops."

Some speakers stated that while doing presentations is good for exposure, that's not the only reason they speak:

Billy Hollis (UX and front-end consultant, author): "Because I love it. Certainly it's effective as a form of marketing. If someone sees you as the expert in something, and you make a good case that you understand a particular technology or area of the industry, it's pretty easy to convince them to use your services. But, honestly, I would [speak at conferences] without that. I've been speaking since I was very young, and getting up on that stage gives me a charge."

Juval Lowy (software architect, author, founder of IDesign): "Because I want to make a difference. I don't do it for the recognition; I already have enough of that. I don't do it for the money; I can make much more money working with customers than spending my time doing this. I've done very well for myself over the years, so I don't need to travel anymore. I only do it because I want to make a difference.

"Imagine I knew all the things that I know, and I wouldn't tell anybody. I'd go nuts. [You can] think of it as my form of therapy."

NOTE: This is the only recording where I forgot to have the interviewee introduce himself.

Sometimes, conducting a presentation actually provides useful feedback to a development team:

Jay Schmelzer (Director of Program Management for .NET at Microsoft): "There are a couple aspects to it. Part of my job is to go out and evangelize and talk about the products we're working on.

"The other part of it is, I get a lot of enjoyment out of it. I enjoy the opportunity to interact. Even when the room is quiet, or people aren't asking specific questions, I can read the room and get a feel for [if] the way we're talking about it is making sense to them, resonating. Are they excited about it because they are sitting up in their chair? I can bring those kinds of things back to the team, to the design process, to help us build a better product."

Teaching Others

One of the most common responses I got from these speakers was that they just love to teach. Some of them wanted to share ideas, to put minds together and work out the tough problems:

Kathleen Dollard (.NET Coach and Director of Engineering for Real): "Because I love it is the short answer. It gives me an opportunity to connect with people.

"I love to teach, I love to put ideas together (sometimes successfully, sometimes less successfully). It's a challenge, and it gets information out there that I'm passionate about getting out there."

Javier Lozano (Owner of LozanoTek): "I like to share knowledge, and I love to see people learn. Coming to these conferences allows me to tap into different audiences and [be] able to share my experiences with them and learn from their experiences, and see how we can come together [to] solve intricate problems."

Some simply wanted to spare others the frustration that they themselves encountered:

Robert Green (Technical Evangelist at Microsoft): "The thing that I've always loved more than anything else was learning things and then sharing that knowledge with others. When I learn something, I think, 'you know, there must be people like me who are in the same boat.' So if I can come to a conference, and I can do a talk, and in 75 minutes teach you what I've already learned, then I can save you that time and get you to the point where you say 'oh, is that all that is? I can do that.'"

The "A-Ha!" Moment

Some presenters, in addition to wanting to spare others from frustration, live to see the moment when people "get it":

Scott Hanselman (Community Manager for ASP.NET and Azure Web Tools at Microsoft): "I was an adjunct professor at a state college for a while, so I think that I'm a teacher above all. It would be hard [for me] to decide if I am a teacher or a programmer. I've been teaching for 25 years, and I enjoy it.

"Presentations at conferences, the way that I do them, are just teaching on a large scale. I like it when a person lights up, and I figure out that that young man or that young woman just got what I was saying. They got it."

Brent Ozar (SQL expert and owner of Brent Ozar Unlimited): "To see the "a-ha!" look when people get a concept. I want to take the hardest concepts I can find and boil them down into the simplest possible ways. Anybody can teach simple concepts, but [I want to] teach something that is very hard to grasp in a short period of time. It's so awesome to see the pens come up, to see people start to take notes, or to see the mouths go open [like] 'Ohhhhh, NOW it's clear.' That's totally worth it."

Giving Back

Several of the speakers I interviewed felt that by teaching and presenting, they were giving back the kindness that had been showed to them, and thereby setting an example for others to follow.

Tim Radney (Principal Consultant for SQLSkills.com): "[I present at conferences] to teach, to share with others my experiences and how to fix things, how to enable them to grow in their career. This is my way of giving back and helping others."

Elijah Manor (Senior Front-End Web Developer at Ramsey Solutions): "[I also] really like to help people learn, to not make the same mistakes that I've made. Hopefully, as a developer, you're growing as you get further along in your career. I like to give back to people, help them along no matter where they are at."

One presenter even stated that it is important to her for underrepresented groups in tech to feel included:

Julie Lerman (Consultant and blogger, The Data Farm): "I love to learn about new things, and [that] is often a painful process. So what I like to do is alleviate that pain for other people and just share what I've learned. Often, I'm just excited about what I've learned or something that I think is important or that I think people need to know. That's one of my motivations."

"The other [motivation] is that I think it is very important for women to be seen speaking. Not only for guys to see that, but for other women [as well] so they don't feel like aliens. I want to be seen as 'oh, that's normal.'"

Learning New Things

This is the funny thing about speaking in front of people, not just at conferences: often you learn as much as you teach.

Shayne Boyer (software architect and blogger, Tattoo Coder): "I like to teach, and I like to talk to other people who do what I do. I think that sparks me on a regular basis. I only get to talk to the people that I work with on a regular basis, and I know what we're doing, but I like to understand what a lot of other people are doing.

"When I'm out here with other developers, getting an idea of what they're working on and what their challenges are, [even] just hearing 'hey, we're doing X, Y, or Z,' and how they're attacking a problem, [that] might give me an idea on how I can fix what I am doing."

So What Does Drive Speakers?

Though their responses were varied, many of the same ideas drive these people to get up in front of strangers: learning new things, exposure to new people and innovative ideas, even setting an example for others to follow. Most of all, though, these are people who are teachers first and foremost, driven by a deep love of helping others learn.

Thank you to all the speakers who graciously sacrificed their time to answer my questions; I am eternally grateful to all of you! Each of the names above link to that person's Twitter account or blog (or other page if the first two are unavailable). Please let me know what you think of this project in the comments!

Happy Coding Speaking!

We Don't Have Enough Teachers of Technology

Scott Hanselman has an post up called Bad UX and User Self-Blame - "I'm sorry, I'm not a computer person." It's an excellent read, and in it he discusses the phenomenon of users blaming themselves when something goes wrong when using a computer. Specifically he notes that older people and people who are new to technology feel this way often, saying that it's their fault something went wrong.

Hanselman wonders if the problem is abstractions (emphasis mine):

I think one of the main issues is that of abstractions. For us, as techies, there's abstractions but they are transparent. For our non-technical friends, the whole technical world is a big black box. While they may have a conceptual model in their mind on how something works, if that doesn't line up with the technical reality, well, they'll be googling for a while and will never find what they need.

I posted this article to Reddit, and the first comment on it was very interesting:

But at a certain point you have to understand how computers work in order to use them. I mean I wouldn't expect to be able to drive a car without understanding gears or roundabouts. I wouldn't expect to know how to read without understanding the alphabet.

Some things you have to learn. I guess the real problem is that computers are introduced to some people when they are long past the point of them being able to learn. Few people learn to read or drive at 50. And I imagine if you tried to teach someone how to read at 50 you'd quickly say MOVE!

In a way, this is also true. It's reasonable to expect people to understand just a little bit about the technology in use so that they can use it properly. But this comment is also kinda missing the point. The problem is not that users should have to learn something in order to use technology proficiently; the problem is that there aren't enough skilled, approachable teachers of technology.

Teaching is Hard

Ever tried to teach your grandparents how to use the internet? Often it's like you and they are speaking two different languages; they simply don't have any frame of reference for concepts like "browser" or "malware". On the other hand, those of us who grew up with the internet know these things like they're second nature, and that paradoxically makes it very difficult to explain to people. The things we take for granted are the things we have the hardest time explaining to others.

I'm a huge proponent of being able to explain yourself. In my eyes this "divide" between tech and non-tech people can be bridged via technical people becoming better teachers. There is a learning barrier in place between non-technical people and technology, and the people who can best assist those persons are the people who already live and breathe technology. We're the ones with the knowledge after all; we can't expect people who have no knowledge of how technology works to suddenly acquire that knowledge with no outside help. And who are the non-tech people going to get it from, if not us?

OK, great, so we should try to become teachers to the less-technically-inclined people in our lives. Sounds easy enough, right? But even if you have this lofty goal, though, teaching someone else can be difficult and frustrating.

One of the primary obstacles to learning is that the student has to actually want to learn, and not just acquire an answer for their current problem. There are some people who simply don't want to think, and there isn't a whole lot you can do for those people. My experience, however, says that this group is much smaller than we think.

Putting those people aside, if we are to help those who really want to learn, then we have to be able to determine what their level of proficiency is. Are they a total beginner, or do they have some relevant experience or knowledge that we can use as a launching point for learning about a technical topic? It's important to keep in mind that what they tell us they know and what they actually know are two different things, and part of the learning barrier is unreliable communication about what the student actually knows.

Once we've established a baseline about the student's knowledge, we can start to help them learn how to ask questions, both to people and search engines. Finding answers to your questions is really easy when you already know how to Google, but for people who have little understanding of how technology works, blindly Googling around probably isn't going to help them. It's often easier for non-tech people (hell, for the majority of people) to communicate with real persons rather than machines.

If all of this sounds, well, difficult, that's because it is. Why do you think there are so few good teachers? Because teaching is all about communication, and communication is hard.

The Solution Is Us

The ultimate goal of all this is simple: teaching someone else how to use technology should enable them to solve their own problems, and not have to rely on others to do it for them. This takes both confidence and skills, and a person who lacks one will eventually lack the other; a person with no confidence in his ability to learn may allow his skills to atrophy, while a person with no skills may lack the confidence needed to try, fail, and try again. It's a Catch-22.

The primary problem facing non-technical people today isn't that the technology doesn't work for them, it's that they face an uphill climb when trying to learn how to use it. There simply aren't enough technologically-savvy persons out there that have the patience and skills to help a novice learn how to use technology.

But there is a solution, and the solution is us.

Programmers, developers, web designers, technical managers, QA personnel, all IT people can be the solution. We can be the sherpas for the climb, the people who can actually make technology more accessible for those who are less savvy. If you are a developer, or designer, or other technical guy or girl who can help a non-tech person use technology better, consider this your wake-up call. Many of these people want help, and you are the one with the power to assist them in learning how to make technology work for them.

You can heed the call to be a teacher of technology, and consequently make life surrounded by it just a little bit easier for those who want to learn.