Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Future tech about to finish school, what skills needed for real world?

By onyxruby in Op-Ed
Thu Jul 26, 2001 at 08:54:49 AM EST
Tags: Help! (Ask Kuro5hin) (all tags)
Help! (Ask Kuro5hin)

I have an odd request for the K5 community. I have an opportunity to take a last year in college, no real world experience, future IT Tech type person on a career shadowing day. I would like to give him some ideas on skills that he should sharpen up on before he finishes school and enters the real world. Any ideas?


This individual has worked on the assembly line in one of the factories I support for the last 4 years while putting himself through computer school. He is in his last year of school, and has been getting a general rounded IT education. He's not a programmer, and wants to get into being a tech or a Network admin.

Based on previous experiences with individuals like this, I know that they often lack real world skills, and are commonly misled by their school to think that the "newest" skills are the most valuable. I don't know about you, but being well versed in DOS has proven to be valuable to me more times than I could start to guess.

My goal is to give him some good ideas for practical skills that just don't tend to get taught in school but are used daily once your in the hot seat (for example: imaging software, fdisk, and making a crossover network cable all spring to mind). My interest is to make sure he can use the remaining months until he graduates to learn and polish up on these "real world" skills he'll need once that shiny resume and degree he's about to get land him a job.

I have my own list of ideas of course, but these are colored by my own personal experiences (Network Admin, Desktop Support, local Field, national Field, and Helldesk - 5 years or so professional work experience). I know that there is a lot out there that I haven't done, as well as people in the readership here that have much more experience than I do. I want to give ideas beyond my limited knowledge base, can you help?

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Best Tech skills for real world
o Dos 1%
o Hardware 4%
o Windows OS's 2%
o GNU Linux 1%
o Network backbones 2%
o Security 6%
o People 16%
o Finding information 65%

Votes: 75
Results | Other Polls

Related Links
o Also by onyxruby


Display: Sort:
Future tech about to finish school, what skills needed for real world? | 26 comments (22 topical, 4 editorial, 0 hidden)
Real World Experience (4.33 / 3) (#1)
by jonnyq on Wed Jul 25, 2001 at 11:59:44 PM EST

If you can arrange to have a hard disk controller go out on a production machine, that would be ideal. If that is too exciting, you could show him how free cell works...

My path. (4.33 / 3) (#2)
by Hechz on Thu Jul 26, 2001 at 12:05:44 AM EST

I started out 8-9 years ago with PC/Helpdesk and gradullay moved into novell and NT admin work. That lasted for about three years until I got bitten by the Unix bug.

During this period the market I worked in was open to a lot of consulting. This was an imeasurably great asset for me. I changed projects every three to six months. This constant hoping exposed me to new people, technologies and ideas.

In my current professional incarnation I have been responsible for hiring. This has allowed me the opportunity to eval experienced and not so experienced people. What I've found is that independent critical thinking is the most important skill imaginable.

I cannot stress how great it is to see someone that doesn't know how to do something investigate and ask for guidance as opposed to the full solution to their challenge. Personal preference and work style will factor heavily into what technologies they work with, but using a basic 'scientific' method when troubleshooting or learning is key no matter what it is being applies to.



See Former Postings (3.00 / 1) (#3)
by turtleshadow on Thu Jul 26, 2001 at 12:27:13 AM EST

My Boss says some belt tightening is in order; In that vein Im recyling excellent treads as in this one begun by Conraduno.

Mr Boss, Im not wasting as much company bandwith typing up a new responses to K5 now! You can stay on the Golf Course!!

Turtleshadow

People skills. (5.00 / 4) (#4)
by rebelcool on Thu Jul 26, 2001 at 12:29:52 AM EST

Tech skills are nice, but ultimately you work with (and for) people. Often in tech you will have to do things you would prefer doing a different way. You will have to humor people, and yes, occasionally kiss some ass.

COG. Build your own community. Free, easy, powerful. Demo site

Poll answer is right-on (5.00 / 4) (#5)
by cyclopatra on Thu Jul 26, 2001 at 01:14:13 AM EST

The last option on the poll - "Finding Information" - is the *single* most important skill any tech worker should have. I'm partly school taught, partly self-taught, mostly OJT-taught - and far from the most senior or experienced techie at my company - but I end up being the "answer person" for everyone else in development because I know how to find information, and apparently they don't (or aren't willing to, when they can just ask me).

Here's a typical day of questions for me (in fact, it was the questions I fielded yesterday):

  • Senior Programmer: In an HTML form, how is the information sent? If there's more than one variable with the same name, how does it look to the web server? Me: How it looks to your script is going to depend on what language you're using, but I'd guess that it just gets sent straight-up, ie, foo=foo&foo=bar&foo=jack...But the quick way to find out is to set up a mailto: form and see what you get.
  • Network Admin: How can I tell how these two DB tables relate to each other in my intrustion detector? Me: Copy the source to my home directory. (5 minutes & grep: found a query joining the tables, had his answer)
  • Web Programmer: How do I add a new column to this table in Postgres? Me: (surf to www.postgresql.org and spend a minute in the manual - and I've tried telling them to RTFM before; it doesn't work)
You'll never be asked to do exactly the things you did in school (in my case, that's a good thing, because I think there are enough Life simulations and vector-based drawing programs in the world), and no-one really wants to educate you. Learn how to RTFM, how to use search engines, and about bookmarking every single site you come across that even looks like it might be useful later. I have a folder full of tutorial, howto and FAQ bookmarks on any subject that smells the slightest bit like my job - because the fact that I found it once doesn't mean I'll find it again, and the time I save by having that URL bookmarked is more than worth the second it takes to do it.

And, on a purely political level, being the person who can find your answer in 5 mins or less makes me look good, as well as increasing my value in the eyes of my coworkers. ;)

Cyclopatra
All your .sigs are belong to us.
remove mypants to email

Hell yes. (4.00 / 2) (#10)
by Kugyou on Thu Jul 26, 2001 at 07:07:11 AM EST

Hi, my name is Kugyou, and I program in Tcl/TK. (Hiii, Kugyou!)

But seriously, I don't know where I'd be without my trusty help files. I'm also corporate webmeister, and sometimes just can't be arsed to sit around and remember which parts of a table layout I can futz with in CSS. Can't remember the operators of the Tcl string class? Crack open the help, or hit tcl.activestate.com. Mysql docs? MySQL homepage, foo. Or, for those days when you just can't remember your own damn javascript, WebReference. If it weren't for my trusty bookmarks (at least my mental ones), I'd have gone insane a long time ago, considering that our books on the subjects (if we even have books) are at least a version old.


-----------------------------------------
Dust in the wind bores holes in mountains
[ Parent ]

I quit using bookmarks (4.00 / 1) (#26)
by yesterdays children on Wed Aug 01, 2001 at 08:30:40 PM EST

I just have a local start page on my hd. I've gotten very fast at typing "a href=" etc... and the start page also accumulates lots of notes on the bottom. Not really pretty, but much more convenient than bookmarks, for me anyways.

[ Parent ]
Skills (4.00 / 1) (#7)
by SpaceHamster on Thu Jul 26, 2001 at 02:44:11 AM EST

If he wants to be a network admin/engineer, sit him down with a few workstations, a hub, and some cable, and let him build a network. Then break it. Then make him fix it. Rinse, repeat.

As far as skills he's not likely to learn in school, I can't say (not a grad). But in my experience interviewing tech people, I would administer some sort of hands on test. For generic techies I'd break a computer and as a test have them fix it. For programmer, give them a computer with visual studio, iis, sql server and ask them to show me some rows from pubs. People with MASTERS DEGRESS routinely could not complete these tasks. Tells me something about college education. Oh, and make sure he can RTFM, of course.

Actually, what you asking him to do ... (3.00 / 1) (#22)
by gravid on Fri Jul 27, 2001 at 04:24:01 AM EST

is teach troubleshooting skills. And in order to learn troubleshooting skills you need to be able to think logically. Unfortunately, this has become somewhat of a rare ability.

If you can't do this you'll never be a competent tech.

[ Parent ]

Go back to basics (4.00 / 2) (#9)
by loaf on Thu Jul 26, 2001 at 06:07:22 AM EST

In IT as in all things, remember the mantra "give a man a fish, he'll eat for a day. Teach him how to fish and he'll never go hungry."

The best way to ensure someone has the skills that will be useful for longer is to teach the underlying background theory - and then have them apply it to a new task.

Too many people in the IT industry have no clue about the science, mathematics and technological underpinnings.

Give him Knuth. Take some theory classes. Learn about the OSS model. Introduce him to algorithmics and lambda calculus.

On the other hand you could give him a JAVA manual and an MS Networks Certification course and he'll be ok for a few months ....

Fundamentals... (5.00 / 2) (#12)
by slaytanic killer on Thu Jul 26, 2001 at 09:03:51 AM EST

Spoke with my local BOFH (who just transitioned out of PFY) last week, and mentioned that his main advantage was that he understood the basics and the philosophy behind stuff. Mainly it's all about understanding what lies behind the knowledge, and being genuinely interested in the stuff. Got the impression he was an outsider of sorts looking in.

I imagine a net admin should be able to give reasonable answers to certain questions, like "How would you handle a DOS/break-in attack?" "Before any sort of attack would happen, how would you prepare for it so that dealing with it is as simple as possible?" How does he secure the net against viruses? How does he yadda yadda yadda. The best, most experienced admins I know have their little caves they retreat to and play Quake all day, since they've done most of their work upfront and just wait for something to react to.

I think there are two parts of a good admin: Ability to think clearly without drowning in the details, and still knowing enough to know where to learn the details.

I personally like the UNIX System Administrator's Handbook, though I am personally not a syadmin... Not necessarily to learn straight from, but to inspire thought.

I agree DOS is important, because it's the environment that I work in heavily while on Windows machines. Ain't only for admins. I sometimes use my copy of Windows 2000 Commands and visit here when writing batch files.

BTW, why is this post editorial? In some ways it's some of the deepest, quiet humor I've ever seen.

[ Parent ]
Make sure its meeting day... (5.00 / 1) (#11)
by Sawzall on Thu Jul 26, 2001 at 07:28:51 AM EST

so he will then learn what the most dreadful part of his life will be like. Hopefully include the "team" meetings. Ask him at the end to pick out the weasel, since finding that person fast will be the most important task on his new job.

Drop a pound or two of droolproof paper on him as a class extra - tell him that somewhere there are two nuggets of important stuff, try to stay awake to find it. (I swear that consulting firms get paid by the pound...)

Management (5.00 / 1) (#13)
by MicroBerto on Thu Jul 26, 2001 at 09:28:03 AM EST

Tell him about dealing with management:

He needs to know that sometimes, you just can't fight even the most inane requests. He's gonna have to realize that documentation for them is key, and that there are going to be pointless meetings that he's just gonna have to smile his way through. The list goes on...

Berto
- GAIM: MicroBerto
Bertoline - My comic strip

Fuck documentation (4.00 / 1) (#21)
by gravid on Fri Jul 27, 2001 at 04:16:01 AM EST

A managers idea of documentation is nothing near what a tech considers to be documentation.

I'm the only Unix admin in a predominantly Windows shop and my boss expected me to create detailed documentation of all the servers I admin when I was hired.

Unfortunately, when I completed the task and turned the docs over to him to review, he was totally pissed. Basically, he was expecting me to document, step by step, every task, every installation, every command I use in running the systems. He wanted me to create documentation the Windows admins could use to do my job, fuck that. What I gave him were hard copies of all the configs and scripts, useless to anyone who didn't know the first thing about Unix.

Remember, to a manager you are a interchangable cog in their machine.

[ Parent ]

What an asshole manager (5.00 / 1) (#24)
by slaytanic killer on Fri Jul 27, 2001 at 07:56:39 AM EST

I actually like these guys, because they give everyone else the chance to look much better.

[ Parent ]
Tech and "business" balance (5.00 / 4) (#14)
by sneakcjj on Thu Jul 26, 2001 at 09:30:51 AM EST

One thing MANY tech people lack is business and political sense. Only about 30-40% of your job will depend on your technical skills while the other 60-70% are business/political skills. Let me explain...

If you want to stay at an entry level technical job where you just take orders rather than manage projects and give them, then this does not apply to you. But, most people like to get promoted and move up the proverbial ladder. The higher you go, the move technical work is replaced by "business" work (like managing projects/people, cost analysis, developing plans and requirements documents, etc). You may say that is what the financial people do, but it isn't. As the technical person, YOU know what hardware and software you need better than anyone else, you can probably set it all up in a matter of hours or a few days, but the business side gets in the way. You need to get approval and to do that most people want to know how much it will cost, the time it takes, what other kinds of resources are needed, who is going to support it and how. This means many boring meetings where you are presenting cost analysis for the hardware and software, support plans, requirements documents and the list goes on. Being an IT worker is not just about technology, it is about being able to SELL that technology to people who don't know what it is or how it works.

Political skills are important at any level. You need to know how to negotiate and talk to people at THEIR level. Getting things done in a timely manner REQUIRES that you maintain relationships with people. Call people you haven't worked with in awhile, chat for a few minutes or have lunch. By doing this you develop friendships and figure out what they know. Down the road, when you need someone who can make a widget work with a gample you can flip through your rolodex and call your buddy up who you had lunch with a few days ago. Friends are always more willing to help out than people you just call "co-workers".

As far as technical skills, I don't know what type of environment you or he work in, but, learning the technology that is on the bleeding edge is useless. In the large companies I've worked for, they are only now using technology that has been around for 3-4 years and has been proven elsewhere.

For those you just entering college, if you like computers but don't really want to be a hardcore technician, look at a major in Operations Management, Information Systems. Computer Science (at least at my school) is geared to hardcore programmers.

Real World? (4.00 / 1) (#15)
by wiredog on Thu Jul 26, 2001 at 02:16:23 PM EST

I suspect that a guy who's spent 4 years on an assembly line knows a helluva lot more about the Real World than any sysadmin does.

If there's a choice between performance and ease of use, Linux will go for performance every time. -- Jerry Pournelle
Perspective from one in a similar situation (4.00 / 1) (#16)
by A Dapper M on Thu Jul 26, 2001 at 06:51:00 PM EST

I'm a college student in an IT program with a couple years experience in myriad tech projects (networking, troubleshooting, etc.)

Honestly, I think that the most important skills (I'm not just speaking out my ear on this one, I'm summarizing the view of all the techs, BOFH's and advisors I've known) are people and information finding skills.

These skills are important for any technical job. And are likely to be the most invaluable skills anyone can develop.

All the other skills you listed in your poll are nice to have, but should be picked up as needed. You can learn the basics of Linux or networking in a few weeks, but people/communication skills and info finding skills will help you at anything.

Just my $0.02 (American, not canadish ;), and good luck to that young man, working and going to college at the same time is just plain brutal.

"I sought only myself." - Heraclitus


My brother is 22 and makes 60,000 a year working (3.00 / 1) (#18)
by sexyblonde on Thu Jul 26, 2001 at 11:35:32 PM EST

For Microsoft as a Software Test Engineer.

Here's how he did it!

#1. He worked for Volt Temporary Services for 3 years. His first assignment was with an Internet Service Provider called Sprynet. He worked their doing tech support for about 2 years. Yes, it was hell and he hated it but he needed the experience. He did so well that he started training other people to do what he was doing. He then got a 2nd assignment with MicroSoft. He worked on that assignment for 1 year and then was hired on permanently. He's worked for MicroSoft for about 4 years and has received very high marks and a couple of promotions. My brother is a rare case he is self-taught. The only certificates he's received are a couple from MicroSoft for being an outstanding employee and a G.E.D. He's awesome @ what he does and not every tech company is looking to see if your certified or have a degree. If you are the SHIT and can prove it! Go for it with or without a certificate.

I hope this has helped you out a bit.



Never bullshit anyone (5.00 / 1) (#19)
by gravid on Fri Jul 27, 2001 at 04:06:26 AM EST

You can always tell a shitty tech by how much they bullshit their customers/users/managers. These folks tap dance when they don't know what their talking about in fear that they'll be punished/ostracized/ridiculed for their ignorance.

Real techs admit that they don't know everything. Hell, the more I learn about Unix the less I realize I actually know.

If someone asks you something you don't know, tell them you don't know but you'll find out. This impresses the hell out of most people, especially if you consistenly find and resolve their problems. They'll get in the habit of trusting you with their problems, and this is the most rewarding part of being a tech.

My insight - (4.00 / 1) (#20)
by ninjaz on Fri Jul 27, 2001 at 04:10:23 AM EST

I have worked in the computer for around 6 years, and took Hard Way (i.e., no certs, training, degree) to my current position - Sr. Unix Admin.

Here are some things I have learned along the way:

On the social/political aspects:

Work with people instead of against them. Lording over your piece of the infrastructure and trying to prevent others from 'invading your territory' just invites bad blood, which is not advantageous to your career.

If you have the opportunity to contribute your skills to save someone's hide, take it. There's nothing like a favor to call in. I personally got transferred away from a death march coding project and onto the Unix team (which was my real aspiration) by using my perl programming skills to fix a badly mangled Excel dump at the 11th hour - which ended up saving a contract. :)

Be a team player. This tends to be a bit of an overused buzzword, and in the past, I've been a bit taken aback and offended when hiring managers would ask "Are you a team player?" After all, you're being hired for the technical skills you've worked so hard to build, right?

Working together with your peers and sharing your expertise and personal insights tends to be very beneficial long-term. Not only do you get a friendlier everyday work environment, the respect and knowledge you can gain this way extends beyond your current position.

Of interest to college graduates/certification holders - Do not assume that since you've gotten your degree/cert that you've become an independent authority on your subject matter and have finished learning, so can now coast. You don't have a mandate of being unquestionably right. Your professors/trainers may not have been as knowledgeable on everything as they could have been, and technology progresses and changes hourly. ;) (Eg., I once did the impossible with Javascript, if a particular professor's version of the technology was to be believed) People will notice that the emperor has no clothes.


On the personal/technical side:

Until you've got a solid good relationship with the people on your team, always do your research before asking questions. You can develop a bad reputation quickly by asking a basic question "Covered in the FAQ" and which is considered a matter of basic competency to your position.

To this end, pillage the search engines, news groups and topical sites on the net relentlessly. Not only is this a good way to establish your grasp on the "basics", it helps you keep current and in the habit of learning on your own, too.

Experiment! "What happens if X" is best answered by trying X when that's possible. People and documentation can be mistaken. Witnessing the phenomenon for yourself is authoritative and reproducible.

Relentlessly maintain ethics. In any type of operations role, you're going to be responsible for important systems and exposed to confidential data. If you can't be trusted to carry out your role ethically and honestly (even if you perceive the company to be screwing you over), your usefulness as an employee is nil.

Choose positions based on future benefits rather than short-term gain. Eg., there have been times where I could have earned more money by working on coding projects for Windows or taking a SCO Openserver admin job. Since I really don't want to work with Windows or SCO (and at the time, SCO Openserver was end-of-lifed), I instead chose to work at a lower rate on technologies with a future, and which I enjoy. I have ended up better off financially and emotionally as a result.

In a nutshell: Tend toward helpfulness, be ethical, pursue knowledge, think long-term.


Things to know and random advice (5.00 / 1) (#23)
by Pyrrhonian on Fri Jul 27, 2001 at 05:02:07 AM EST

The most important things I've learnt in my (admit ably short career) are below, some of these things I knew before I started, some I had an idea about, but some you only learn the value of when it happens I think.
Communicate with people
This is one of the most important skills, clear communication is invaluable for everyone involved. You should also learn to translate technical events and ideas to people who do other things (and hope they do the same for you)

In a similar idea learn to translate between what the admins tell you and the end users, and back the other way.

Don't be afraid to admit you have no idea about a subject
One very important thing you should always do... don't try an implement something you have no idea about without learning, don't give advice on things you don't know about. And for gods sake don't try an implement large scale ideas if you don't know how to do it.

Learn by safe experimentation
With your own box at home make it a nice duel boot machine, its helped me invaluably. Learn windows, not just how to use it but how to make it work how you want. Put Linux (or something else) on the other half and learn about that, I've learned more about computers by trying to make my Linux machine do things I *knew* it could do (but didn't know how) in a situation where it wasn't critical to anything (except me getting my email).

Rely on more experienced techs, they are you most invaluable asset.
If you have a problem, or you have an idea your not sure about go speak with an experienced Admin, don't ask them to implement your idea, just bounce a few ideas off them and go read up on the subject yourself. This is sort of related to the first point.
Lastly understand the culture and care about it. If your a tech for life (in career and as a hobby) or simply you do this for fun understand the other people around you, don't get drawn into pointless bigoted flame wars (whoops, I'm quite guilty of this) except maybe against outlook express and vi ;)

Future tech about to finish school, what skills needed for real world? | 26 comments (22 topical, 4 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!