I gave a small lecture today on to a class of senior computer science undergrads on the importance of looking beyond the coding.  It wasn’t my first time doing it (actually it was my second) but I definitely got a bit of an interesting story to tell about this one.

I started off the lecture stating that people are probably going to be watching movies, gaming, or doing their homework on their laptops while I’m talking and that’s fine.  Take from what I say, as you will.  And that’s always been my personal theory.  If I even reach one person, change their perceptions a bit to help them become a little more successful in starting a career, I’ve done my job.

But on to what happened.

Last year, my collegue and I concentrated a bit more on personal stories and letting the students draw their own conclusions, but this year, I took a different tact and decided to state more about my lessons learned using my “voice of authority”, adding only half of the anedotals that I usually give.  I gave a bit of background about the company I work for, my own history and then dove into the need to understand the business and how a piece of code can affect the business.  At one point, I read out something I had copied down during my morning conversation with my manager.  He said “coders are like cookies in a bakery, sold by weight and there is always a fresh batch in the morning.”

That was when things got interesting.

Immediately, I had one guy in the front put up his hand.  He was offended! (And he said as much.)  The back-and-forth then went on as so (as much as I can remember of course):

Him:  It’s kind of degrading, and yeah sure, there will always be new grads, but I would have gained experience and be more valueable.
Me: Experience in what?
Him: In coding!  It’s not a stagnant skill.  There are lots of successful coders out there!
Me: Yeah..but I bet you they are successful, not because of their coding skills, but because they have an understanding of the value of their code, that they understood where it fit within the business.

After that, I proceeded to relate it back to the point of lecture which is that you can’t be successful if you are coding in just a silo.  If you look at the the bigger picture, have a greater understanding of where you fit in, then you begin to understand the impact and that’s the experience you gain.  (This is also a pointer from my manager as well.)

I could almost see the wheels in this student’s head turning after, but I could also see a resistance to buy into what I was saying, probably because I offended him and he was raising defensive shields.  But I also saw a few other students’ gears turning.  One asked me what else I learned that carried forth to which I answered the concepts behind a programming language, the experience of working in a team on a project, and all good stuff.

Later, I spoke about understanding the business in the bigger picture. In this economy, everyone’s asked to explain how they contribute to the business strategy overall.  It’s with all companies, I believe.  I know it’s certainly a common theme in conversations around my workplace these days. By understanding your company’s strategy, you begin to see how your work relates, and by drawing that clear line for your leadership team, you are able to pretty much justify your job’s existence. In these days, probably a very good thing.

I hate reading financials.  I absolutely hate financial statements.  The tiny numbers make my head spin.  But when I held up the annual report I was pouring over the night before, and a student asked me if the time spent was worth it, I replied with no uncertainty, YES.  Understanding that strategy, no matter whether you’re in operations, IT, or communications, you begin to understand your company’s direction and how you can align what you do with that strategy.

You also being understanding the importance of business decisions made that otherwise seem unfair or unfathomable.  At the end of the day, a business is a business.  It has to drive profits to ensure its survival.  Understanding the stratagies to do that, and how you contribute to those strategies is going to at least help in your own survival.

I counted one napper, and about 70% not paying attention.  One student was as rude as to get her friend to listen to the headphone she had on.

But, I think I saw one or two wheels turning.  I know my friend who was in that class understood alot of what I said in the bubble tea session I had with him after.  I think one or two other students may also begin to think a little differently.

To me, that’s worth it.

Oh, and in retrospect, I should have brought that nerf gun to peg some of those guys…


gab-backs

4 gab-backs to “ah, the techies of tomorrow”


I ate popcorn and candy and drank pop and was attentive! :P

Yes Dan..yes you did..and you didn’t try to ask embarrassing questions. I am much appreciative (thus the bubble tea after.)

Having worked in an environment for the past 7 years where we are consistently bringing on new grads and having them build code to solve business programs, I completely understand the benefit of helping those folks to better understand the business in which they operate. People who have a good strong business sense, and have been embedded within the operations for a couple of years definitely help to create solutions which better address the problem, and even address problems that the business didn’t realize it had.

One thing that I will say is that increased business knowledge does not help people write better code. Business problems may have been solved, but at a support cost which in some cases out-weighs the benefit that they provide. Understanding the technology and being proficient with it is still a key piece of being one of the “techies of tomorrow”.

We had often hired on the principles that “as long as they have some kind of technical background, and strong business skills we can teach them about the technology we use.”

This proved not to be a wise decision.

We still need to ensure that the technology is given the respect it’s due. Otherwise the resulting mish-mash of technological styles, choices and in some case ineptitude makes for rather a mess.

That’s a really good point Keith, thank you. It’s definitely important not to lose sight of the technical skills. In fact, part of my lecture was on the importance of being technology-agnostic – that is, not get too hung up about the choice of language to program in, or which programs/platforms are better. Rather, concentrate on the theory and concepts that are the foundations of every programming language and architecture models. That’ll likely carry a new grad through success than anything else.

It’s definitely important for students to concentrate on the technical skills (or else why are they in computer science?) but it’s also important for them to keep an open mind about other skills that they need to be ahead of the curve.

gab back now!


(will not be published)

« stats make the world go round facebook identity »