Are You Getting Enough Say In Your Training? 239
DrEducator asks: "Has your company ever contracted external instructors to train its programmers? Have you been satisfied with the lecturer's level of expertise? I think we all have a good grasp of how vital the role of training is to both a corporation and its employees, but given its importance should you have more of a say in selecting or evaluating instructors before they deliver training? I firmly believe in the tenet that 'geeks should train geeks'. Moreover, I think that the geeks themselves have to take a more active role in the whole process. So, I'm curious - do you think you have enough say in your training? Do you actively refer instructors that you've seen at conferences or previously taken courses from (university, college, or adult ed)? If not, have you had the opportunity to interview an instructor, or at least review their qualifications? Share your experience - how much input do you want/need/have?"
Training? What's that? (Score:2, Insightful)
Re:Training? What's that? (Score:2)
Re:Training? What's that? (Score:2, Insightful)
Most of the things I can do well, are things that I've sat down and figured out to do myself. Training doesn't cut it because, as they say "the devil's in the detail". If your willing to describe "training" as an "overview" then Ok, but getting training and certification so you can parrot some textbook word for word isn't anywhere as useful as people think.
teh former (Score:1)
Re:teh former (Score:2)
siri
Re:teh former (Score:2)
Training End users (Score:1, Interesting)
While "Geeks should train geeks" might seem ... (Score:4, Insightful)
If you alter your phrase to "geek teachers should train geeks", I'm behind it 100%.
Re:While "Geeks should train geeks" might seem ... (Score:2)
Re:While "Geeks should train geeks" might seem ... (Score:4, Informative)
The rep stayed at a pretty high level, but it was useful background and it was organized. Between him and the engineer I learned quite a bit. I a figured out a few things myself while I was fighting code on the second day, but not as much as I would have had there been some semblance of order. I much prefered the rational, methodical training offered by the rep and the printed materials to the chaotic, hands-on approach of the agitated engineer.
Re:While "Geeks should train geeks" might seem ... (Score:2)
Re:While "Geeks should train geeks" might seem ... (Score:2)
FWIW, I've taught at both the high school and college level and have been in lots of IT training classes as a student.
*BONUS QUESTION: What dipeptide does this DNA sequnce code? Ignore the lack of a termination triplet.
Re:While "Geeks should train geeks" might seem ... (Score:2)
My experience (four years teaching Cisco courses) is that it's possible to teach geeks to train, but it's almost impossible to teach trainiers enough technical information to answer questions.
If you have a non-geek trainer, you might as well just read the book. You're never going to get anything beyond that.
Training is a joke (Score:1)
The only training that was project related that "worked" (1 out of 2 got it) was the language that we were going to used in a new project. 1 week and you were are an expert.
Training is over all farse. It is the doing that actual trains the programmer. It is their failures that they learn from the best.
Re:Training is a joke (Score:5, Insightful)
You are assuming the training is aimed only at programmers and for the purpose of teaching programming. This is seldom the case - most often training is used to promote a programmer's skills to include design knowledge, or management.
Where the object is to teach programming, the result is often shocking. Experienced C/C++ developers regularly come out of courses saying "Hey, I had no IDEA it worked like that".
Many developers take a "know one, know 'em all" approach to languages, without understanding that every language has its own unique way in which it is best applied. For all their syntactical similarity, Java and C++ are worlds apart in the way they should be used, for example, algorithms which are efficient in one are dogs in the other.
I have never been on a training course where I have not learned some useful piece of information. Even a presentation of the Thinking in Java course (after I had read the book and had 5 years of experience with Java) provided some insights which proved useful during project implementation.
On the other hand, I have never met someone who can be an "expert" on a language in one week. There is a lot more to language than syntax, and if you believe otherwise, you are seriously deluding yourself.
Re:Training is a joke (Score:2, Interesting)
Like I said the only training that "worked" as a new language course.
I have been around for a while. Until the knowledge is used, no training is worth the money spent.
It would be better spent throwing a party, to build moral. Have not seen those be very suceesful either.
Training is not a goal of a company. Dollars are. If you want to train yourself, then do it. It shows that you have more on the ball than the other around you.
Why training indirect stuff is smart (Score:2)
I'd disagree with the spirit of that statement, at least as I read it.
While you may not use the knowledge directly, general programming knowledge -- a broad knowledge of your subject, if you like -- can do a lot to enhance an individual's ability even in a specialised area. Many of the best designs I've come up with in mainstream programming projects have borrowed a neat idea or principle I've learned elsewhere.
Personally, I make the effort to go and learn about these things anyway, because I find them interesting; after all, that's why I went into this career. Many people don't, though. Perhaps more importantly, some would, but don't know where to look. Training these people would improve their performance indirectly even if you never used the concrete knowledge from a training course.
And of course, geeks work much better when their interest is maintained. If you've got a L337 Hax0r working a 9-5 patching a 10-year-old C application -- because someone has to do it and you know this guy will get it done and done properly -- it's just smart management to let him have his fun (and keep his knowledge and skills current) for a couple of hours a week. That way, his loyalty and commitment to doing a good job will stay with you, he'll still be able to do more advanced stuff next if you want him to, and he'll still be one of those happy geeks who's interested in his job. Never underestimate the advantage of keeping a geek happy; it's worth more than any management trick I've ever seen.
Re:Why training indirect stuff is smart (Score:2)
Sure. My point was more that the knowledge isn't necessarily used directly, but the ideas behind it can still be useful. It's much harder to see the latter type of use, and yet that's probably the more powerful result of good training.
Sometimes that's a good idea. Indeed, I'm quite prepared to take a couple of thousand lines of code and spend two weeks refactoring them into a completely different shape if the latter then lets me get a job done that would otherwise have been too hard, and that others would therefore have worked around or avoided.
OTOH, there are times it simply isn't possible. If your clients are getting your code, for example, you have to write it to whatever standards they are using, even if those standards are ten years out of date.
Re: Mgt. based training (Score:2)
After having poor results conducting "management training" courses using outside firms, they let one of the women from H.R. start doing in-house training. She had a previous background in conducting training classes, so it worked out really well. She became the de-facto "corporate trainer". After employees reported satisfaction with her classes - was eventually given pretty much free reign to conduct her classes however she wished.
Nowdays, every employee eventually goes through her classes, which are held once a month for about 10 months, at which time the participants "graduate". It's no longer called "management training", but rather, "employee development".
As for technical/PC related training - that's another story. I really had no say-so in what training I received, other than suggesting courses that interested me to my boss, who could approve or deny them. (Basically, if it allowed us to earn a certification, we couldn't go. I think they had a mentality that if we got certified, we'd run off to someone with better pay and benefits.)
of course (Score:3, Informative)
But then deciding is not a easy job, and in my expirience employee gain is sacrifised for company gain.
One option would be to be slightly more vocal and talk it out.
The complete geek way is also not theway to go coz then company wont gain everything.
Training? (Score:1)
But I don't work there any more.
Classic business problem... (Score:4, Insightful)
Double check what everyone expects... (Score:2)
Come the day of a training, as a presenter I think I guaged staff reactions earlier on and beefed up the technical content, but post-course we were told that although the company was generally happy with that first day, `where were vi, sed, awk and emacs?' - this time from management. At this point we realized it wasn't so much a management / staff schism (the cmpany were fairly small) but more lack of a clear vision for what htey wanted from the course. I think most staff still gained a lot from that first day (more so if I'd focused on how to use a particular text editor, or started a text processing programming course) but the lack of a single cohesive vision for that first day stopped things being all they could.
I have pretty good control (Score:5, Interesting)
I guess you could say my company treats me like an adult - or maybe like a member of the family. It gives me the money I need to get good-quality training, then trusts me to decide what training I need, where I should take it, etc.
It's a really good situation, and one of the reasons I've been working at the same company for nearly 10 years now.
-Joe
Re:I have pretty good control (Score:2)
I've been working for Georgia Southern University Library for about two years. We've bought training courses on CD, mainly for the students, but we have the ability to check them out too. That is about it as far as training goes. I must say though that you have it better, far better than most have it.
I totally understand why I can't get training, and very much respect that limitation. However, I have only heard of a couple of situations that an employer would do such a thing. Smile dude, you're livin' large! lol
Re:I have pretty good control (Score:2)
You assume we get any training at all (Score:3, Interesting)
The training consisted of the instructor reading aloud overhead transparencies.
Every other request has been denied.
So, getting some training in the first place would be wonderful.
Re:You assume we get any training at all (Score:1)
My Company recently took on a Contract to maintain a System - it was originally written in 1969 and runs on MVS
Never mind training, there's no documentation, and the people who wrote the 'monstrosity' are either dead or retired (sometimes both).
I think our best bet is to dig out the Ouja Board.
If the company is paying... (Score:1)
training skills (Score:2)
With the dot-com shakeout behind us, most training centers that havent folded probably kept the best trainers. At least one can hope!
One day I'll go to a training class again and can give one more unscientific data point to verify that.
siri
Re:training skills (Score:2)
We had some reps from HP come in to give us some crash-course training on their OpenView and Manage-X products. The two guys they sent were obviously quite knowledgable on the products -- but their presentation and public speaking skills were, well, lacking.
One of the guys said "ummm" and "the, uh, " so many times, I stopped listening to what he was trying to teach and started counting each "umm" and "uh" instead.
Employers (Score:1)
Unfortunately, my experience is that employers shuffle you to whatever courses the think you need and whatever is cheap.
It's basically a coporate feel good technique.
Of course when you really need training on something their pockets are dry.
I guess I just need to be a contractor. With the gobs of money they absorb from their workers, I'm guessing they're willing to train their people in just about whatever they want.
Re:Employers (Score:2)
Management saw "windows" and sent 20 of us off to MS Excel/MS Word introductory training for a week
a grrl & her server [danamania.com]
training? what training? (Score:1)
My company == Not enough training. (Score:2)
Now our level 3 Techs know their stuff pretty well for Windows stuff, but if you have a Mac or Linux problem, forget it. They know Windows backwards and Forwards though.
I know that alot of the people in the sales department however, don't really know how to keep track of things, use databases, general computer tasks very well, etc... They get their job done, but there are problems.
Our web designers for our local pages, aren't really well trained either. They don't know how to set up an Apache server, use Perl, CGI, C++, or even compile a program. They know ASP and VB, and Flash, but that's it. They really want to know how to use 'better' programs, but they aren't given the training needed.
Me? I was dropped in with NO training except a 3 hour thing on Video on Demand.
The people who do the actual networking and router setup. They know their stuff really really well.
So basically, we need to fill in the cracks. The people in 'important' areas, are well trained, but elsewise not.
They need to be better informed on Wireless networking, networking in general, routing, computer usage, security policies, doumentation (ISO anyone?), etc..
Some people actually mail out passwords to things over PLAIN TEXT!!! They are important services. Our passwords for our workstations have to do with... well they are simple and you can guess anyone's.
They need a 'geek week' of training where they have people come in, show them what they are doing wrong, and what they need to be more efficiant, and point them in the right direction. They could handle themselves from there, but right now there just isn't they don't know what they need to be trained on and improve on. Many people are really sketchy using the AS/400 database system, which is easy, but they aren't trained for it, and it's not point-and-click. The secertaries even weren't trained on the Databases that they use every day. They have had to teach themselves, which has worked out ok, but it could have been better directed.
Re:My company == Not enough training. (Score:2)
I am more commenting on others not knowing what they are doing and not having enough training. Yes people should come in with job skills, but to know a specific database, and how things are done at this company specifically. People need to be trained on standards. Can you recite all of the ISO14000 for me? Didn't think so. But by your standards, if you apply for a job that the company goes by the ISO14000 then you shouldn't get the job because you don't have the 'skills'.
In remark to the flamebait about Macs. So you are saying that BSD is pointless and has no place? Where have you been for the past few? Macs are running BSD, which is pretty close to Linux. In addition, what day-to-day office task can you not do on Macs?... I am waiting to hear an answer, but there isn't anything you can't do on Macs. So that point is gone.
To finalize; let's say that you are working for a company that uses let's say, Lightwave 3d, and they deciede to move to Maya for pricing and support (neither is actually better, just an example). Well, you know Lightwave like the back of your hand, but Maya... Hmm, not really. You could download the free version, and dick around with it for a few months, wasting time. Or your employer could send you to a training session about the differences between Lightwave and Maya. This could also happen with Programming Languages. Switching from Java to C# or ASP to Perl, etc...
So would you rather be trained, or fired? Truthfully. And as an employer, which will make things better? To Fire all 1,000 of your programmers at a (very) large company, and get new ones and have the 'startup' time with them? Or just train the exisiting ones?
Huh? (Score:1)
I always just have someone throw a book at me (if I'm lucky).
Google Trains Me (Score:5, Funny)
Re:Google Trains Me (Score:2, Informative)
I spent a *lot* of time doing Google searches to research problems with our PCs. I also spent quite a bit of time doing those "sucks" searches to find out if a new product was a potential dud.
Not everyone who posts a complaint with their new scanner or motherboard explains it in a very technical manner, after all.
Re:Google Trains Me (Score:2)
Some time ago, I forged a deal with my employer: I'd take care of my own education, if I could pocket a decent portion of the money they would otherwise spend on training. I have yet to need any of the "training" my peers have received, often instead covering for them when this or that major bug breaks loose while they're away at training. When I need to learn something new, well, see above - with a bit more effort (different keywords, seeing what the advocates say as well as the detractors, et cetera). Everyone's happy so far, and my paycheck's growing.
Of course, because no one can make money selling this solution to you, consultants and vendors
never advocate this solution if the topic comes up.
Re:Google Trains Me (Score:2)
Different people learn different ways. Some people learn by doing. Some by reading. Some by conceptualizing.
As I mentioned, I am a trainer, but I am a terrible student. I have a great deal of patience when teaching, but very little patience as a student for instructors that don't know what the hell they are doing. I have even less patience for my fellow students that don't take the time to read the friggin book. I think I am like you, in that I prefer to read the book and practice the skills on the job or in a lab environment. Going to class is often a waste for me.
The one time that I absolutely advocate going away to a class is if it is a bootcamp type certification class. It must be at a remote location (no work related interruptions) and be all day every day until the exams are taken. The reason I advocate this method is that it is very effective at achieving it's goals; to pass the exams. How much you take away from that is another matter all together.
This smells of free commercialism... (Score:4, Insightful)
Re:This smells of free commercialism... (Score:2)
If you are in training you are there for just that. You are not there to argue w/the guy (I hate those people) nor are you there to attempt to add external material (they are there to teach you, not TOWA). Take your time off work or your stipend or whatever they give you for the training, enjoy not being at your desk, and STFU.
Re:This smells of free commercialism... (Score:2, Informative)
You won't get an answer from me. Sorry.
No need to apologize.
Re:This smells of free commercialism... (Score:2)
People who whine and bitch all the time are really annoying, though, cause their participation isn't contructive. That's why: You won't get an answer from me. Sorry. is not really much of a threat.If only the people who spend so much time bitching about the Slashdot Community used that time to contribute to the community.
Now if someone uses the information that turns up in a discussion and puts that information to good use, e.g. setting up interesting training programmes, that's fine by me, more power to them. Remember "Information wants to be free" :)
We'll see (Score:1)
I've talked to others and most of them have gotten good training. We have in house training on our product (software), as well as formal training. After not had anything in 4 years, this is nice.
I'm in the operations group, so most of these guys are leaning more towards certs. However, coming from a mixed (ops/dev) background, I'm doing some geek-geek training, which is better received by the others than the formal training. Tends to move faster.
That being said, going outside the company gives people a different perspective and helps to incorporate theory and fresh knowledge back into the group. A few of the guys are shooting for MS in CS degrees; something that is forcing them to think differently. While not always directly applicable, the knowledge forces them to work, expand their horizons and try new things.
In the past, though, even at smaller companies, I've pushed for one conference a year as my training. I need the break and if you can't spare the time, I'm looking to move. There is more to life than sitting in a 6x8. I go more for the after seminar, after hours geek-geek meetings. This is where I learn, get new ideas, etc.
After getting started on the process, I think it's a good idea to have every employee moving for something. If you're not moving forward you are moving backward in this business.
just my last experience (Score:1)
The trainer knowed all the menues eintries of the soft but was unable to provide all the technical information I requested (typical answers were "this is useless for you", "You don't have the right to know that").
Today I got a call from the trainer, she was very very very worried because she forgot to delete the powerpoint files and the examples she used during the training and she asked me to delete it (of course I did it, I don't like to fill my HD with low quality information).
Does this training worth the thousand $ it costed, don't think so, but 'til now no one asked me a feedback.
Re:just my last experience (Score:2)
Training? (Score:1)
Who knows about those crazy management folk. *shrug*
Common training mistakes (Score:5, Insightful)
1. Train management only. We're quite good about sending management to technology conferences. They attend the conference, don't understand what's being presented and conclude that conferences are of little value.
2. Train only to address skill deficits. I've been told I'm one of the experts on my team and have somehow wound up as the only full time employee who hasn't gone to training in four years. I'm a web programmer who's taught himself enough Unix and SQL to survive. When I've had a task on hand, I've been willing to teach myself enough to get the job done; most of my co-workers just throw up their hands and say "I don't know how to do that." So they get sent to training.
3. Ignore the class syllabus. One of my co-workers took an online class then promptly took a sit-down class from another vendor on the same material. So, of course, he comes back and says that the class didn't cover any new material. Good luck for getting anyone signed up for that class now.
Re:Common training mistakes (Score:2)
Management at my place of business doesn't seem to mind - some of them got to go to Florida for VBits (I think it was in Florida, can't remember for sure).
*cough cough* junket *cough*
Not that I can complain - I went to Mexico for a software rollout this year... didn't get to hit the beach, but considering it was March in Canada
Re:Common training mistakes (Score:4, Interesting)
The people complaining "I don't know how to do that!" who get sent off to training are still going to come back with less usable knowledge than you have by figuring it out, hands-on.
What I've started figuring out is that training is of relatively little value unless it earns you some type of certification upon its completion. Certifications help get you future jobs. The other stuff doesn't. I've been to all sorts of training on everything from MS Exchange Server to Dynamic HTML development - and without certs. from any of it, people don't seem to really care.
I doubt the people getting shipped off to training classes in response to the "I can't do it!" exclamations are earning certifications.
Other solution (Score:1)
Is to allow your developers to rotate on topics they feel are important and allow them to give a class every week for about 1 hour on 1 day of the week. You would rotate between developers. This is an inexpensive way to boost moral, and increase training, as most developers can learn well on their own and train others on somethign new.
Wait... (Score:2)
I have never had a training request accepted, despite having to use a wide array of tools in doing my job. I had to learn everything I know pretty much on my own, without so much as a mentor -- I couldn't even get the cost of my Oreilly books covered!
So I'm in a pretty good position to state what you really, really need when learning a new concept. Here's what I need:
1) Knowledge of the framework. A little of what's going on under the hood, a little of how to use the API, a firm basis on the simplest terms. Explicit API knowledge comes through use, and training on it would be forgotten anyway. However, no book can ever impart to you the most basic knowledge of an API. Take XML parsers for example. The most important idea in XML parsing is the idea of the node. Explain nodes, and the related terms, well and slowly, and you won't have to explain anything else.
2) Knowledge of the use. Every language and concept has its own niche. There is no broad, end all-be all in the computer world, though several swiss army tools -- Perl and Java among them -- exist to make things easier. Knowing where and why you'd use an API makes it much easier to understand what you're being trained on.
3) Knowledge of limitations. NO BOOK EVER TELLS YOU THIS, but it's essential! It's the reason why we need mentors. I spent three weeks writing a multithreaded VB app to learn that the reason it wouldn't give me any feedback is that the multithreading system expected me to do my own preemption for system events. Abuh...Java didn't expect me to do that, so I didn't expect VB (a "dummies" language, or so I thought until I started doing a lot of Win API work in it, and realised how much quicker is was for simple interaction than VC) to do it either. A visiting manager who knew VB (probably in the biblical sense) chastised me, asking where I learned VB. I told him MSDN.
We don't use in-house training (Score:1)
Anyway I don't get much of it (training I mean)
Training (Score:2)
I sometimes give training courses in OO design and analysis as a part of my job (described at http://isocra.com/training/ [isocra.com]). In our case, all the trainers do it part time, spending the rest of their time developing our products or working on consulting jobs. Having professional software developers giving courses in software development techniques seems to make sense, and it means we can discuss our experience and those of the trainess in a serious way (actually that usually comprises a fair bit of the course time).
Unfortunately, this seems far from the usual case. Courses from the big training companies are sold on a franchise basis, and many of those giving them are not experienced in the subject matter themselves. The exercises tend to be very prescriptive, and therefore don't really help the trainees with using the information in their jobs. Often, the trainers are unable to discuss the material in any depth. Courses in specific technologies (as opposed to general techniques, like the ones we give), seem of very limited usefulness anyway. The same information is invariably available in books, or even in the online help for the product.
Free Market Research? (Score:1)
They can then turn to *your* managment, and say, "Look at this! This is what you're folks are saying..."
*sigh*... oh well, isn't the first time or the last time
It's important to use the training.. (Score:1)
I also find that using the product [sometimes struggling] a few months before training so you don't spend most of your time in training on the simple stuff.
Blah (Score:2)
IMHO, for the most part technical training is for people who "don't get it" and probably won't much better after th course, or neccesary for products that are so non-intuitive you shouldn't be buying them to begin with.
I take company-paid training all the time, usually in a nice city. I'd much rather spend a week hanging out in a hotel on the company's dime and listening to some bonehead moron read their product's user manual to me very slowly during the day for a few hours than sit at my desk at work.
Tech Support Training... (Score:1)
The company I work for (outsourced Tech Support) is currently working on an plan to consolidate their so-called Level 1 reps to support the company's four "current" solutions... other products are being phased out due to the fact that they are in fact out of date.
The four products in question:
1. A new software-based solution installed on the customer's PC
2. Same as 1, but web-based and thus (mostly) platform independant.
3. An older standalone PC solution which is still quite functional despite its age
4. A newer standalone PC solution
Now, obviously all four would have their own quirks, and such... However, this little plan is being carried out rather quickly, and thus, training is 2 days, approx. 10 hours of actual training. But that's not all - to assist our level 1 we are rolling out a new knowlege base!
Which has made our training... a joke.
2 hours of familiarity.
Followed by 8 of Knowlege Base training.
Which has yet to work.
Now onto the meat and bones of this: We're given the opportunity to anonymously "rate" the training in areas such as Instructor's Knowlege of subject, whether the training was well-prepared, and whether or not we feel ready to support the product being trained in... Not as effective as, say a focus group of 1 in every 20 Level 1 agents, but still enough to get an idea of any ideas.
Now, considering that they're thinkin' of upgrade training, obviously that feedback works... provided that there is INDEED something wrong with the training.
If one person has an issue, it could be that person.
If ten people have the exact same issue in a training class of 20... well, harder to ignore that.
Re:Tech Support Training... (Score:2)
Training? (Score:3, Interesting)
Perhaps I've been exposed to too many of those "intensive, hands on training" short courses that purport to teach everything about a topic in a few days. Generally, though, I've found such courses to be of little value. Personally, I'd rather learn by reading a book, interacting with peers and trying things out on my own. This style of learning is more incremental -- and I think it leads to better knowledge of the subject.
While I'm aware of the problem of using universities as a model, it's interesting that rather than two (or more) eight hour training sessions over a few days, universities will stretch the same amount of class time over several months, with practice time (homework) and discussion interspersed with the formal lectures. Practice, to me, is essential to really learning something. And "hands on, intensive" training just doesn't provide enough time for practice.
I have taught a few, very short courses myself. The approach I used was 2 or 3 two hour sessions spread over multiple days. There was plenty of time for practice during the training sessions. Students could also practice on their own between sessions. Some actually did. I also provided students with thoroughly documented examples that they could refer to back at their jobs. Finally, I made myself available for further consultation. My students indicated they found my approach quite helpful.
Re:Training? (Score:2)
As a veteran of many, many "hands-on, intensive" courses, I disagree that such courses lack real value. While you're certainly right that reading a book or three will yield much more depth of knowledge, it's also true that well-run classes offer a great way to start learning about a subject.
After taking a good class (which usually means at least 20 hours of instruction, with about half that spent in hands-on activities), I find that I get a lot more out of the books I (later) read on the subject.
I also find them useful when I'm not being given the resources to learn. That is, when the necessary equipment, software, and/or time is not being provided. Good hands-on classes provide all of that as a matter of course.
So, while I agree entirely that hands-on courses are not a panacea, and by themselves aren't sufficient for gaining a usable skill, I've found them to be very good as a first step along the road to building a new skill.
-Joe
A Trainer's Opinion (Score:1)
I have long battled with clients over their perception that designing and creating training courses and help systems takes less time, effort, and testing than their software project. That is a fatal project flaw and leads to poorly conceived training and help.
Training? We don't need no stinkin' TRAINING... (Score:2)
Maybe it's just the general slowdown in the IT world in general, but the picture I get from most of the techies with which I associate is grim. Every single one tells me how the company they work for cut the training budget to the bone, along with any budget for travel. Hell, at my company, to save money, they've even restricted who gets business cards!
Perhaps it's for the best. I've had, in the past, a lot of training -- both off-site and on-site -- with a lot of different companies. From big league Verisign to small-potatoes Motive, I've found that professional trainers usually run about 3 or 4 months behind a good programmer that reads selected forums and Dr. Dobbs. In one particular instance with a Verisign instructor, _I_ ended up teaching the class because the instructor had never used the LDAP integration native to Firewall-1 -- this in an Engineer-level class!
So if you are getting a training budget at all, your money might be better spent if your guys get together and pick someone they know by code rather than reputation. Fly that person in, and spend a week with them at work and after hours -- it'll be a lot more constructive. In other words, have the company pony up its money for someone whose technique you want to know rather than a professional instructor whose methods are unknown and suspect. Who _wouldn't_ want a memory-management tutorial from Linus, or a UI design class from Andy Hertzfeld?
Lame Training (Score:2)
Our work is paid under a one year renewable contract.
Lowest bidder gets the job.
Bid estimates are higher is they include traqining in the bid.
Therefore, there is no training budget. What little training we got was charged to overhead. That was, at least until our customer(government) started complaining about overhead charges.
We are stuck with whatever free seminars come around, what we're willing to pay for out of our own pockets, and mostly lame training given inhouse.
All that said though, I think training would be a good niche for User Groups.
Another industry with short-term projects (Score:2, Insightful)
Another industry with turn-over, short-term work (Score:2, Informative)
Another industry with short-term projects is construction. These guys work themselves out of a job just like we do. The industry also has a cut-throat bidding process.
But there are some big differences on training! Really - contrast the fate of most geeks to a union construction worker, like an electrician. Geeks (most) pay for college. Union construction worker - employer paid apprenticeship program of class-room instruction and OJT.
So how many geeks start out their work careers paying off debt? How many construction workers have debt starting out?
Geeks have to continually upgrade skills to avoid being obsolete. You can check out the responses to this story as to what are chances are.
Construction workers have to upgrade their skills as well - whether mandated safety programs or for new tech. Union construction workers have zero out of pocket costs for this, paid from dues and from employer contributions.
That's why I'm a washtech member. Here's our training program - geeks training geeks. [washtech.org]
Why do construction workers have company-paid training? The same reason microsoft forces dell to sell microsoft. The same reason the Washington Software alliance lobbies to kill premium overtime pay for tech workers and bring in more h1-b visas at lower than market pay. These folks organize and use their strength. Why don't we?
What is this "training" you speak of? (Score:2)
A FORMER employee is still having his tuition paid for.
A part time programmer is having her tuition paid for.
Me? Why, I'm getting squat. The only training I got was a beginners Cold Fusion training session a few years back.
All requests for training have been rejected. Guess I'm not important enough to train.
Gee, you think I'm on the short list for downsizing?
Re:What is this "training" you speak of? (Score:2)
These days, my coworkers take the opportunity to chew me out every time I answer a question asked by a manager. If I volunteer information I get lectured by my coworkers.
Example: One of the databases slip into single user mode every morning. I look up the problem on Deja (Now Goggle Groups) while a developer and the network admin are trying to figure out the problem. In a minute and a half I have several descriptions of the problem, and a printout of the solution from the Microsoft Knowledge Base. I had the admin the printout and tell the developer.
Developer replies, "Well, I'm glad we have a know it all."
They ignored my solution. A few days later the network admin implemented my solution.
Training (Score:1)
CSH (Score:3, Interesting)
Check out the official page here [rit.edu].
If you are in the Rochester NY area check them out. CSH is a very cool place that always has something going on (ping our soda machine!). Maybe you could give a seminar?
-Benjamin Meyer
Geeks training geeks (Score:2)
I work at a moderately sized corporation (2-3K people), and we sometimes bring in outside instructors from various places. Many of them come directly from the organizations that produce the software packages we use. And from my experience, these instructors are the worst. I've taken two classes offered like this, and the instructors were terrible. They didn't know the material well--or if they did, they just could not convey that.
However, what we've started doing is having our own developers teach classes for some kind of compensation for their own unit's training expenses. This works out much better since the classes can sometimes be tailored to specific products within our corporation. Plus, we have some really talented people that you can easily contact weeks after the course if you have questions.
Mark
Two Sided Process (Score:2, Insightful)
An Instructor Needs to Be: ... low ummmmmm ratio ... avoids random snoring, actually helps the learning process ... yes even at professional levels
A geek at heart.
Knowledgabel about the subject (obvious)
Great communicator
Part Entertainer
Part Baby Sitter
Part Drill Instructor
and Patient
Not an easy combo to find
At Student Needs ....
To want to learn the subject! i.e. not *forced* to take it (hugely important)
To have some skin in the game.
I like the system my company has used before, The student puts up the money for the class and then gets 100% reimbursement for an A 90 % for B etc from the company. Also the company was pretty liberal with what course could be chosen.
As a boss, :)
training is great bang for the buck, if well chosen. If nothing else its great for morale and it build loyalty to me
From the other side of the Desk ... (Score:2, Insightful)
First some background -- I am an instructional designer. Like an interface designer or architect, I work with other people (content experts, lecturers, multi-media programmers) to create learning materials. When I am hired by a firm to develop some training there are few very important questions that any reputable learning consultants must ask
1. Is it a 'training' problem? There are all kinds of problems that are not training related. Maybe all the web-programmers know how to use Dreamweaver, but they still prefer Notepad.
Most times 'training' is only one piece of the puzzle -- there are usually environmental factors like rewards/acknowledgement, time/project management, human resource and other issues that will affect training.
2. Who is the target audience and what are their PERCIEVED, STATED, ACTUAL needs. The manager might say they need an in depth course on XYZ (percieved) whereas the programmers might say all they need is the 'X' of the XYZ (stated) and having done a proper needs assessment/instructional design, the learning consultants find out that the programmers need some remedial Calculus to even understand XYZ (actual).
To figure out the all these needs -- a proper Needs Assessment must be completed -- this doesn't have to be a huge ordeal, but it should be a proportional effort to the size of the 'course' that is to be offered. So for a half day workshop, it should only take a couple phone calls and maybe a quick site visit for a good 'instructor' to understand the requirements.
3. What are the barriers to implementation in the users environment? What will enable implementation? This is where alot of the customization will come in -- let's say the company cannot use process ABC and ABC is a generally accepted industry practice. Well first, the trainer needs to find out about this (by doing a needs assessment), the work with the company to come up with an alternate to ABC -- or find that an alternate already exists in house.
The bottom line is -- if your company is paying for customized training and you haven't seen or heard from the 'trainers' until the first day of the course -- then chances are it will be a rip-off and waste of your time.
Grip
Ok, I'm drawing the line when it comes to training (Score:3, Funny)
2: God dammitt, I am a giant cow of death! I will poop where I want.
3: Watching the villagers bring food and wood to the town center is boring.
4: Bringing food and wood to the town center is even more boring.
5: WTF! I am a giant cow of death! I don't want to learn how to use a water miracle to water the damn crops, I want to learn FIREBALL!
6: The throwing villagers around the island trick is pretty fun though. C'mon teach me more stuff like that and this relationship will change for the better.
What makes a good instructor (Score:2, Informative)
Speaking as somebody who does technical training for large companies (as detailed in my resume [trumpetpower.com]), your ``tenet that 'geeks should train geeks''' is less than ideal.
There are two things you want in any teacher:
The actual teaching and delivery of a class is essentially a performance. A stand-up comic has to be constantly side-splittingly funny; a teacher has to be occasionally funny and educate the audience. Otherwise, there's not much difference.
A good teacher who doesn't know the subject is obviously (worse than) useless, but somebody who knows the subject but not how to teach is just as bad. You need the two together.
So what makes a good teacher? You've got to be on top of everything: you need to have absorbed the subject so thoroughly that you know it forwards and backwards, inside and out. You need to have that information extremely well organized so that you always know where you are in your own mental map.
When you've got that down, you'll probably also have the confidence that you need to bare your soul in front of a bunch of people. Humans grant authority to those with (percieved) confidence, and you need a great deal of authority to teach: you've got to control all those people.
Every teacher has had a number of different disruptive students. You need to know how to keep people focused on the subject at hand. Usually, this means letting people have their say, no matter how wacko, and using your normal conversational reply to ideally bring the thread back to earth--or, at least, steer it straight. Sometimes, you've got to be blunt: ``I'm sorry, Dave, but this is a class on the Internet, not on the dystopian perspective of the Romanovs. I wish we had the time to explore the Romanovs in more detail, but we've got to get through the dot-bomb in the next forty-five minutes, and we haven't even mentioned how the IPO hype brought in so many investors charged with what Alan Greenspan rightly called `irrational exuberance'....''
Every class has at least a couple students who close up into their shells. People don't learn when they're in their shells. Drawing them out is a challenge. How do you get somebody involved when they don't give you an opening? One very shy girl, I tossed her a real softball and she almost went into the foetal position....
There's a lot more I could go into--passion for the subject, honesty, knowing when to say, ``I don't know,'' and more. I haven't even touched on the preparation: how to make a lesson plan, design exercises and tests, grading, record-keeping, and a lot more. It's just like any other discipline: it takes a lot of time and hard work.
So, don't think that just because somebody is a geek like you and he knows his stuff that he'll make a good teacher. If he's got the archtypal geek personality, you want to avoid his class like the plague--he'll be the proverbial professor who talks in everybody else's sleep.
Cheers,
b&
Waste of time (Score:2)
No.
> Have you been satisfied with the lecturer's level of expertise?
No.
Jobs rarely last over 18 months in this business. Training is rare because it isn't worth the company paying for it. Training by peers doesn't work because of egos. If you can figure out how to make it work, don't train for it.
Re:Waste of time (Score:2)
Jobs rarely last over 18 months in this business. Training is rare because it isn't worth the company paying for it.
If you made the environment conducive to work and pleasant besides, people would stay longer. Once that happens, training becomes worthwhile.
Another industry with short-term projects (Score:2, Interesting)
But there are some big differences on training!
Really - contrast the fate of most geeks to a union construction worker, like an electrician.
Geeks (most) pay for college. Union construction worker - employer paid apprenticeship program of class-room instruction and OJT.
So how many geeks start out their work careers paying off debt? How many construction workers have debt starting out?
Geeks have to continually upgrade skills to avoid being obsolete. You can check out the responses to this story as to what are chances are.
Construction workers have to upgrade their skills as well - whether mandated safety programs or for new tech. Union construction workers have zero out of pocket costs for this, paid from dues and from employer contributions.
That's why I'm a washtech member. Here's our training program - geeks training geeks. [washtech.org]
Geeks taking a role (Score:2, Informative)
I spent many years on the opposite side of this (i.e. working for a firm that delivers training to progammers), so I'll offer advice from that perspective.
Larger companies have their own training departments/divisions. Often, they'll have their own training rooms and/or facilities. If larger companies can overcome their own bureaucracies, they have the greatest power for getting the best-quality training. Trainers fall all over themselves trying to get large accounts. Before offering a large contract to a training firm, the large company should:
Smaller companies have a harder time making the training firms dance because the potential money made is much smaller. They also won't get the big discount that the big companies can get. That said, the smaller companies can send out an request for information (RFI) and collect basic information from potential trainers in a consistent format (rather than surfing training sites, making calls, etc.). Once the information is collected, the end-users, and a couple other folks could conduct phone interviews with potential trainers.
Questions to grill any potential trainer with (for both large and small companies):Learning styles.... (Score:2)
Personally, I have found the traditional "skill-based" training to be largely a waste of time - I just don't enjoy working through a bunch of exercises with canned explanations, esp. if the trainer is a professional trainer as opposed to a professional developer/manager/architect or whatever. The IT training business (certainly in the United Kingdom) is pretty much industrialized, and geared towards turning out as many Microsoft-certified whassnames as possible. Attending a course with one of the big training shops is in my experience a case of working through a bunch of thick books with more-or-less real world examples with doctrinaire solutions. There is rarely an opportunity to explore alternative solutions, and the goal seems to be acquiring a bit of paper saying "MS certified whassname" rather than learning anything new.
On the other hand, I have attended a bunch of excellent "training" events such as those run by the Atlantic Systems Guild [systemsguild.com] which includes Tom DeMarco and Tim Lister, where there was an agenda of topics to discuss, but little or no "here's a book, read it, and we'll do a bunch of exercises" nonsense. The format was "here's an idea, or a story that happened to us once - let's consider what it means for you", along with a bunch of hands-on sessions exploring some of the topics.
So, all this comes down to - work out what your learning preferences are (there's a questionaire here [ncsu.edu], and make sure you tailor your training to it if at all possible.
The best training I've had... (Score:3, Insightful)
What better way to learn to do kernel debugging than to be tutored (and given a helping hand when needed) by the fellow down the hall that does it all day long? What better way to learn good design process than to hang around with the product leads and get involved in their discussion? What better way to learn the QA process than to get involved in writing software with them for a bit? I've done the formal education thing -- spent four years doing it -- but I never learned as much in as little time as when being given a helping hand (or just chatting over lunch) with a coworker more experienced than me.
Alternately, I've had the opportunity to help and tutor some (other) coworkers as well. An environment in which folks are encouraged to share with -- and learn from -- others is perhaps one of the most valuable things a company wishing to have a robust, happy engineering department can have.
I don't know that there's anything that's been done by management or by the founders to encourage this behaviour, by the way, except hiring the very best engineers they could. Politics and one-upmanship don't mix well with an engineering mindset (well, not a hacker mindset, in the Jargon File sense), particularly when everyone involved respects each others' skills -- and teaching and learning are things we all enjoy.
ZERO (Score:2)
Various types of training... (Score:2)
My employer also offers a huge library of online training materials. Sometimes these take the form of flash or HTML documents and quizzes. Kind of good. But I like the "get it yourself whenever you want it" kind of thing. I can take any online course at any subject at any time.
One of the more progressive things they have done is signed us up with a membership at Books24x7 [books24x7.com]. Basically, they've got a huge library of technical books (and management books, and basic office books) that you can read online, at your own pace. It'd be better if you could print it out.
But the "chase your own training" so really good for the kinds of people who will take advantage. But I think instructor based courses are the best. But since I don't live in a primary city, I almost always have to travel somewhere for training. And since travel costs more, the company is less eager to do it...
Train internally--if you can (Score:3, Interesting)
First, we had a committee, chaired by Human Resources but staffed by employee volunteers. Second, we had a budget with which to furnish classrooms and pay instructors. Our classrooms had PCs, Mac, Linux, and various servers. We managed the classrooms, scheduled instruction, and picked instructors. The instructors were fellow employees.
Using your own employees has several advantages. First, you know this guy or gal. You can look at their work and see that they know their stuff. Next, the person knows you and they can tailor the instruction accordingly--like match it to current or future projects. Finally, the person is available during the work day for questions should they arise. For example, I became Joe-X-Windows and, as a result, had my pick of projects
Classes were mostly held after work hours, starting at 5pm. Instructors were paid (8 years ago) $25/hr for preparation (negotiated ahead of time with the training committee) and $30/hr instruction time. Slots went first come first serve or, occassionally, to projects/employees where a need was seen.
Everyone got a lot out of this: The student got a good class. The instructor got some extra money, the chance to look good to his/her peers, and the learning experience of teaching. And the company got off cheap! Not that we didn't send people outside when necessary, but looking inside worked very well.
Re:Train internally--if you can (Score:2)
There was a real benifit for me as I got time to run through the subject (.NET & C#) in detail and learn all the basic concepts in detail. Explaining stuff I normally just did without thinking was a great way of enforcing my knowkedge, and answering technical questons made me think of the concepts in different ways.
It is also a great way of improving communication skills, which tend to suffer when sat infront of a screen 14/7.
If you want to try it, just get it organised. The management will be keen that you take an initiative and help improve the knowledge within the company.
I've been hurt by this... (Score:2)
After reviewing the document I ended up marking as many as half of the topics as being redundant, or below the target audience's skill level. The document was presented to the training center staff who put together a lecturer and a time for the class. Several weeks later the class was held and I saw the same syllabus come across my desk that I had reviewed! Outraged that the training center was wasting my time I quietly raised a point with the staff that we (the class) already knew most of the information being presented.
This did not sit well with the training center staff, and perhaps rightfully so. I ended up being the only one leaving a class that I did not need and going back to a normal workday. My classmates stayed in the class and basically slept through 2 workdays.
Several days later, I was reprimanded by my manager for not attending the class. After taking the time to explain to him that it covered topics that we had already been using in day-to-day activities for as long as six months, it was decided that I did not need the company's training facillities anymore and that they would simply fund any technical book that I wanted to purchase.
Moral of the story:
Don't trust or go to corporate training. They (the training organizers) usually don't know what they're talking about, and insist that you need their help. Training is best accomplished on your own at your own pace.
You're kidding right??? (Score:2)
Seriously in my 6 years of working for a very large services company (three letters, but I'm sure they could be any three letters) I have been to one 1 week class. Since then we have pretty much been told no unless it costs nothing, does not involve travel or time away from productive time. But if we want to take time on our own to take any of the online courses for free, we can certainly write long boring term papers to our management to request permission to sign on to them. Otherwise I suppose we're suppose to tremble with gratitude that we have jobs.
My CEO recently sold $30 million of stock that was a gift from the board and the stock price is half of what it was a year and a half ago. Guess where that money comes from? Right, training and HR development.
hahaha (Score:2)
LOL, programmings and training.
Sometimes, i dont know why I dont get paid twice as much as programmers that need to run to a lecture environment to learn how to do anything substantial thats new to them.
If somebody said they needed training before they could do something i'd put them on the top of my to-fire-list.
This is the unfortunate product of comp-sci grads hitting the workforce. They have been brainwashed into thinking they need to attend an 'education show' in order to do something well, or at all. Consider that all the people that created this field probably never attended a programming class ever.
Name me another profession that actually has whole bookstores on their craft. A many number of these books are written by programmers that are 10x better at imparting the knowledge. If i need to do something new and substantial i'll go to Softpro (my local computer bookstore), pick up a few books (researched through amazon), and work through them, sometimes over the weekend. If i have a book by Bruce Eckel, Larry Wall, etc, why do i need to sit in a room and listen to some guy slowly impart knowledge at
Now, if you need to sign up for a lecture just to get the books that are unavailable someplace else then thats another problem and should be throught over carefully by management.
Re:hahaha (Score:2)
Re:hahaha (Score:2)
You mean books? (Score:2)
Training Geeks (Score:2, Interesting)
As noted elsewhere in this discussion, there are two very large problems in the training industry.
1. People who know the material, and therefore think they can explain it...without lots of communication skills.
2. People who are excellent trainers who are not subject matter experts as well...so they can't actually answer the questions.
I have a relatively simple test for High Quality training. Ask them to skip the slides. If someone can give a coherent explanation and answer questions without the slides...they are usually worth listening to.
At the same time...the high-end geeks are usually not the target audience for management-created-training. I find as a trainer that management tends to expect me to make sure that the least technical of my students get up to speed on whatever I am teaching. My guess is that if you read slashdot, and you read O'Reilly books, then you could get a lot of what I teach without me there. However, that is not the normals state for people learning. Training classes exist so the people who don't read O'Reilly and slashdot can learn new technologies (well, that's why the worthwhile training courses exist).
It is very rare to find a trainer who can answer the really hard questions. Why? Because mostly, the really hard questions don't come up in training gigs...so it is not useful to know.
If someone were to want a serious training, try finding a trainer to start a project with a team. Bring someone in for 2-3 weeks, and sign them up as project manager/mentor for a technology that the group doesn't have. That's a serious training...that no one seems to want.
One last thing...from inside the industry
A lot of the training firms have gone under, and a lot of them have slimmed down. What I have most noticed though (being there myself) is that the industry is heavily populated by independents, almost all of whom have left. Only the ones who have the rep. (and skills) are left. If you get a contract trainer now, very good odds that they are good at what they do.
--K
Geeks training geeks - without the damn corp. (Score:2, Interesting)
As a member-run union of tech workers, we found out what our members wanted. Training was one of those things that are members wanted and that we could accomplish in the near-term.
So we do have geeks training geeks. [washtech.org] Classes happen if folks want them and if we can find a qualified teacher. Qualified has come to mean, 'knows his/her stuff and can communicate it'. We have hired some non-members on occasion, too. They're damn cheap, and unemployed members can delay payment for 6 months.
But really - contrast the fate of most geeks to a union construction worker, like an electrician.
Geeks (most) pay for college. Union construction worker - employer paid apprenticeship program of class-room instruction and OJT.
So how many geeks start out their work careers paying off debt? How many construction workers have debt starting out?
Geeks have to continually upgrade skills to avoid being obsolete. You can check out the responses to this story as to what are chances are. Construction workers have to upgrade their skills as well - whether mandated safety programs or for new tech. Union construction workers have zero out of pocket costs for this, paid from dues and from employer contributions.
oh yeah, us geeks are sooooo smart.
Re:Geeks training geeks - without the damn corp. (Score:2, Insightful)
So we do have geeks training geeks. [washtech.org] Classes happen if folks want them and if we can find a qualified teacher. Qualified has come to mean, 'knows his/ her stuff and can communicate it'. We have hired some non-members on occasion, too. They're damn cheap, and unemployed members can delay payment for 6 months.
When I say 'damn cheap', I mean the classes, not the teachers.
Training? (Score:2)
That's so mid/late 90's. Have you read a tech sector contract recently? If I leave my company, I have to pay them back for any training that I received in the previous year. I kid you not.
On the other hand, that's completely theoretical. We have no training budget, and we aren't allowed even an hour a week for peer training ("If you think training's that important, do it on your own time", quoth my boss).
how to get the most of out your training (Score:2, Insightful)
Thoughts on training (Score:2)
My background: I've been a trainer for two years for a small training & consulting company out of New York (though I've since moved on). I've trained (and consulted) globally, with my courses ranging from beginner to advanced Java, C++, Web Services, XML/XSLT, J2EE, EJB, and most recently the Microsoft 2-day VS.NET seminars. I've taught principal engineers and developers of products [macromedia.com] you may have heard [dolbylabs.com] of [intel.com], as well as various [db.com] other [hsbc.com] companies [lehman.com].
Is training worth it? It depends. The main benefits of training vs. books are:
a) you can't ask a book a question
b) books can't help you when their examples don't compile
c) you'd like to get an answer to that gnatty problem you've been experiencing in that DLL you've been screwing with for 3 days (i.e. free consulting advice)
d) some authors really can't write
e) some technologies are so new or specialized there isn't much in the way of quality books out there (i.e. advanced oracle performance tuning, advanced J2EE architecture, writing for an EAI framework like TIBCO, etc.)
Training is a way of imparting knowledge that the books have IN CONTEXT of the real world AND providing the extra knowledge that the books don't have.
Most training sucks, of course, because
a) it's not relevant to your day-to-day job
or
b) the buyer doesn't know what constitutes good training.
This really harkens back to the scourge of the land of IT: a lack of good managers. It's up to managers to know what training is needed & whether the vendor is of sufficient quality. It's also up to the managers to involve the team with this decision -- I fully agree with the premise of this article that those being trained should influence the training -- if you're not seen as being competent enough to know what you need, there's a real reality-deficiency occurring.
Given the above, what makes a good instructor for technical courses? IMHO, in order:
a1) advanced technical knowledge & expertise
a2) good teaching skills
b) patience
c) energy (you have to carry the crowd through the tough parts)
d) humility (you can sometimes be wrong)
They're all needed, though at bare minimum A1 & A2... if you have teaching skills but don't know much, you're not accomplishing anything except entertaining/babysitting a crowd for a few days. In an advanced crowd this will generate a lot of anger. Conversely, if you know a lot but have the communication skills of a potato chip, you'll still get a lot of angry people wanting to give you the boot.
Having said that, a good course with a good instructor can be a very rewarding experience, probably a major highlight of your career growth -- assuming you get the right course for the right reasons with a good instructor.
In perspective, a 5 day course can run between $1-3k a person, depending on the depth, level, and reputation of the instructor. That's not cheap. It's probably only worth it to go with the "world class" instructors, whether well known (like the folks at DevelopMentor [develop.com], or Hotsos [hotsos.com]), or relatively unknown but promising (like my old company [infusiondev.com]).
As for what industries regularily offer training -- generally in my experience, financial and insurance companies. There's always ongoing training there for new technologies, and most new IT hires get 4-12 weeks of training in business and technology.
Re:It depends on both teachers and other students. (Score:2)
Which doesn't have any teaching value (beyond "don't do this") and as such they aren't running a class at all.
It reminds me of a seminar on genetics I went to where the person hosting knew about ten times as much as the actual person presenting (whoch mainly just quoted recent headlines, the stupid sounding ones mainly).
Make it interesting with a clown falling into a wood chipper and I'd go again, but not to learn.