|
Hi HN, So far in my software engineering career, I’ve worked at a product focused company and at a media company (building internal APIs/tools/etc.). I’m interviewing at a small software company that’s more of a consulting shop / contractor. Teams have several active projects, and it sounds like most contracts last for less than a year, with several multi-year engagements mixed in. So my question is: What should I be considering before moving into this sort of work? A variety of projects sounds like it could be engaging, but on the other hand, maybe I’ll get bored writing the same boilerplate over and over? It also sounds like consulting has the potential to expose me to a wider variety of technologies and languages, which I see as a plus. But I’m worried that being involved with shorter term projects means I won’t get the chance to gain _deep_ expertise in any one thing, which might hurt my future job prospects? Any advice would be greatly appreciated. |
- Consulting is great for people with good people skills, but it can turn into hell if you haven't them.
- It's very easy for experienced workers in some shops to take advantage of the "new meat", and basically shove you their work. Be on the look for that situation. If it happens run as fast as you can.
- Find out who are the top performers, get as close as you can. Some of them will just be political hacks, but others are fountains of experience, and learning from them will provide you with invaluable insight into their fields.
- Be ready to ship crappy products. Consultancy is about doing things fast and keeping costs down. Nobody expects perfection, although you'll hear business speak like "excellence" repeated constantly. Your bosses know it, your clients know it. If you are the kind of person that has trouble living with that (i.e. perfectionist), you'll be way happier in product orgs.
- Insist on meeting the client. Engineering consultancy is 20% about making the thing, 80% about understanding the clients needs and managing their expectations. All the big failures I've seen in consulting come from having middleman between the guy building and the guy talking to the client. You don't need to be there all the time, but enough to not be playing telephone with others about what the client wants.