What Should I Teach?
This is page 2 of the discussion. Read the opening post
IT Employment
This is page 2 of the discussion. Read the opening post
by timeacct
Orian,
You are right on target. Who cares about technnology for technology's sake. Does it solve a business problem.
If you learn to take to the people who control the money - then you will never worry about outsourcing!
Bradley
I think you should care about people skills. How to be and feel a part of a team, how to care for the team efforts, goals, values, and members, within the broader scope of company goals and values.
These themes are always important and hot topics for training courses.
Good luck.
by realme
by rogerinpa
Very briefly, two things...
Understand what the person who signs your check expects from you. You need to be able to live up to those expectations, or consider looking for a job that is within your current abilities.
Train well and be as organized and methodical as possible, but know your limitations. No one knows everything about everything. Maintain support groups and contacts, and most of all, know when it is time to ask for help.
by blueknight
It'll take more than just two skills, but since you asked for two, I'll try to whittle them down.
The starting list of skills:
1) Communication (with emphasis on listening, and actually hearing what the user is requesting, describing or complaining about).
2) Persistence - when working on a problem, keep at it until it's resolved... and don't be afraid to ask one of your peers to assist, even if it's for a "sanity check" on something.
3) Integrity - If you screw up, take ownership - DO NOT point fingers at others. Admit your mistake. Be honest and genuine with everyone.
4) Love to learn - This is more intrinsic, but it's the only way you can keep up with technology.
5) Learn the business processes - you'll understand users better, you'll be much better prepared to solve problems and you'll be able to design better systems - particularly where it relates to logic, which has to be absolutely clear.
6) Make sure your testing and implementation do not adversely affect the users. Do your development and testing in a TEST environment. When you're happy with the product, have the users test it in a QA environment. Once they're happy, then, and only then, move it into the PRODuction environment. Implement a good change management strategy and do not deviate from it.
That's enough for starters, there are many other basic things that need to be taught. I would have added teach them to be logical, but in my experience, people either are logical thinkers, or they're not... you can't teach it :-(
From the list above, I'd say that the two most important are Communication and Learn the business processes.
by taurusnl
I really appreciate all the wonderful points of view. I am building an IT career path document, and the insight in all replies is a terrific resource. I echo most technical and soft/people/communication comments (I call those Organizational Skills), and would add:
Expectation management - As one person said, ?IT is just a tool.? We can't do everything. Be clear about what a technology / solution can -- and cannot -- do for the user.
Communication Point of View - Always explain solutions from the user's point of view, "Mr.(Ms.) User, this __ will help you to ... ."
Conflict management - Because IT enables users -- people, conflict is inevitable. See conflict as a good thing; use it as a way to improve operations and communication.
Politics - Organizations are political in nature. Know how your organization operates: Who reports to whom? Who in the organization influences decision makers [other managers, outside advisors, etc.]? What are the NO-GO words [in our company, the "S" word [Server - as in we need a new one / another one] that must be used with extreme caution?
How to be a follower / team member - No one, not even a CIO / CTO, is a leader all the time! To be a good leader, you must be a good follower. Others must be able to trust your technical skill. They must be able to count on you to do what you say you will when you say it will be done. You must support the decision(s) of the leader(s) with respect and cooperation.
THANKS to all! m
by zentross
In order to really understand the needs of the customer, we have to have patience to listen through their lengthy stories. We also need proper listening, and questioning skills. Customers don't have patience for someone who doesn't appear to take them seriously and won't return if your questions seem demeaning or obvious probes for proof of idiocy.
That said the ability to remain flexible in a constantly changing field along with a drive to never stop learning are invaluable as well.
Just remember : Our job is about people and helping them to do their job!
by cool_breeze
by ultra_blue
Hello:
When teaching IT folks who are moving along to an intermediate or advanced level, I always stress that they need to know how things work. No longer can they rely on a few tricks or heuristics to buoy them. So, teach as much background as you can.
One analogy that I use is that of a race-car driver as opposed to a commuter driver. I say something like:
When you're driving your own car to work, to the store, etc, you don't need to know much about how the car works -- just knowing that it needs gasoline, air, water, etc. is probably enough.
But now you're entering into a different realm -- like a race-car driver, you need to know how your system works, why things fail, and how to work around *and* repair things -- on the fly. You're own experience is your best tool here -- don't be afraid to haul out your war stories -- just don't over do it.
In addition, I emphasize that people skills are essential to career development; in this case, leading by example is the best way to go.
HTH!
Blue
by tjd
particular for those on the helpdesk and absolutely for any providing phone support.
Nothing hurts some much as explaining where the "any key" is for the 100th time or explaining for to the 30th person in a week that the reason they can't acces the network printer is that their password is expired and they need to change it, then explaining why passwords expire when they complain.
"Yes, I set that policy. No, I won't give you a permanent password. And by the way, your password for the ERP system is not synchronized with your network password, so use the old password when logging in there. If you want them to be the same you'll need to change that one also."
TjD
by bill.affeldt
As a young pup in It as a critical systems programmer and support person, a wise old sage taught me to never be woken up 2 nights for the same problem.
Most of the IT people I know are great a fixing things that are broken but lack the skills to perform root cause analysis, and then lack the time and desire to go fix the root problems.
As a lot of us know, defects propogated through the development process get exponentially more expensive to fix with each phase it passes through.
Teach the new budding IT professionals to look forward and to look backwards. When fixing a problem .... make sure you fix the problem not the symptom. When creating new 'stuff' make it so it is easily understood and maintained.
Also I would reccomend W. Edwards Deming as required reading. (at least go over the red beads experiment with them -- espicially if they aspire to manangement)
by dc_guy
Several others have mentioned communication skills. I specifically single out writing because it's not being taught well in the university system. I'm constantly receiving documents written by MBAs and even PhDs, and sometimes I honestly can't figure out what they're trying to say.
We once let a guy go because his writing was so bad that nobody could even edit it. (Unfortunately he got a job with the government.)
There's an inexorable trend toward requiring more documentation on information systems; it simply isn't 1968 any more. The time will come when people who can't write intelligibly about what they do will not get the best jobs.
by mgoldner
by xina45
I just recently finished my degree after working in IT for quite a while, besides all of the "technical-type" classes the one course that I didn't want to take, but has served me well for "having to" take it was a course in critical thinking and problem solving. It reminds me to take a breath/minute/hour/day, whatever is necessary/appropriate to really solve a problem. At times we have to troubleshoot from the hip and that is fine, but not everything is solved with a reboot! ;-)
But the one issue I see quite a bit with workers is they forget that they work for the entire organization not just their department and their individual projects. So, when an task that is outside of THEIR norm comes along, they baulk. Sometimes, you just have to put on a different hat!
by gdent
Students come in all sizes, shapes and places on the learning curve. Continuing education IT classes often have students with a broad spectrum of computer experience and skills. Keeping the course description focused and enforcing realistic experience and skills prerequisites can be very helpful for all who enroll. In the end, what an instructor knows is not important - what students gain in knowledge and skills after having gone through the training is critical. Teach your students what they need to learn to be efficient, effective, and more productive in their jobs and to earn more money. Getting along with other people and focusing energies on work related priorities during the entire business day are highly prized. Empower your students to do as much as they can on their own. But don't teach skills that can jeopardize the security of networks and data unless you are training IT specialists who have a need to know. IT people need to understand and appreciate the various personality profiles of others - The DISC or Myers Briggs may help enlighten them. Have someone come to the first class and administer the instrument. It will help tie the class together and you can weave it in throughout the course.
http://www.internalchange.com/disc_profile_store/mall/disc_yearend_special.asp or
by jtakiwi
by jdaughtry9
See the Joel On Software column http://www.joelonsoftware.com/articles/CollegeAdvice.html for discussion of this topic. His first two items make your list:
Non-technical - learn how to write well
Technical - learn C - yes, plain old C
by 12345
by best_tech
I have found, working with both software & hardware "gurus" -- and particularly with program/system designers and coders -- that the biggest mistake in their thinking is overlooking *my* first rule:
What _IS_ it doing, not what do you think is it "supposed" to be doing ...
and/or
What do you WANT it to do, not what "changes" do you think you want ...
Those two rules can be applied from the power plug all the way to a complete corporate-wide system.
I'm currently advising a development group that I had to convince to "let go of" the beta version so "strangers" could do the testing. Coders are the worst beta testers of their own software ... because 99.9% of the time they cannot implement the "what is" due to the "what's supposed to be" in their own product being too deeply ingrained in their minds.
In the past one collaborator and I used a "computer savvy" 4th grader to do the beta testing, and he was given orders to do his best to crash the software ... As a consequence, when we passed over the finished version, the client had little to do besides doing a final install on their systems and tweaking a few text areas in forms.
l.d.
by ixias
by dsmith
If you are dealing with folks who do not know anything about networking or computing teach em the basics of electronic troubleshooting and project management.
Basic Troubleshooting:
Is it plugged in?
Is it turned on?
Is there any signal?
Got link?
Got an IP?
Is it the right cable?
How to make and test a patch cable. Both straight through and crossover.
How to use ipconfig and ifconfig
How to use ping, tracert, and nslookup
How to set up and use a router
Subnetting
Using DHCP
How to set up and use a switch
Do not start with the OSI model. You will spend a lot of time for very little result. Bring that in a bit later.
Project managment basics:
1) Concept definition
2) Specifications and feature list agreement
3) Design
4) Test
5) Implement
Repeat this process at each stage as the target will move as the project progresses.
After the students get the basics of how to figure out just what kind of network they want to build and making it work you can lead em to things like setting up servers, security and performance optimization. Each one of these advanced aspects of networking are a complete subject unto themselves.
Back to lurkin
Dave
by mrwizard10
by jennyn
did I mention listening?
(Which is what you are doing by posting this question!! well done! - it will probably be a very interesting class as a result)
If you can listen to and understand what the users are asking, and then apply your tech knowledge to that, you'll be a successful (& popular) support tech.
If you can listen to and understand what the organization is trying to do, and apply your technical knowledge to that, you will forever be coming up with creative projects that further the business needs and thereby make you a little bit less despensible than average techies.
I would never have done a business minor as some suggested... too boring! But listening to users & managers and trying to undestand how they work and why, just using common sense, and then applying the technology to improving systems, has enabled me to apply my tech knowledge to a wide range of sectors and have a career through booms & busts.
For example, if you've listened to a client who can't get the hang of something basic, instead of seeing a stupid user, you may see a training need that perhaps extends beyond that person... a potential project! Perhaps you see a need for technical competencies for use in HR recruitment - someone has to come up with them ... there's a project.
by james.chau
The most important value of an IT professional is her ability to produce professional results as required by the clients. You should teach this concept to your students professionalism is not much more than that.
In order to achieve that, you need to :
1. Know your own strengths and weakness. Are you a strong programmer or business analyst ? Do you and can you excel in what areas ? Do not go for "hot" skills if you can't stomach them.
2. Know what kinds of industries you want to have a career at. Behind every industry there is a set of technologies and disciplines, whether they are art or science related. Learn which industries suit you best and learn their best practises before you pick up these technologies and disciplines. A medical IT professional should not immerse herself with automotive best practises.
3. Do not think or act like a nerd. There was a mentality that IT folks are nerdy, why ? teach your students that nerds are never professional in any field, teach them to communicate clearly, precisely and effectively, just like any other profession.
4. Establish a network early in life. Don't think that networking doesn't begin early, they do ! Teach your students to start looking out for their career early in life and help them along in establishing what, where, and how to look from their first day in class, or out of class.
Regards.
by james.chau
by james.chau
by james.chau
by james.chau
Real life problems require real life data, who can prepare these structured or un-structured data? You should realize that you cannot debug the various real life situations if you do not have the required test data.
OO, component or container based architectures all deploy an iterative development approach while what you are proposing here is the old classical waterfall approach, albeit on a smaller scale ? Regards.
You can manage an OO development with a Classical Waterfall PM approach
Equally you can do an iterative project with Non OO tools.
One has does not preclude the other.
A big problem in the industry is the perception that non waterfall approaches are unmanaged ones, outright nonsense that. Its just that accountants and non-technical managers are happier with the large volume of numbers that come out of a classical design. The fact that these numbers were estimates of estimates based on guesses about a fantasy was unimportant.
by mandrake64
Over the last 20 years working in IT, I have never departed far from taking a methodical approach to both problem solving and systems development. So teaching people to think logically may help.
The specific language and environment skills will ever be changing and seem to be changing at an ever increasing rate. Here, people need the ability to review the market and make a sensible prediction of the skills they need to acquire to obtain and maintain employment. There are still niche areas in IT that people can slot into and stay in for many years. These focus more on being a subject matter expert, with good practical ability to turn domain knowledge into real world solutions.
by flashcraft
Hi Packratt,
I read your post with interest and not a little sympathy. I know the feeling. Personally, I don't think that IT in the US is a dead end. However, we do have some serious challenges that can't be disregarded and people I know have had to regear and recreate themselves to survive.
Constant change for better or worse seems to be the rule for us. I don't know your personal situation but I hope you'll stay with it (no pun intended ;-). Good luck.
by wilchv
I haven't time to peruse all of the replies to the original question -- I've read over 70, though. I have taught at the community college level over six years after 20+ years of industry experience and I continue part-time in both areas. I love what a number of you have said about business-sense and business-savvy -- I feel completely validated in my approach, although I have felt somewhat isolated in my department. I personally had a business undergraduate minor and went on to acquire an MBA because I found the business knowledge so valuable. I find that the average student feels that they will be programming computer games or working for Microsoft, so they have no need to be bothered about pesky business problems. They have NO concept about the number of computer professionals working for businesses. In any intro to info technology courses that I teach, I try to deal with this by having the students go to a business that uses computers and having them write a paper about what they learn by interviewing the company's people.
I also wish to stress my agreement with those who stressed concepts and flexibility over specific skills. What I tell any student who will listen is that they may need specific skills to get the first job, but after that, their ability to keep that job and move on to another depend on their ability to learn and adapt. I personally have learned about five computer languages -- and only two of those in college (only one of which I ever used on the job). What got me through is the general thinking skills that I learned. So, for instance, when I teach an If statement in a programming class, I emphasize that once you've learned how one If statement works, you've basically learned it for any computer language (only the statement formatting differs) -- emphasizing the basic logic, not the formatting for a specific language.
A couple of things that I have not seen mentioned so far are just making sure that they complete assignments on time and to specifications -- students are VERY lax in this (particularly at the community college level, but perhaps not). In grading, I try to differentiate between minor requirements and major ones -- I just take a couple of points for not doing minor one properly, but serious points for not doing major ones properly. Also, if they can at least get it to work properly to specifications, but it's not done efficiently or well, I give them the 100, but write down how they could have done it better as a example. I personally allow students to turn in assignments late (accidents and life do interfere sometimes), but with late point penalties that are designed to not hurt the good student that has something happen, but pile up to really penalize the bad student who is consistently late (five points per class period late).
Second, perhaps since I've been in this business so long, I also try to emphasize a sense of history so that when they work at the company that still has a hierarchical database instead of a relational one, they have some understanding about why -- and also what a hierarchical one is. Too much of the college curriculum is focussed on what is hot and not on what is out there really. So, when I instruct a course on databases or an intro to info technology, I throw in as much of a background as I can.
by andy_ch_day
I noticed that you moved into teaching from within the IT industry. This is something I am looking into myself at the moment, and would appreciate any advice you can give me on how best to go about it.
Regards,
Andy
by numbat
I'm an IT operations manager, and the three skills I have found critical, in order of importance, are:
Communication
Teamwork
Technical Knowledge
I have had techs on site whose technical knowledge was superb, and communication skills non-existent. They soon get replaced.
If I don't know what the techs are doing, I can't do my job, and no amount of technical knowledge will do if you can't communicate with the decision makers.
by zlitocook
For Soft Skills Communication is at the top of the list. This includes, written, oral, and also public speaking/presentation.
For technical skills, I would have to say is the ability to visualize the software/object architecture. Languages come and go; but the ability to visualize the architecture will always be there.
by joe g
by al k
OCCAM'S RAZOR
named after William of Occam. Given a choice between two explanations, choose the simplest -- the explanation which requires the fewest assumptions. I.E. Look for the obvious first.
by bluefilly
by firestorm
by it-analyst
I am an MBA and an MCA. Depending upon the goal of student he/she can give importance to what should be done.
Given that you are teaching IT people I think Both IT and business skills required.I started with programming.Knowledge of 1 good OS,Language, database and internet technology is good to take you far enough.As one progress higher onto the corporate ladder its more of management skills thats required.
Give them a vision of what is expected of them and how they should go about it.
by oz_media
Teach them how to job hunt!
This sire is FULL of highly skilled and often overtrained people who just can't find work, in many cases due the lack of job hunting skills or knowledge of how to cold call, mine and prospect local businesses.
by wolseym
by clockwerk
by alfmars
Customer service is the biggie. We've all heard the saying "If we didn't have users, we wouldn't have problems", but without users we also wouldn't have jobs.
Problem solving skills should be (but often aren't) a given.
by piratetoolz
Customer Service can sometimes make up for a lack of troubleshooting skills. If the user goes away FEELING like they've been helped, thats good. If they go away feeling like they've been brushed off, or worse, mocked, they may regret even coming to IT with the issue.
There is an aura of contempt surrounding IT in a lot of places...contempt both for and by the IT personnel. A good end user relationship goes a long way towards running a smooth IT shop.
by paulod
"Short cuts make for long delays"
Unfortunately as a business software developer you cannot avoid making them. A designer who takes a short cut so he can spend more time browsing is a total a**e, one who takes one, because say sales set the project deadline, is doing his job. An experienced designer, would highlight the shortcut and leave some directions of how to get back to road just in case the it ended with him in Sauron's fist.
by yanipen
Soorry for the late reply. I guess you might not read this but I am posting anyway.
A warning though, you might think that I am conceited in a sort of a way. Pardon me. So, here goes...
Soft skill and Tech skill are important. True to the letter. A lot of them guys has certs to back them up. A lot of them guys mastered the book, but only few, very few, can really relate. Really.
I remember RnRKid a few months ago (that was last year) saying that you have to master the book. (RnRKid opened a thread of discusion, about ethics and things like that. I told him that he has no idea what he is talking about......sort of)
Back to the present..... It is good to have Soft Skills and Tech Skills, plus experience. It is good to have mastered the book. One question, though: Can you get it out and share the knowledege? Ha!
A lot of them guys know these from end to end, but does not know how to express themselves. Can you honestly open up a conversation to any person that comes your way, honestly? That is my suggestion to you. With everything has said and done about skills, without this thing called interpersonnel skills, you just might end up in a corner to yourself.
Hey, is my spelling correct?
The world is colorful, not just black and white. It is a good thing you have skills, but it will be better if you can communicate effectively.
And yeah, I too possess Soft and Tech Skills, but i have one added bonus, and that is I have no problems relating and talking to people. At first, I did not know this. I though, it just enough, Soft and Tech Skills, until some of my custumers (then) told me that they liked me because I can relate to them. I can speak to them and explain very well. I dont know what to say first, but I thanked them anyway from their obsevation about me.
I hope this helps.
by dtrivison
Hi, I have been a junior IT guy for 6 years. i have my MCSE, and I have been looking for a new job for 2 years. Nothing!
I like what I do, but I don't like where I do it. The people I work with are very corrupt.
by house
Nuff said. Join them. :)
It's a dirty game.
Don't know where you are, or your exact circumstances, but certainly in the UK, six years would be considered very experienced. Your technical skills would have to be very unmarketable or there's some sort of presentation failure.
If you aren't getting put forward for interviews, your cv/cover letter is failing you, or your expectations are cutting you out of the picture. I got cut out for a year from one agency because I forgot to update the salary range I was looking at. It looked like I wanted 10k above market for the job. Other constraints like within 10 miles of home, free healthcare will kill you as well.
If you are getting interviews, but not getting the jobs, then you need to pick up interview presentation skills, how you sell yourself face to face.
Aagin you've got the net or a book.
Finally if you lack confidence in whether you've been helped by reading a book or two, you'll have to spend some real money and get a cv makeover and training on interview technique etc.
Don't be hard on yourself, it takes practice, to learn how to sell anything, selling yourself can is the hardest, especially for those of us who are more comfortable with inanimate objects.
Take a step back, look at the market. Re-examine what you want, look at what you can get. I've sold myself on my minor skills, or only on my soft skills before now. My situation was markedly different to yours but it took me two years to get my second job. I had to apply the waffle above to myself.
Hope this helps.
by jrisner
by timnash
Writing / designing something someone else can read. It's amazing how many times the basic concept of communication gets dropped as soon as people(me included once upon a time) go into developer mode.
No one ever taught me this, I learnt wondering what idiot wrote this and then finding my name and a date from 6 months ago in the version header.
If you are not writing but configuring, documentation is not something you do if there's any budget left. In the real world if it isn't documented then it has n't been done until someone checks that it has (again).
The most important technical skill is knowing your technology throughly. Know what it CAN and maybe more importantly CAN'T do. This knowlege will help you to develop appropriate solutions - and more importantly - solve problems when they come up.
THE most important soft skill is COMMUNICATION. Whoever your user is - talk with them all the time. Get inside their head - know what they want. Make sure that they know what you are doing, what your status is, etc. When you make a promise - be sure to deliver on it.
A throughough understanding of the BUSINESS side of what you are doing will take you a long way. Knowing how to read a file/database and display it on a screen is only PART of the job. Knowing WHY the user needs it and WHAT business problem they want to solve will take you a long way.
by tomsal
First I'm curious as to what you meant by "I see people approaching their assets (especially their servers) as if they are gaming machines...".
Second, I point this out because aside from the casual gamer (non-techie they literally just want to play games), have you ever seen or known a hard core gamer who is also in the IT field or otherwise a "tech geek"?
We, oh um..I mean "they" :) are meticulous about their machines running as best and as fast as possible and with maximum uptime and minimum problems.
We tweak, clean, check, update, fix, maintain our game boxes with efficiency that would make you think we get paid for gaming (ironically some do too..and quite well).
Why because while gaming is fun for us we love the technology as well and we take it serious to have fun and enjoy it all.
Of course, as I type this I'm picture a select group in my mind -- the guys (and 3 ladies) that I hook up with online with various games from time to time. Naturally this whole thing I said doesn't hold true for all gamers. Some folks just are lazy and never take care of their stuff.
by gthornton
When we are in the middle of solving a problem we tend to think that we will remember this in the future given that we are sweating blood at the moment. The problem is the problem may not show up again for 6 months to a year. Document as you go. Then the next time... It is also a great CYA.
Debugging is the other key. Make sure you are solving the real problem, not the sympton.
Know where to go for help. On-line documentation FAQs, tek-tips, etc. and your NOTES OF PREVIOUS PROBLEMS. You did document them didn't you?
You can't teach people everything. So what you should teach them is something for reference then and how and when to apply it.
Problem solving and problem identification have got to be key skills on that basis. Unfortunately for students the latter is usually left to the examiner, and the former is predicated by the tools and environment on which the course is based.
by james.chau
LOL
Write a program to compute the square of each member of a list is a hard skills question and a soft skills solution.
Certainly when I was frequenting academia it was never put that way.
by imb
I believe that hardware and networking skills are extemely
important. it is important to teach values as well.
The value of doing the best job that you can do.
The value of admitting that you don't know everything
The value of following rules and regulations. The value of
trouble shooting and doing the necessary reseach before
rushing headlong into a job.
there are a host of other related things that are just as important
by ksodipo
We've all sat looking in the wrong place in a system for a problem at some time or another.
The ability to drop all your assumptions when trying to find a fault is very important, even with my experience or possibly because of it (LOL) the first place I look is the last place I made a change, surprising how many times I was wrong.
Course people who look everywhere else because they never make mistakes are more of a problem.
Asking someone to help you should be taught, there's nothing worse than having someone sit there for two weeks trying to find a fault, because they are scared of looking like a fool.
How many times, when articulating the problem, have you gone 'doesn't matter' and scuttled off before your chosen helper could realise what an a**e you've been for the last two hours.
The value of bouncing ideas off someone else's head can't be under appreciated.
Getting someone else to solve the problem for you is a different ball game altogether. Probably indicates they are on the wrong course.
Sometimes you need even more.
I know one bunch of graduate types who came up with a recording system.
Their system was endorsed by management and key technical types.
However in order to do the link to the rest of the world, the required product identifier was to be manually entered by an operator. (The only solution they were capable of)
They somehow forgot that there were 75 products an hour, the data station was up two flights of stairs and said operator had about 900 other things to do, at the bottom of the steps.
I laughed my orbs off when they explained, the guys on the shop floor would have lynched them.
Even worse in my opinion, if it had been workable, the operators got absolutely nothing tangible out of the system.
by house
Although it strays a little bit from the original post, there was a "office politics" thread a few weeks ago.
https://www.techrepublic.com.com/5208-6230-0.html?forumID=7&threadID=165099&messageID=1688568
Chris
All of the soft skills are very important, but they are how and when and where to apply your hard skills. Without the hard skills you are at best an analyst. (not knocking analysts here, but they do not have to be technologists !)
There is a current trend to buy in hard skills externally and 'manage' them internally.
This trend is what's being reflected in the thread, the emphasis in our work place is on our soft skills, because in general there is an abundance of people with the hard ones.
I suppose we all wilfully forgot QA in the hope that it would go away. Would be a good thing to teach, as it's now unavoidable in any serious environment.
Try explaining the concept of an unknown unknown to an accountant in your cost justification. Most of the ones I've known would be scared right out of their spreadsheet by the concept.
LOL
by james.chau
Waterfall is older and certainly it supercedes most if not all other development approaches since familiarity is best; but when you have that much quality definition why not just stick them into WebWhatever App Server and just generate the horde of code and voila, project finished (Information Engineering / Case Tools sound familiar to you ?)
What's at issue is the delivery of production code that works and is of good quality which can also be reused thru newer techniques like OO or component.
Waterfall is not un-managed, it is hyper-managed.
Again, we are crossing subjects since deliverables is the topic and you seem to be talking about project planning...
Never happened before, but I may have read what I wanted to read instead of reading what you wanted to write.
LOL
It just seemed from your post you were linking OO to RAD. From your reply you weren't.
Did I say waterfall was un-managed ? Have to lay off the drugs, talk about reality check.
Where I work we choose a lifecycle based on the type of deliverable and the customer. Some methods work better than others, and sometimes development efficiency has to be sacrificed to external pressures. Neither method should ever be un-managed, short of extreme luck, that's your next financial disaster.
OO is not always the most efficient way of doing something. It lends itself extremely well to a lot of business IT, but there are cases when the overhead of objects is unacceptable.
by james.chau
I wish to add my little 2 cents by saying that the budget should dictate the ADLC (application development life cycle) since budget is usually the ultimate reality check for most situations... cheers.
Although OO is not perfect, it is the closest to reality we have got through software simulation.
by rocknrobin53
by james.chau
by vozniakd
I don't agree that the IT career path in the US is dead, but it is certainly in danger. Why? Two reasons: Outsourcing, and over loading.
For example: Ford sent thousands of IT jobs overseas last year because it was cheaper than keeping those experienced IT professionals working here in the US. That placed thousands of experienced professionals into the workforce. With that many fewer jobs available, and that many more candidates in the job market, it makes it harder to find a new position, and drives down salaries for those new positions when they are available.
In addition IT is a *hot* field, with thousands of new graduates every year. As those graduates come into the market, they are now competing with the experienced workers that are being displaced by outsourcing.
Given the choice between a candidate with 10 years professional experience, and a new grad with no experience most companies will jump at the chance to get that seasoned professional for an entry level wage.
Between companies paring their IT departments to the bare bones to save money in this poor economy, and companies outsourcing their IT jobs, the prospect for employment for new grads is not outstanding, and the prospects for the more experienced workers to obtain positions at their level is not good, and the prospects of IT professionals being promoted is slim.
What to do? Hopefully, once the economy gets going, the prospects will improve.
As for starting your own business, more power to you if you have the money, the time and the skills and experience to do so. New businesses are expensive and time consuming. In addition, many IT professionals lack the skills and experience to be entrepreneurs.
Your best bet is to ensure that you have skills in the latest technologies, and to make sure that you are not one sided. Always have a backup available ? develop new skills outside of IT just in case.
by vozniakd
The most important skills that you can teach future or current IT professionals are those involving Customer Service.
Make sure that they clearly understand that the customer/client/end-user is the *reason* for them having a job ? not an inconvenience to their job. IT is a service.
How to Deal with difficult people ? any IT person will eventually run into an angry customer or an unpleasant co-worker and it takes skill to deal with both, they'll also run into panicked people, confused people, etc and they need to know how to deal with all of them without losing their tempers, getting sarcastic or being just plain nasty.
How to listen and hear what is being said ? many IT professionals tend to assume that they know more than their customers and their bosses, and don't really listen to what they are being told.
How to ask questions ? this is critical and goes with listening and hearing what is said, IT people need to know how to ask the questions that get them the answers they need, especially from non-technical people.
How to write clearly and logically (Grammar is especially important!) ? Very few things are more annoying than an adult professional who writes confusing, unstructured, misspelled reports and memos, misuses words, or who clearly has no concept of proper grammar and punctuation.
Proper phone and email etiquette ? simple things like how to answer the phone in a professional manner, how and when to leave voicemail, when to page someone and when not to, how to write a useful email, when not to use email, and most important, things not to say in email or voicemail.
How to make presentations ? at some point everyone will have to make presentations on something and most IT people don't have the skills to develop and present a good presentation.
And probably most important: Diversity ? how to deal with people of different cultures, religions and genders. It is a small world today, and we often work with people from a variety of backgrounds. Understanding their backgrounds makes for a much more effective and pleasant work environment. Also, diversity training tends to make people more patient when dealing with non-native speakers of their language.
As for technical skills, a broad overview of all facets of IT. My company developed a program called Knowledge Builder that was designed to ensure that all of our IT staff had the same basic understanding of IT. It was mandatory for all IT personnel and included extensive three day classes in networking, telecommunications, web design and development, program development, and finished with a Capstone Case Study in which students worked as a team to show what they had learned by developing a network plan, identifying the needed components, pricing them out and presenting the plan to management. One team from each class was chosen to also make their presentation to IT Senior Management ? which could include the CIO, the VP of IT, and various IT organizational Directors ? who gave their feedback to the team. This kind of broad overview of the components of ITS ensures that everyone one understands (at least basically) with others are doing and why.
by james.chau
Dear vozniakd, are you not in a way asking the tech employees to sell the sizzle instead of the steak ? there are only 8 working hours a day and when constructing your Knowledge Builder (KM frontend tool?) these employees are mandated to build the best tool for customers, not to establish the best customer service in the world. Angry customers is a CRM issue and it is best dealt with, at your own peril if you do not, by deploying CRM specialists in dealing with them, customers, even very close customers, should not be allowed to directly temper and dictate with people or processes that build your product; too often customer issues had also been passed along to the tech employees who have no idea how these issues came about in the first place. While tech people are in the limelight for bad writing, I have seen many people who can't even write if their lives depend on it. I have not come across many presentations which are worth their budget and it is very difficult to be all things to all audiences, it is much worse than a JAD session. I am not justifying or defending mal-professionalism, but please do realize that there are only so many productive working hours and for tech employees to dedicate too much quality time on making great sizzle has an adverse effect on making great steaks.
BTW, I fully agree with your idea, if I have your kind of big budgets.
Concentrate on the hard skills you end up with a coder. Next to useless in today's environment. Concentrate on the soft skills and you'll probably get a job, but you'll be competing with guys who can do both, and two for the price of one is something business types understand very well about IT.
BA's are and can be very useful, but they are generally considered a luxury, unless they've got QA or PM or CRM skills. At least two out of the four is a must. Last two I worked with did everything but QA, very useful resource for a designer when they are good at it. If they aren't it's like a user with built in garble.
by vozniakd
I still maintain that communication skills are critical to tech people. If you can't explain your project/product, you can't get it funded. No funding, no produce/project. I am not suggesting that techs spend all their time writing, but it is an important part of the job. If you are taught at the beginning to do it right, it will take less of your time when you need to develop presentations, or business cases, or any other type of documentation. You said yourself, that you "have not come across many presentations which are worth their budget" perhaps if those people had had a class or two in how to develop presentations, they would have been "worth their budget".
I am not saying that only tech people communicate poorly. There are people in many professions that need work on communication skills. But this discussion concerned what skills should be taught to techs in training.
In every company I have ever worked for, customers were an important part of the business. Remember, customers are not just the end-purchaser of your product. Your team mates, your team lead, your supervisor, your manager or director, and executive management of your company are all customers. Customer service is as important when dealing with internal customers as with external. Dealing with an irate boss is no different than dealing with an irate customer. Maybe your company is different, but where I work, I don't have a CRM Specialist who can deal with my boss, or my co-workers, or the Business Unit that requested my project/product. I have to deal with them myself. That takes customer service skill, communication skill and an understanding of the business results of my work. I see techs everyday who need these skills and it would be nice if they were taught the non-technical skills they need.
by ascr689
by james.chau
by james.chau
It is important to be strong on basic English reading, writing and oral. Statistics, socialogy, art, accounting, algebra and management science would be good courses to take. Java is a must, so are C/C++ and Visual Basic, markup languages, OO and component analysis and design, database, networking, telecommunications, machine architectures, hardware, documentation, system testing. It would be nice to teach some structured methodologies and legacy systems since they are very much operative in our world, Cobol, IMS, DB2, Assembler, RPG, IDMS. Tools such as Telon, MicroFocus Workbench, IEF, Rational Rose, BizTalk, EDI, datawarehouses, should also be taught, better if the students can access these tools and examine the code and data structures.
Give them a set of code of conduct, legal as well as ethics, let them know what would make them desirable for employment. Regards.
It'd be a good course, but long.
I've been in the business a while and I don't know a good deal of that lot, course you ommitted a lot of very important things that I do know instead.
He missed off Fortran and hierarchical databases , what's he trying to say? Am I out of date or something ?
LOL
Might be having a jargon failure again, what do you mean by structured methodologies ?
by james.chau
by mrtgrady
by james.chau
by mr. jeff
#1-Technical Writing and Documentation:
My biggest frustration as a IT manager was to get my technical staff to write down their troubleshooting efforts. The best tools any tech can have is a good source of information. Teach your students why it is important and how to build a good Knowledgebase. We only want to troubleshoot issues once! From then on you want to simply refer to the knowledge base.
#2-Logical Troubleshooting skills:
How to break an issue down to it's components and then logically think through and test hardware/software to find the problem. You don't have to reimage every PC you have problems with! Once you've fixed it go to #1.
by james.chau
It appears you have many frustrations as a IT manager, therefore you may be an easily frustrated person who may be lacking the patience and fortitude so vital in being ultimately responsible for dealing with problems ? Besides the obvious and simple problems such as hardware limitation and access authorization errors, I know of few problems which can be troubleshot upon the first encounter. Have you dealt with problems when using your own PC and its applications ?
A troubleshooting process is quite similar to being a medical doctor diagnosing medical problems, are you familiar with a medical diagnosis process, even with something as simple as coughing ? Like I said, besides simple hardware and access limitations and errors, many problems can be quite complex and dynamic that I challenge you to enforce your discipline of solving them all once and only once and document all these miracles. Even if you are managing a relatively straight forward area such as Windows Server administration, it is not the actual technical problems that cause the majority of the problems but rather the technical requirements and changes required that cause the disruption to the Server availabilty and performance. When it comes to some kind of application services support, you would be dealing with unseen and unpredictable changlings. I would be very happy to be able to observe even one single instance of someone who does establish this kind of documentation and logical troubleshooting process. Try using something along your line of thinking, use the Help key when you use your own Windows PC at work or at home, and it is developed by Microsoft.
Mind you if they'd have done it the other way round.
LOL
Good idea though, you could update to Delphi & C#, with the same impact.
Until you've coded in more than one language, it's very hard to see how the language can be a constraint on your design, or of course an enabler.
You need both to be a tech, the days where we could sit at the back and twiddle with stuff because it was important for a business to have an IT department as opposed to having one that did something are long gone. You can't call yourself a tech of any description without some hard skills even if they happen to be top level architecture or something equally abstract.
The point about the soft skills is except in rare circumstances without them your hard skills won't matter because you won't get a job.
The ability and the confidence to communicate is the first of all soft skills, even if you learn the others, you'll be severely handicapped trying to apply them, if you duck your head and mumble unintelligibly.
However that does not mean you send your developers out to do presentations to a 100 customers at a time, or on jollies with their senior management team.
Communicating in a small group on a known topic, is very different to either of them.
It's not just tech people who can't talk to them, one manager in discussing when a software release would be ready told a customer senior IT exec, the release would get past QA by Monday no matter what. The customer put a very different interpretation on this statement than the manager was hoping.
by james.chau
by james.chau
by james.chau
The "Customer" definition is becoming more convoluted. I recall meeting someone who treated everyone like a customer whom I forgot about in less than 2 minutes after meeting him. Sales is becoming part of CRM as evidenced that sales orders are now created in CRM instead of the traditional Sales and Distribution processes. Supply Chain Management is quickly evolving in all directions and specialization is now a norm, not a nice to have anymore. If you investigate how CRM centers around Opportunities, Products, Partners, Organizational Model, and Activities, you will notice their segregation and interaction which rely on each component performing at the peak of their expectations, there is no slack between them. A Opportunities component specializes on discovering opportunities, Products component specialize on the presentment of product and ditto for the other components which form a collaborative platform upon which enterprises fully exploit the marketplace with maximum efficieny and effectiveness along with speed and quality. If you look at a problem tree, the heart of CRM / Customer Interaction Center, you will see a linked list of problem / solution pages which is a documentation of nothing more than the survival guide and action list of what an enterprise needs to do in order to create, maintain and function as a business, internally and externally and in between. Who do you think produce such a problem tree ? yes, the tech people, if you think they are lacking in communication skills, perhaps they are too tired to be "nice" to you after performing such levels of tedious, tiresome, and extremely cut-and-dry tasks which are absolutely essential to the well being of the business, without a single thread of glory or exposure.
Somehow, I see a certain level of supreme self sacrifice in taking upon technical tasks, enabling the business to reap IT benefits, meeting all expectations, and at the same time explaining and making clear all facets of business objects to all audiences while taking the blame for anything that seems less than being prestine. No wonder fewer and fewer sensible people are avoiding the IT career.
Just make sure the sizzle you sell matches the steak the tech people are producing in the background and be realistic about what would be nice but could be detrimental to the state of the steak delivered to the customer.
Sort by Trending