Here at Instil we hope to recruit one or more full time trainers during 2016. There seems to be a lot of FUD regarding what the job involves, who is suitable for it and how one might make the move. So I thought I might draw on my own experiences and (subjective) opinions to provide clarity. The term ‘IT Training’ is very broad, so please note that my comments are entirely aimed at teaching existing software developers how to develop software better.
The Good News
First and foremost its a fantastic and very rewarding job. You have the privilege of moulding the minds of the next generation of developers and responsibility for giving them the tools they need, not just to survive in the industry but to drive it forward. When someone tells you that after many years they finally ‘get OO’, when you help someone update their skills to successfully find a new job, or when a class of graduates all sign a card thanking you for teaching them ‘real development’ you will feel ten feet tall. You will also have much more freedom and independence than the typical developer and the opportunity to earn a better salary (once you prove yourself). Plus once it says ‘consultant’ on your business card managers will take your opinions twice as seriously as they did the week before :-)
The Personality Type
Despite the above its not a job thats for everyone. In my experience there is a certain personality type that enjoys and thrives in the job. Its nothing to do with intelligence but rather a peculiar combination of character traits. I like to draw a parallel with cuisine verses catering – many people can cook, many people can cook well, but only a few want to work in a restaurant 8 hours a day…
It has been my experience that those who succeed as trainers have the following characteristics:
They Are Toolsmiths
Way back in the ‘The Mythical Man Month’ Frederick Brooks noted that there was a need for ‘toolsmiths’ in IT, that is developers whose primary role was to enhance the languages, IDE’s and libraries used by the other developers. He also correctly noted that managers would begrudge this extra expense and try to externalise it. So if you are fascinated by the design of programming languages, find extending your tools more rewarding than normal coding and have become the office authority on LINQ, RX, Generics, Git etc… then you will naturally enjoy the prep work that comes with teaching new technologies.
They Are Not Genius Coders
If you were to rate all developers from 1 to 10 then good trainers would fall in the 6-8 range. Any lower and you will not be able to prep on the fly, develop courseware and keep up with new trends. Any higher and you will not be able to empathise with the difficulties your students experience. It is essential in training to keep your ‘beginners mind’ and remember how difficult the subject was when you met it for the first time. However for some gifted individuals mastering new technologies is as effortless as a virtuoso picking up a new tune. These are precisely the kinds of people who should never be put in charge of a training course, for the much the same reason that you don’t want a personal trainer who was able to build his/her physique by eating steak three times a day and directly copying the workouts of olympic powerlifters.
They Were Their Own First Student
Most successful IT trainers came into the industry at a tangent. They probably did a numerate degree that wasn’t Computer Science. This forced them to learn how to educate themselves in programming and the rudiments of software engineering. Being a self taught developer confers huge advantages when it comes to understanding how to teach others.
IT training can also provide a career path for those who did excel in their CompSci degree but are appalled by the prospect of working as a professional programmer. Developers tend to be INTJ’s who enjoy long stretches of social isolation in front of the compiler. Those on the extroverted side of the fence tend to become rapidly disillusioned with the industry, but training can offer them a great compromise.
They Don’t Mind Writing
Like it or loathe it writing is a big part of the job. Even excluding courseware there is all the correspondence that occurs during pre-sales, plus formal tenders and proposals for big jobs, plus requirements documents for case studies, and never forgetting the continual effort of keeping the course outlines up to date. If you’re the classic ‘Dilbert’ type, able to solve complex math problems in an instant but incapable of besting your mother at scrabble, then you’re going to struggle with the paperwork.
They Are Polymaths
It should be self-evident that if your primary passion in life is writing and delivering software then that’s probably where you will be happiest. IMHO there’s no greater crime in the industry than taking a passionate and effective developer and crushing their spirit by forcing them onto a different career track (management being of course the classic example). Developers who become trainers tend to have a wide range of hobbies (music, sports, writing novels etc…) and, while they enjoy project work, it’s not the central pillar of their self image.
If most or all of the above are true of you then you might want to consider a change of career. As already mentioned it is a very rewarding job that confers a high degree of responsibility, independence and job security. There are however certain disadvantages that you should be aware of going in:
Most Courses Are Mundane
Teachers in any walk of life often start out expecting to be able to change the world on a day basis. But they quickly realise that most of their time is spent teaching standard material to regular students. There will be the opportunities to make a difference that keep you going, but these won’t appear on a weekly (or even monthly) basis. So be prepared for some boredom.
The Customer Is Always Right
They are using Java 6. They build with Ant. They think ASP .NET Web Forms are the bleeding edge of Web App development. They still buy IBM. They think automated testing means tasking an intern. No matter what the situation the customer is always right, or at least not entirely wrong. As a trainer you have to give up your pet loves (and hates) in order to immerse yourself in the clients environment.
Hypochondria Is An Occupational Hazard
When you are standing in front of an audience eight hours a day for 80% of your working life small health issues become a big thing. Headaches, sore throats and (how does one put this) lower intestinal discomfort suddenly take on new importance. You need to be willing to accept that there are days when you will have to be smiley faced, enthusiastic and happy on the outside but a festering cauldron of illness, misery and despair on the inside.
You Cant Avoid Writing Courseware
Having a big slide deck and thorough exercise descriptions is optional when you are teaching a subject you love on a good day. For all other days proper course materials are a godsend. The effort involved in producing quality materials will embed the subject into your head and force you to explore all the dark corners that you will otherwise skip over. If you’re not willing to invest in writing your own courseware then your longevity will be severely limited.
You Will Need To Shout
Don’t mistake me on this one. IT people are in general some of the nicest and most generous you will ever meet. But sadly those involved in commissioning training will often be tempted to put pressure on you to overcommit. Salespeople want to meet their targets, HR departments want to stay within their budgets, managers want the new project started asap, architects want to change the technology stack midway through the training program etc… Given that you are ultimately responsible for the quality of the training (heres your shiny new red shirt buddy) you need to get good at fighting your corner and holding your ground.
I hope the above has put the job into some meaningful context. If you are still interested please watch this blog for upcoming recruitment announcements and/or email us at firstname.lastname@example.org.