34 ms·
Every engineer should do a stint in consulting
- starbase 5y agoI agree with the author, and would add/modify a few things. If you're successful as a consultant, you'll soon discover economic incentives steering you towards an established business model, which can take some of the thrill out of it. By far the most valuable experience has been meeting people at all levels of an organization without being a part of their power hierarchy. When you're a neutral third party who has suddenly appeared in their daily routine, conversations go differently and people open up more. The company founder seeks your opinion about what direction to take the company--even when the question is far outside your scope of expertise. The forklift driver tells you of problems he dares not reveal to his manager. And the HR director, feared by many, turns out to be the best advocate for those who run the other way when she is near.
- vncecartersknee 5y agowhat do you mean by "And the HR director, feared by many, turns out to be the best advocate for those who run the other way when she is near." ?
- sidlls 5y agoHR is generally seen as being anti-employee, in the sense that the reason they exist is to protect the company (legally speaking) by managing its relationships, benefits, compensation, etc., with employees, and this often pits the company's interests against those of the employees.
- marsdepinski 5y agoIt's quite silly for anyone to see HR this way in the first place. They get paid by the employer. Union execs get paid by employees. Figure out which is pro employee.
- cyberge99 5y agoHuman Resources mean managing the resources that are humans. Not resources for humans. HR is there for the company.
- wutbrodo 5y agoI don't know a lot about the mechanics of unions, but are the salaries not paid out of employee dues?
- sidlls 5y agoDepends on which union, really. Corruption is a real problem in some of them, and in others the will to fight is weak or state laws make them much less powerful.
- deleted 5y ago[deleted]
- azundo 5y agoAny founders or early employees out there who have experience doing this after their startup exits or closes? This idea really appeals to me and I could see myself doing this sometime in the next five years. I'd be interested to hear how it's gone for others.
- eightysixfour 5y agoAfter shutting down my startup I went into consulting. Frankly the work was easy compared to startup life and my experiences trying to move fast and iterate were exactly what my clients wanted to do. I had a ton of knowledge gaps about enterprise, but they were relatively easy to fill in.
- justicezyx 5y agoWhat channels are best for advertising oneself for consulting opportunity? For example, I am good at general software engineer (dev process, culture, management philosophy), and detailed technical work for distributed system (cloud/backend). Where do I let people know that?
- mgkimsal 5y agonetworking events, conferences, previous colleagues. face to face encounters, most of which have been severely cut back the last year.
- tonyedgecombe 5y agoAll of which work for people seeking a normal job as well.
- jlund-molfese 5y agoYou can also simply apply cold. Ultimately turned the offer down due to concern about burnout, but I had a great experience interviewing with McKinsey. Compared to most tech company interviews, I felt like I was given every opportunity to showcase my strengths as a generalist, and the people I spoke to were all very likeable and invested in the process.
- aerioux 5y agodifferent teams are very different but I also can say McK Analytics was +10 -- lots of invested and interesting people. Though I do see that only 1/6 of my interview panel is still there 4 years later?
- DaiPlusPlus 5y agoThere's a difference between working as a consultant for a body-shop (no offence - and I do appreciate that McKinsey is nothing like Accenture) compared to doing consulting under your own name though. Out of curiosity, what would you have been doing under McKinsey?
- 5y ago
- dzink 5y agoI did this as my first job out of college and then within the core dev team at a large corporation serving multiple brands. You definitely see patterns and can help identify problems inside developers and managers do not see or dare admit. However you can also be seen as a warm body churning billable hours paid to the company at 4x your salary until you burn out. The lack of ownership of outcomes also means a lot of the real valuable lessons you get after your hard work are lost to you. It is however great for engineering roles where you are implementing tech the core team is new to. If you are an open source contributor or a specialist in a niche architecture, consulting would be a great gig, just make sure you make it a point to learn about the outcomes or decisions that come out to your work.
- xtracto 5y agoHere in Mexico we have an opposite view of this: The majority of developers have spent their professional life doing "consulting" jobs in outsourcing firms. Few devs have experience developing a product and taking care of it 2 or 3 years later. The difference shows in the type of code they do, the "ownership" and engagement they have: Those with a consulting mind will do something and then have the notion that once its "done" they don't have to care about it. Those that have been bitten by their own code from the past have a better notion on how to write maintainable code.
- barbarbar 5y agoVery interesting and unexpected points. Thank you for sharing that view.
- marsdepinski 5y agoThat's outsourcing, not consulting.
- askonomm 5y agoThat's outsourcing for the employer, but consulting for the employee. If I consult for a US company while being in South America, I'm still a consultant. They are the ones outsourcing.
- drw85 5y agoI don't think that's true. You're a freelancer, that works for a US company. A consultant is an advisor, that should have some specific technical or domain knowledge to advise people with. In reality, everyone can call themself a consultant and i bet you can charge better money calling yourself consultant, even if you don't possess any specific knowledge and just work as a regular dev.
- TremendousJudge 5y agoNo, there are non-US companies that sell consulting services to US companies. If you are employed by one of these companies, you work as a consultant for a US company (usually as part of a team with several compatriots), and you are not a freelancer since you are employed by your company. If the contract finishes and you're left without a project, you're still employed and drawing a paycheck, and it's your company that finds you a new project to work on.
- nunez 5y agoAgreed. Many engineering leaders at big companies were consultants at one point, which is a big reason why I got into the game.
- motohagiography 5y agoHave been in dozens of organizations as a consultant, and it gives you a powerful meta view of how teams work and org dynamics that is not possible any other way. However, the skills needed to operate in an environment where you have to see and deal with the same people every day for 5+ years are very different from those required to provide value as a consultant. Being an indie outdoor cat and being a big-5 employee are very different as well.
- nunez 5y agoDefinitely agreed. Fortunately, many consultants are looking for exactly that kind of exit, and it is easier to train a consultant with lots of diverse experience how to operate in that environment than it is to teach an FTE with 10+ years experience how to understand an industry at a macro-level There are also many consultants on multi-year engagements that already have this experience.
- morelandjs 5y agoJust to add some counter balance to the hyperbole in this article. First, I always approach articles of “every X should do Y” with some skepticism. Its not a statement everyone can make, and I think individuals under appreciate survivorship bias. Also you should know that being a self employed consultant is very different from being a company employed consultant. If you work for a firm, you won’t be measured by your impact per se but rather by the number of hours you bill. Optimizing for hours billed is a cancer that kills innovation and creativity. I despised it, and it poisoned my experience in consulting. You’ll also find that it’s more profitable to create a factory that churns out 100 mediocre solutions than a few really good ones. You’ll also write a lot of single purpose code if you do software development as part of your consultancy work. Consultancy has lots of great qualities but there are a few really awful ones that are prevalent in the industry as well imo.
- tootie 5y agoI spent more than half my career in digital consulting for mid-size (500-5000 people) that did full service product development (strategy, design, tech, marketing). Eventually working my way up to director level that meant doing sales and writing contracts. We did some crazy stuff. Delivered some gigantic ambitious projects with pure chutzpah. Dove into tech we didn't know anything about. Go sell a project to an airline, read everything about the airline business, then walk in like experts. It felt like fraud at times but we pulled it off so well you just start to feel invincible. It was a meat grinder but also thrilling. The kind of stuff I feel privileged to have been part of but never want to do again.
- FpUser 5y ago>"We did some crazy stuff. Delivered some gigantic ambitious projects with pure chutzpah. Dove into tech we didn't know anything about ..." OMG. I had exactly the same story word for word until I got fed up with this meat grinder and had started my own business 20 years ago.
- kokekolo 5y ago> It felt like fraud at times but we pulled it off so well This hits home. 99% of work for those projects is common sense, and 1% is that special knowledge that you can learn on the job.
- zwp 5y agoA colleague used to call this "reading the manual in the bathroom".
- tootie 5y agoExactly. And after you've done it a few times for different businesses you see really clearly what things you have to modulate. Then you just dig up your case studies that solved whichever set of problems they have to prove your bona fides and sprinkle on a bit of innovation and some design splash.
- Shinchy 5y agoThis is a great summarisation of what I feel being a consultant feels like too. I often find an avid eagerness to produce the best there is, learn and adapt is a must, but once that fire goes out - like you say - you would never want to do it again.
- throwaway984393 5y agoNit-pick, but > Empathy for customer needs You can't have empathy for a need, but you can have empathy for the pain the person is feeling due to their needs. Empathy isn't really all that useful. What you really want is compassion for the customer and their needs. When you pay a therapist to listen to you, do you want them to feel anguished, anxiety-stricken, rage-filled? Or do you want them to listen to you, understand your feelings, and calmly help you cope with them? The former makes for a very ineffective therapist; they wouldn't be able to get through the day doing that for every patient. But the latter allows them to do their job, which is to help you solve your problems. Compassion also helps you choose better solutions. When you're empathizing, you're using your emotions, and we don't think clearly when we're emotional. When you're compassionate, you can consider their emotional state, but you may need to ignore it to provide the best solution, which might not be one that appeases their emotions. I have often over-empathized with customers' problems, and subsequently gotten angry when a solution I wanted to use [to alleviate their pain quickly] wasn't implemented. The calm approach was longer, but better in the end, and didn't have me lashing out at the bureaucracy.
- wpietri 5y agoI don't think the two are mutually exclusive. For me, empathy is a root of compassion. E.g., a friend of mine had an OS problem where she lost a bunch of files. I felt empathy first, and expressed it first as well. Only then did I turn to compassionate aid. It's true that one has to manage those emotions, but that's true of all emotions.
- Aeolun 5y agoI concur. Compassion seems impossible without empathy. If you can’t imagine how someone feels (or why), how can you feel sorry for them?
- inshadows 5y ago> But running your own business involves a whole bunch of other skills like sales and networking. This post is mainly focused on how consulting helps you become a better engineer, so I won’t spend much time on the independent option. How do I do this?
- gumby 5y ago> Once you’ve worked with a few clients, you’ll realize that most of them aren’t as unique and special as they think they are. Perhaps it’s just the kinds of things I work on, but I n my experience it’s mostly been the opposite: the customer is a domain expert in what they do, but not in what I do. I usually learn a lot (not by these experts’ standards, of course, but by mine) about new domains and as a result the world just looks different after each project.
- SavantIdiot 5y agoI've been on the lookout for consulting gigs, and they are far less common now than they were 20 years ago. I'd really like to know how OP is finding these gigs.
- ipaddr 5y agoIt is very true. Consulting was much easier. It looks like the market split into low budget places like upwork, low-code solutions, hiring someone directly, going overseas or going for a branded company. You have to out market/ brand /out sell before you get to code. It makes sense to partner with someone who has a customer funnel because your job will be to provide that funnel otherwise and still have to do the coding/technical work after that process.
- mpfundstein 5y agospecialize and become a true expert in your niche
- rpmisms 5y agoI work in an agency. I'd love to work on a mature product someday.
- jamesfinlayson 5y agoI only realised this after working in an agency for my first job - I find it more satisfying to improve a product than to keep producing new products.
- ewag 5y agoI couldn't help but think of Steve Jobs take on consultants when reading this: https://www.youtube.com/watch?v=-c4CNB80SRc&t=10s https://www.youtube.com/watch?v=-c4CNB80SRc&t=10s
- vshan 5y ago"How many of you are from consulting? Oh that's bad. You should do something. No seriously, I don't think there nothing inherently evil in consulting, I think that without owning something over an extended period of time, like a few years, where one to take responsibility for one's recommendations, where one has to see one's recommendations through all action states and accumulate scar tissue for those mistakes and to pick oneself up off the ground and dust oneself off, one learns a fraction of what one can. Coming in and making recommendations and not owning the results, not owning the implementation I think is a fraction of the value and a fraction of the opportunity to learn and get better. You do get a broad cut at companies but it's very thin, it's like a picture of a banana, you might get a very accurate picture but it's only 2 dimensions, and without the experience of actually doing it you never get 3 dimensional, so you might have a lot of pictures on your walls, you can show it off to your friends, I've worked in bananas, I've worked in peaches, I've worked in grapes, but you never really taste it, that is what I think."
- nodejs_rulez_1 5y agoPerhaps that was an advice for a different time and for a specific audience (MIT graduates can expect favouritism). Cannot see how spending a few years developing a tiny slice of some UI at Apple 2021 would make your experience "three-dimensional".
- vander_elst 5y agoWorked in consulting for 5 years mainly for large companies (> 20k employees) and it wasn't so nice. You'll end up solving problems that the digital natives solved 15 years ago. Moreover, half of the projects were staffed just because some C level read something about 'new technology x' and it was deemed to be cornerstone of the business. Of course our whole work was thrown into the trash the second we were out of the door. Lots of colleagues were in consulting just for their ego, they didn't care about the customer as much as being idolatrized by them. I switched to a swe role in a faang company and in half of the time I learned twice as much I did in consulting about the real engineering problems the industry is facing. Consulting is fine if you need an ego boost, otherwise go to a company doing serious engineering.
- quanticle 5y agoYou don’t bring in a consultant to help you maintain the status quo, but to help you drive change. I don't know what industries or companies this person has worked for as a consultant, but the ones I've worked for have absolutely used consultants to maintain the status quo. They bring in consultants because the full-time employees got reassigned to whatever new shiny project the senior managers have their eye on this week, but, in the meantime all this old legacy cruft still has to be maintained. Hence, consultants.
- disgruntledphd2 5y agoThat's a different model. That's generally called staff augmentation, whereas generally the bigger consulting firms get pulled in to help the business deliver on the AI agenda (or whatever McKinsey's selling to clueless execs this year).
- EveYoung 5y agoIn my experience, it's also common that those big consultancies get those impossible projects because none of the internal teams what to work on them. And when they inevitably fail, they'll convince senior management to pivot to something more feasible.
- isbvhodnvemrwvn 5y agoA slightly more direct and IMO better name for this is "body leasing".
- 123pie123 5y agoyes, the shiny new green field projects keeps many contractors in jobs as perminant people seem to hate working on older tech migrations and decommisioning (large complex systems) also get lumped into the same pot that most perminant people seriously hate.
- rcarmo 5y agoAs someone who is rotating out of a consulting unit, I tend to agree. It is a very valuable experience, albeit one that may well lead to faster burnout.
- mzarate06 5y agoI strongly agree with the title sentimment. Strongly! But, I'll add this - work at a company first, full time, for as long as you find it rewarding. Maybe several years at least? ... the longer the better. Bonus for each promotion you receive, primarily b/c of different levels of responsibility and leadership that places you in. I think that's key to getting the most out of independent consulting, for 2 reasons: First, b/c fresh out of college or early in your career, you still don't know what you don't know. That makes learning w/out benefit of teammates, mentors, interactions with other teams (Customer Success, Sales, Marketing, etc.), quite dangerous. Without that wide array of awareness and guidance on a regular basis, it's easy to form bad habits. And bad habits attained during one's formative years can be long-term or hard to break. And second, b/c every engineer needs to experience what it's like to maintain and improve a product for years on end. E.g. while I didn't recognize it at the time, I believe time I spent with a product for 3 of its generations proved to be one of the best learning environments I've had as a software engineer. That kind of timeline provides first-hand experience to the long-tail of product decision making. It provides long experiential lessons in best practices like automated testing, a structured dev process, engaging in customer feedback, team culture & cohesiveness, etc. And b/c I was with the same cohort of employees for so long, and saw how leadership could fluctuate, I also found it helped develop my intuition for effective leaders. All said, I wouldn't have gotten as much out of consulting if I wasn't backed w/prior experience. From an engineering standpoint, I was able to hit the ground running since I already had years of experience developing software. Soft-skills gained during that same time translated directly and immediately to client relationships. I also felt fortunate and well prepared to handle longer-term needs and concerns from bigger clients (Fortune 100/500), some of which I still maintain relationships with.
- kqr 5y agoThis is very important. Experts in the field I look up to only became experts because they learned from the consequences of their choices. Sometimes these consequences don't materialise until 5, 10, 20 years later.
- bodge5000 5y agoI was always under the impression that consultants were some of the best in their field (that can be hired, at least), and therefore going into it fresh out of college just isn't feasible, let alone a bad idea. Though it sounds like I might be wrong. Edit: It's pretty funny how me and the article takes this differently "I always found this to be a stressful and not particularly honest arrangement. I’m not an expert, I’m just a guy who reads the docs. I didn’t like having to project an air of competence that I didn’t always feel." I've always taken a situation feeling stressful and dishonest as I sign I shouldn't be there, but if this is just how it is, maybe its not as bad as I thought
- atlgator 5y agoYes, unfortunately my “stint” has lasted 10 years. Now I’m having difficulty finding an engineering role.
- deleted 5y ago[deleted]
- lbriner 5y agoPersonally, I think consulting works well, like contracting works well, when you have a specific requirement that the Consultant/Contractor can meet. We paid a lot of money for a software consultant once to produce an encryption library in .Net (packaging things, not inventing algorithms) and although he was clearly confident and reasonably competent, he wasn't able to produce it in 2 months. Once he left, I did it personally in 2 weeks on top of my CTO role. If we had planned this better, we would have only recruited someone with experience with the specific issues we had around DI and .Net encryption and it might have gone a whole lot better.
- akg_67 5y agoEvery developer should do a short stint (a year or two) outside development. It doesn’t matter whether support, professional services, consulting, marketing, or sales. They will get better appreciation for the product they build and support system surrounding those products that make or break the product.
- bob1029 5y agoFor me, there is something magical about having retail work experience. That special blend of sales and customer service combined with consumers of minimal patience... Understanding that good customer service necessitates sacrifice and compromise is at the core of it for me. Happy customers are the most important thing for a business. Nothing else matters as long as you have strong advocates in your market. In pursuit of happy customers, you have to be willing to discard or compromise on all of your technical principles. Certainly, dont let the customer cut themselves on a sharp edge without warning them first. But, if they absolutely insist on a certain path, just give it to them. They are paying you money, correct? Clear exceptions to this would be ethical violations (i.e. plaintext pw storage for a public-facing app), but that should really be the only line you wont consider crossing.
- chovybizzass 5y agoso work on upwork for $15/hour?
- belter 5y agoBeen a consultant, not a contractor, for many years. You cannot be a consultant without reading Weinberg: "The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully" https://www.amazon.com/Secrets-Consulting-Giving-Getting-Successfully/dp/0932633013 https://www.amazon.com/Secrets-Consulting-Giving-Getting-Suc... "More Secrets of Consulting: The Consultant's Tool Kit" "https://www.amazon.com/More-Secrets-Consulting-Consultants-Tool/dp/0932633528/ https://www.amazon.com/More-Secrets-Consulting-Consultants-T..." These books kept my sanity and showed me the Universe twisted sense, twisted...But nonetheless a sense.
- twic 5y ago> I’m not talking about becoming one of those contractors who are billed out by their companies as “consultants” but are really just serial hired hands. Even doing that is incredibly educational! I spent about six years of my career at consulting firms like this. Both were a bit more than body shops, though - they sold themselves on their ability to actually deliver projects, and teach clients to do the same. I spent those years being parachuted into complex, dysfunctional, ill-equipped organisations, and trying to work out what in that environment worked, and how to Macgyver it together into a project which worked. I don't want to do it ever again, though.
- _hilro 5y agoLol. You drank that KoolAid > parachuted into complex, dysfunctional, ill-equipped organisations, and trying to work out what in that environment worked, and how to Macgyver parachuted, macgyver. An overinflated sense of importance and worth is the only common characteristic of consultants. 0 chance you understood the business or tech r challenges before suggesting whatever tech du jour you were last exposed to as the True Answer© before disappearing out of sight before the duct tape starts to break away.
- twic 5y agoI never once suggested a technology as a solution to a problem. I spent a lot of time trying to convince clients that technology was not going to solve their problems. Sounds like you would really benefit from spending some time doing consulting.
- DonHopkins 5y agoQ: What's the difference between a contractor and a consultant? A: A consultant knows the difference.
- nickjj 5y agoI spent close to 20 years doing freelance and consulting work on my own as an individual that focuses mostly on smaller businesses (1-50 employees). There's a lot of truth to this article. One thing that I really like about it is it's not just coding coding coding (I do this too), but you get a chance to really break down the domain of a company and work with someone on how to solve bigger picture problems. It's not just empty bs recommendations either, it's things that get directly implemented and in my case often times I got my hands dirty with the implementation. If not doing the implementation, at least doing the research while ironing out and documenting a step by step plan for someone to do it. I would say I spend about 60% of my time coding and 40% of my time chatting with developers / CTOs, getting paid to do R&D and write documentation. For the coding bits it's everything from building web apps to doing ops related things like provisioning infrastructure and making it easier for other developers to release code changes. With that said, for the first time in my life I took a W2 job this week. I'm only bringing that up because if you decide you do want to transition into a W2 job later often times you may get fast tracked through any hiring hoops if one of your contract clients wants to hire you full time. In my case I didn't have to do an interview because I had worked with them for 10-30 hours a month for the last 3 years. It was an instant hire where all I had to do was let them know a start date. In a bunch of longer term contracts I was involved with there were always hints or offers to join them full time. Up until recently I never had an urge to pick one but this role is interesting and you only live once so I decided to try what life is like on the other side of the fence.
- fatnoah 5y ago> but you get a chance to really break down the domain of a company and work with someone on how to solve bigger picture problems. I did a very brief stint doing work that was similar to consulting, and I think this is the biggest net gain for me. I really developed skill at identifying the actual problems and solutions by understanding the domain and not simply building what a customer said they wanted built.
- mrVentures 5y agoWhat's w2 mean?
- cowanon22 5y agoI agree with a lot of the points, however at most large companies solution architect is a significantly higher paygrade than developer. (I don't agree with this, but it is the case at every large place I've worked [non-FAANG Fortune 500].) Usually a career progression goes from developer to lead dev positions to solution architect, not the other way around. There is generally a big money drop if you go backwards.
- roland35 5y agoI have a fairly rough experience working at a consulting firm. I was on a long-term project, but even on relatively stable projects consultants are the first engineers to get cut or moved around when there is trouble. I ended up filling in on project management type work which certainly is better than getting laid off, but I did not enjoy it much (it was good resume building experience at least!) One good thing about being a consultant is that it is pretty easy to quit and move on! People are constantly rotating in and out of projects, so it isn't as personal as working on a small close-knit team!
- ThinkBeat 5y agoI have two decades of experience as a consultant (not anymore) in different companies and even different countries and different states and at different levels in the hierarchy. I would say that getting to work on a "high impact" project is not all that common. It does depend on how you define "high impact" Most of the projects I got on were not green field, it was adding functionality to existing business application, written in legacy ways and legacy languages. I did a lot of figurering out why some obscure program does not work anymore or why it is suddenly so slow. Quite a lot of enterprises does hire in consultants to do sht work so that their internal devs dont have to do it. Of course, some do not have a dev team at all. Some people you end up working with in mid sized to large companies are hostile to consultants being hired in. Had that problem a few times. You do learn how to accommodate unreasonable demands, passive aggressive behavior, how to communicate bad news, lead a group, analyze an existing code base fast. You can fast end up doing a lot of cover your ass, both from a client and from the consultancy company you work with. All the ones I have worked for were cutthroat in some ways. Some more than others. Your billable hours are a huge factor. One coworker of mine was billing upwards of 90h to 150h a week, he got a lot of bonuses and perks. This was not physically possible, but since he had more than one client he billed full it me on several at the same time. IT consultancies are usually highly competitive in all ways. They are also only interested in what you have done this quarter and will sack you if that is not good enough. or have a pay stricture so you dont have a dime if you are not billig at least full time. Several places I worked 40h a week was the bare minimum. Tolerated for a while, but you would get notices about needing to apply yourself more, to get in the game. You are expected to learn all new things in your field on your own time and dime. In some places you have to keep X number of certifications current. You study on your own time but usually the exams are paid for, at least the first try. Failure to keep up is a grave problem. The sales team rules. You have to learn how to kiss their assess and become friends. They will have a lot of pull when it comes to who will be put on a new sale. You want them to think of you as a valuable asset. or you always get the sh*t jobs. I had perhaps 4 - 5 big fun projects. One was to write an ERP system from scratch (Yes I heavily advised the client to buy some existing product but the client was adamant that the business was so unique (it was not) that it had to have its own system. The one big thing they had was a multi-dimensional pricing model from hell. The founder of the company must have spent years coming up with it. All sorts of inputs, all sorts of options discounts, scale, employees, nation, state, order size, Previous orders, season, sports events, stock prices, number and types of cars sold in the last month, and a lot more. Working on that, and getting it to work was probably one of my best achievements. My team was superb.
- black_13 5y agoEvery engineer should do a stint in a call center or better understand results of collateral damage most engineers I interface with have since come from two parent affluent families and dont understand what it means to be poor is or don’t understand what the loss of a job is or if they become a manager what poor management decisions might cause.
- Cthulhu_ 5y ago> I’m referring to a true consultant role, where you are paid to bring expertise, give advice, and drive technical change. There's the hurdle; only a small percentage of engineers will consider themselves good enough to fit that role. And of those, another percentage has the social skills to move to a consultancy role. Don't get me wrong; I've done the "hired hand" version of consultancy, thankfully for a better company than the ones that can supply a hundred hands overnight, but still. I found it a valuable experience because of the higher level of expertise, the learning opportunities, and the variation in assignments.
- rhacker 5y agoI tried, I really did. I make a pretty great salary, but the company I was working at started to tank (this is pre-pandemic). So I reached out to my network but everything was pretty dried up at the time, so I looked at one of those sites that let you post your rate and skills and people could hire you. I had it up for a month and I got 1 hit from someone that wanted to learn Docker. I exchanged a few emails and in the end instead of hiring me he really just wanted to pump me for information. So after that I just reached out in my network a tad bit more and found my current position. I'm never going to attempt it again. It's just not worth the frustration.
- Aeolun 5y agoI think the problem here is using one of those sites. They’re just a race straight to the bottom.
- dnndev 5y agoI completely disagree. Consulting is not for everyone and like everything you get out what you put in. Why I went into consulting - I was working hard as ever, it’s my nature and I love what I do. - My pay was average - My projects looked amazing but in reality sucked and were driven by people in ivory towers My concerns with consulting - we had a newborn and worried about health insurance. In the US this is highly coupled with your job The outcome - I am still busy as ever and love it. - I am a seasoned 14 year dev with a lot to offer. - health insurance because of Obama care is amazing. We pay about $150 more per month but it’s actually better health insurance. - here is the kicker, last month I made 50k profit. Consulting is extremely lucrative and makes me feel like I was wasting my time as an employee before. Will I go back to working for someone? Oh yeah in a heartbeat. But I must be valued according and can enrich the company as I do now with consulting for my clients. What’s sucks about consulting - billing / payroll for other devs that help me as 1099 when needed. Take away - consult for the right reasons. You will learn a lot but you can learn a lot as an employee as well. Let it happen naturally. Don’t force yourself to consult. You may be a completely happy employee and don’t let anyone tell you different and anyone worth being a human won’t discriminate against you for it.
- herewego 5y agoI largely agree with you, except that I think the most valuable experience gained is that of exposure to information a typical software engineer is not privy to. I think this is often overlooked and is what doing a short stint in consulting should be about. Getting the opportunity to understand the inner workings of an organization at, often, a senior management level, was one of the most lucrative lessons of my professional life and is a selling point that I use when interviewing candidates because it’s generally true if they conduct themselves intelligently. Also, to reiterate your point, consulting can be incredibly lucrative if you price yourself at market value — most freelancers and consultants I’ve met are too afraid or nervous or get caught up in imposter syndrome, etc. to charge their true value. $300k/yr (in the US) is near trivial to make annually as a consultant, $400k/yr is where most capable software engineers should be, and yet few get there for reasons I attribute to lack of self confidence — a shame really.
- 5y ago
- _alex_ 5y agoI have a similar but different thing I tell people: I think engineers should do a stint as a product manager. Spending time trying to solve problems on "the other side of the table" forces you to learn a lot about the business impact that different design, implementation, and prioritization decisions makes. Two years in Product made me a better engineer than the previous 5 years of cranking out features. Thats not to say that a career product person will immediately be a good engineer. You need to be good at writing software. But if you get to a point in your career where you think your learning has kind of leveled out, go do a tour in product.
- MonaroVXR 5y agoWhat other side of the table?
- ctrlp 5y agoA "stint" in consulting typically has three outcomes: a) You fail at the business side, can't find clients, your finances suffer, after all the optimism and pleasure at owning your own time, you start looking for a job within a year or so. b) You succeed at the business side, get more clients than you can handle, start sub-contracting, start having to manage your sub-contractors, decide the margins would be better if you had employees, grow into a "boutique consultancy", stop coding mostly and become a full-time salesman and manager, but now with other people who depend on you for their livelihoods. c) You succeed just enough to sustain yourself, don't seek new clients or attempt to grow beyond a 1-person shop, outsource to subs when you need to for a little extra juice but otherwise shy away from taking on too much work, take the work that comes your way, subcontract for some of the bigger fish who need your special skills, and accept the 'feast or famine' reality of income, enjoy your freedom and time off between clients, but not entirely because you're always worried about where your next check is going to come from or "what if the work dried up?", but ultimately get trapped in the endless cycle of making pretty good money and "enjoying the variety" as you grow older, start a family, etc, and can't afford to take the hit trying something entrepreneurial any more since your kids need to go to college, until finally the burnout is so intense you hate consulting and the fact that your livelihood is tied to your labor, hoping that you've put enough away to at least retire early and maybe then you'll work on something you actually want to. There is a fourth approach (or path, if you will) which is to work for an established consultancy as per the article. This path itself has three typical outcomes: 1) You are a natural creature of the corporate consulting world, you prosper in the one true measure of value -- selling work, you ascend to director-level or something where you make very good money, if you're entrepreneurial you maybe can take your clients with you to buy into a partner role at another consultancy. Maybe you see this life as a good life that you're well-suited to. 2) You think success at an established consultancy is based on technical merit, you're gradually disabused of this idea and suffer burnout, if you haven't been there long, you maybe jump to the product world or (gasp!) start a startup solving some problem you solved for a client of the consultancy. Congrats, now you have a startup and all the attendant cares. There is a different list for that path. 3) You burn out of working in corporate but think "hey, I'm a pretty good consultant and what else am I gonna do?", you decide to go independent, see outcomes a, b, c above.
- Demonsult 5y agoThe impossibility of getting good, reasonably priced health insurance for a small family ended my stint years ago. I am employed for healthcare.
- phreeza 5y agoNot an American, but I thought Obamacare was supposed to solve this?
- iainctduncan 5y agoAs someone who does consulting now similar to what was described, I would say the pros and cons in this article are totally on point. I'm not sure it's for everyone, but it's been great for me and I've learned a shit tonne that I couldn't have learned anywhere else. I get exposure to so many successful companies at inflection points and they have to tell me everything. You don't get that from blogs or conferences or books where they only tell you what they want the public to hear. That said, at other points in my career I have been totally freelance, worked on a product team, and worked in an agency, and I would also say that each of those is hugely valuable and teaches you unique things. If I was advising a young and hungry tech worker, I would suggest they get a year or two of experience doing all four if they can.
- OneEyedRobot 5y agoI'll pitch in my own two cents. In the worlds I've worked in it would help a lot for every engineer to do a stint at a customer site. The bigger places I've worked for could have easily placed people with a customer for a while. It's remarkable how much stuff is designed by people who don't use it for a living, will never use it for a living.
- blitz_skull 5y agoCan anyone give examples of the real problems that you're solving? I've wanted to do software consultancy for a while but just don't know WHAT I'm solving. Code is easy—there's a tangible output. But what exactly IS consulting producing?
- MisterBastahrd 5y agoI think that should be flipped around: every consultant should do a stint as an engineer and be forced to manage another consultant's code for an extended period of time. Writing code from scratch is easy and takes little effort. Dealing with product manager expectations when you're boxed into a corner due to the lack of foresight by other devs is a whole other thing.
- xyzzy21 5y agoI agree they should try. Of course MOST will not succeed but that's the educational aspect of the experience. It's far harder than most would imagine. Yet the ONLY REASON 99% of engineers get paid and have their services valued is what is delivered to the customer in terms of value. Without that, engineers would be as non-essential as typists or any other declining job category. You efforts have NO INTRINSIC VALUE without that customer being willing to pay money for the results!! That is a reality and universal truth of economics - NOTHING has economic value UNTIL it is transacted for exchanged value. It is ONLY at that moment that the value is known. And even then the certainty of that value decays exponentially with time. After a few time constants/half lives, the value is again indeterminant because you don't know for sure if somone will commit to paying for your value again. It's always "What have you done lately?" combined with "What does the 'market' (i.e. any other individual or group of humans) think they are willing to commit to exchanging?" Commitment = Value. This is literally how bourses/exchanges work: they do nothing more than record what two parties have been willing to commit to in terms of item and price for the item, on an instantaneous and average basis over time. That's the low-level algorithm of all bourses (e.g. stock exchanges, bond exchanges, derivative exchanges, etc. - it's all ultimately negations between parties and explicit commitments to those trades). There is NOTHING "magical" about it - they are not mystical oracles of truth. But learning this directly is always more effective than being "told" what a thing is or how things work. Direct experience will responsibility (however short) will make you a better person and more aware of your own specialty. It also helps you know how to look out for yourself and when to say "no" and when to "walk away".
- captainredbeard 5y agoConsulting and contracting ingrains the opposite of "good" instincts for most product engineering. It makes money, it produces value for people, but it encourages throwaway behavior and activity which produces more hours than output (but not always).
- 74d-fe6-2c6 5y agomany if not most of the things I learned while working for a consulting company as a data engineer are of a kind I wish I wouldn't have to learn to begin with. it's basically a sped up course about how companies are through and through driven by egoism and cliques. so, it's useful. but sometimes I worry that staying longer in this business taints me for companies with actually ethical work ethics. but in Germany it's except for a job at FANGAM the only way to crack six digits as an IT guy.
- jedberg 5y agoThe author forgot one of the worst parts of consulting -- the frustration you feel when you make a recommendation and then get ignored. It can get really grating, especially when they call you back a year later when they are in trouble they could have avoided if they'd listened the first time.
- zachrip 5y agoThis sounds like a good thing though. Do you make more money if your clients make mistakes or if they are super successful?
- jedberg 5y agoOf course I'd make more if they make mistakes, but only in the short term. I'd rather have a long term reputation of solving the problem the first time, which would get more clients. Also it's the right thing to do -- set them up for success the first time, even if it means less money for me.
- kube-system 5y agoI agree that consulting experience is valuable, but I don't think that it's right for all engineers. The biggest difference in my experience is nothing to do with engineering, but that you're spending a lot more time wearing hats other than engineering. A business doesn't hire a consultant to write code -- they hire developers on contract to do that. They hire consultants to figure if/when/where/how to write the code, and to navigate their business politics/procedures/processes/compliance/etc. Heck, I've completed several consulting contracts where I didn't write a single line of code -- they ended up being 100% strategy, design, planning, etc. To do consulting successfully, you have to be in a mindset about solving business problems, regardless of what the resulting work looks like. For someone who wants to solve engineering problems, they might be highly disappointed (or ill-prepared) with what a consulting job entails.
- ljsocal 5y agoConsultants who have the ability to be selective about their clients and projects have the best chance of creating a satisfying work experience. It took me a while but when I got to the point where I could say "no, thank you!", it significantly improved my life.
- legerdemain 5y agoI did this for two years, working as a "forward-deployed engineer," also known as a "BD warfighter" at my company, doing post-sales support. I consider it time wasted. It made me a worse engineer. I was pressured to set clients up with unfinished bullshit products. I was pressured to set clients up with bullshit they didn't need. I was pressured to build solutions that weren't what the client wanted or needed. I'm sure there exists a happy ideal version of software consulting that could teach you all kinds of valuable lessons. My experience was very far from that happy ideal.
- GaryTang 5y agoI prefer to be employed by the government because then I don’t have to actually do any work.