Ask HN: How and in what to specialize to become consultant?
A little background:
* 30 y old
* 10 y of professional experience (in chronological order):
* 4 y desktop CAD application development (C++, graphics, Windows)
* 1.5 y embedded game development (C, graphics, networking, Linux)
* 3 y game development (C++, graphics, game consoles)
* 1 y web development (PHP, JavaScript, C)
I'm looking for advice in what to specialize, that is considering the following factors:* My professional interests: I'm quite interested in high performance sites/apps. I've planned in the next couple of months to read and go though a couple of seminal books for websites performance, starting with the front-end (Stanford CS193H by Steve Souders), then moving to the backend (with a couple MySQL performance books), going through the 'classic' webservers (for instance, there is a book about writing Apache modules in C) and into the heart of the C10K problem and solutions, in the meantime strengthening my network programming skills by going through the Steven's Unix and network programming classics, also parallel/threaded server programming. I've planned a course about distributed computing (by reading the online resources by the schedule + the textbook).
* The unknown to me: what is the most appropriate to specialize considering my past experience, my current interests, and last but not least - what skills/expertise is actually in demand for consulting/contracting in the area defined by the above.
I hope that I was clear, thanks for your time reading.
1 comment
[ 4.0 ms ] story [ 13.6 ms ] threadFirst to get it out of the way: Consultant != Contractor. Some people think they mean the same thing. They don't. Contractors vs employees is just a hiring logistic. Consultants are usually contractors, but the scope of work is usually more specific and specialized.
I'd define a consultant as a subject matter expert who helps clients with a problem domain for a fixed interval.
"Being a consultant" to me means usually helping a company with a problem or role that they can't help themselves in. That means you have to be not only good at what you do, but confident in your decisions and suggestions. You are the authority in their point of view - or at least close to one so you'd probably want to find that area of expertise where you feel that level of confidence.
Having said that, reading books might be a good start, but that's definitely not enough to become a highly paid consultant who gets great referal gigs. "Been there, done that" is a good expression to describe where your experience would best come from. Obviously, you'll get better as you consult more, but it would be wise not to improve your skills on the behalf of others checkbooks in a consulting role.
So assuming you're ready to go that route, you need to fill your calender with enough work to keep yourself busy (paid) and your clients happy. I personally don't have a secret formula for that, i just try to do the best work i can. Leaving a good impression tends to make it easy for people to recommend you to others which brings you more opportunities.
I'd start simply by working for someone else (i.e. a consulting firm). They'll make some dollars off your work, but you'll start to get a feel of the process and build a client base.
I hope that is at least a bit helpful.