Hacker News new | comments | show | ask | jobs | submit login
How I went from programming to consulting (2012) (kalzumeus.com)
780 points by putnam 6 months ago | hide | past | web | favorite | 472 comments



Perhaps other people here shared the same assumption that I did - that this essay was about moving from tech development as a contractor/employee to tech (development) consulting. It's not.

It's about moving from developing to marketing. There's nothing wrong with that, but it was a let-down to me to discover that the path to riches meant mingling with the group of people I tend to like the least in a company.

Also, I think it's fair to say that amongst departments in companies, marketing is much more likely to pay (and pay a lot) for a consultant, whereas IT is only likely to pay a lot for outside help when things are really, really desperate.

Marketing is seen as revenue generating, and at many places, IT and (ironically) product development are seen as cost centers.

This might as well have been an article about how to 100x your income by moving from your current job into a similar job in a fintech company. That's a bit like moving from serving tables at Denny's to Del Frisco's steakhouse. Most Denny's waiters are not prepared nor capable of making that transition.


If IT is really desperate, then even better! You need to frame it to the client in terms of what you are going to save them if they hire you. If they are up the creek without a paddle and everything is falling apart, then you can go to them and say "Fixing this will save you $X. I can do this for you, I've done this sort of thing before, here is a proposal, this will cost $Y".


How about if you invert it. If somebody came to you and asked for a system that can send emails when certain conditions are met in a database and track the results, would you assume that to write the program you would have to hang out with sales people? The actual work (in the two weeks to implement it) is development.


It's still fundamentally development for the marketing side of a business though, rather than development for the product side. I think the problem that people are struggling with is that they can't see how this information relates to them if they are software developers looking to do consulting work on software. Patrick's article really is from a marketing angle, even though there is a software development component to it.

That said, I think people are missing the key takeaway from the article. I think the most important thing in the article is right there in the heading "Clients Pay For Value, Not For Time". This is saying that you should frame your services in terms of a value proposition for the client. That is, how much money will you save them if they hire you to do X. Maybe X is "rewrite the backend to process transactions quicker" which will save them Y hours of compute time and reduce their AWS bill by Z a month.


If you're interested in value based pricing, Jonathan Stark has a pretty decent free ecourse on it: https://expensiveproblem.com/


That's awesome, thanks! The Freshbooks co-founder wrote something similar once too: https://www.freshbooks.com/ebooks/breaking-the-time-barrier


Let's not forget Alan Weiss, who started this whole 'value based' consulting business. https://www.alanweiss.com/


I loved Value Based Fees!


I second that emotion!


The actual work of being a lawyer is writing and talking, but just because you can write and talk doesn't mean you can be a lawyer.

Every client I've ever had has asked "how many hours?" And "how much per hour?"

If a restaurant wants to increase business by building a patio and they get a bid based with pricing based on increased business and not hours. They're gonna throw it away.

Patio11 was in a unique position to know more about how to increase the business's revenue better than the business. This is a very unique position and advice based on that position is not really relevant to the rest of us who aren't experts in internet marketing.


> Every client I've ever had has asked "how many hours?" And "how much per hour?"

That's when you explain you charge per project or per week instead of per hour, and the fee is based on value, because in the end they won't really care how many hours you spent as long as their problem is solved. (Similarly, if you _fail_ to solve their problem, they're not going to care how many hours you put in.)

I get this question from prospects too, and then I explain the above, and then we move on with the conversation.

And in my 4+ years of consulting, nobody's asked me _at the end_ of a project how many hours it took. At that point, as I said, it doesn't matter.


What type of consulting do you do? Do you do general custom dev work? Or something more specialized?


Thanks for the clarification, really this article had me confused. I was trying to 'extract' the bits that would bridge the technical side of things to the consulting side, but could not find it. Obviously now I realize he is talking about marketing. Nice read but unfortunately did not help/apply to me much.


Do you think that there are not engineering consultants making five figures a week?


I'm sure there are. But I doubt there are as many, because of the inclination of marketing people to be willing to pay for outside help vs engineering that tends to enjoy problem solving so much that they only ask for help when things are really bad. Also it's a numbers game - there are more marketing departments than engineering departments (across all business sectors).


Are you prepared or capable of making that transition?


I'm definitely not capable of doing what he does. Interacting with people is something I can do very, very well. But it costs me a huge amount of energy (introvert). And working with marketing/sales people takes more out of me than with any other segment of the population!

Regarding the Denny's -> Del Frisco's, that I could actually do well :). But that's because I have a special fondness for hospitality and providing people great experiences. I'd probably be foolish enough to open a restaurant someday, and I'd probably regret it later.


Before you get too tempted, read this: https://news.ycombinator.com/item?id=15658437


To this day, I'm still not quite clear about what a consultant actually does. I mean, beyond some vague idea ("goes to some company, talks with people, gives some recommendation"). I'd really love for someone to give some example or describe in a tangible way what the work of a consultant entails, what skills one typically needs and actually employs, what a typical gig looks like from beginning to end and so on.

If anyone here on HN could share some insights, I would highly appreciate it.


My modal engagement was with a SaaS company with $20 million a year sales, a few dozen employees, and 1~3 very strapped people wearing the marketing hat.

“How much email do you send?” “We have a newsletter.” “What else?” “Welcome to free trial email. “What else?” “Nothing.”

I write proposal.

You should:

1) Have a pre-sales drip campaign positioned as a “free course about X delivered over email” w/ 8 emails arriving over the course of a month. This will push people at purchasing the product in 2 of the emails.

2) You should email people 4 times during the trial depending on their level of engagement with it. Here’s a decision tree.

3) You should email people within 80% of their monthly quota offering a discount to move to the next higher plan.

4) You should email your entire userbase and upgrade as many as possible to annual billing for a 10% discount to the cost of their current plan.

You can tell your engineering team to do this for you, but there is 0% chance they schedule this because it is boring scutwork and they’d rather do those features you have scheduled this quarter. Or you can have me just do it. I need a commit bit and probably two weeks. It will cost you $30k per week.

Probabalistically this makes you $2 million in next 12 months but your results are your results; you keep all the upside and my invoice is due regardless.


That's a good example of a marketing consultant, but what about an engineering consultant? Would talking tech stack pros/cons pull in a similar rate?


It is weird how I get persistently drummed out of engineering because when I write cron jobs, SQL queries, and React dashboards I make special effort to connect them to business outcomes.

Businesses, to a first approximation, don’t care about their tech stack except to the extent that it drives business outcomes. Can you articulate those pros/cons in a way a business cares about? Can you impact your deliverables to reduced costs or (much better) increased revenue? Then you, too, can look forward to a bright future where HN tells you you’re not really an engineer anymore because your rates are too high.


Some folks get nervous when they have to justify the actual value of their work. Sometimes it’s because doing irrelevant work well or relevant work poorly. More often, I think the business impact connection is just difficult to make. The further you get from pure sales, the harder it is. Regardless, you should always consider answering this question as part of your job.


You really don't see why the example you gave above was marketing rather than engineering?

All of the recommendations you gave were related to selling the product, not improving it. That's not a bad thing; it just means it was a marketing consultation.


I think a clearer way to say what a lot of people are bothered by with that example is that in order to sell those recommendations you need:

a) to have a lot of marketing expertise

b) to be known well enough for your marketing expertise that people will take your suggestions as valid

Most tech people have neither one. Hell, most marketing people have neither one, half of the rest on my have b) but are actually incompetent in their recommendations, and only the last little bit have both.


Being a consultant is marketing, there is no way to be an engineering consultant. Engineers work for consultants, not as consultants.

If you want to make the big bucks, you have to do what businesses care about, not what you care about.


I've worked as a software engineering consultant. Sometimes I would do engagements that were just analysis and advice, but for most of them I would actually design or develop some software.


What was it like making the transition from software engineer to software engineering consultant?


I'll give you my perspective: it's tough. I tried to go from ML Engineer -> ML Consultant, and while I was able to find work at a reasonable rate, it was difficult, because most businesses don't have technical problems, they have business problems.

For instance, even though the root cause might be high latency, the actual problem is that the high latency is killing your retention.

If the business is sophisticated enough to value technical expertise, often they value it so much that they are willing to hire experts full-time, or they're so small that they can't afford to. So as a technical expert, you end up caught in a weird uncanny valley (in my experience). I think that patio11's advice is, as always, spot on here; the skills needed to become a technical consultant that charges $N/week are way higher than the technical skills needed to become a business consultant at $N/week, for any value of N. That isn't to say that technical skills aren't value, just that it's a tough sell to make, for a number of reasons that patio11, and others, have written at length about.


This is just a guess from what I've seen consultants contribute but there's usually some (at least the appearance of) low hanging fruit to cut costs on. Usually focuses on advice on how to get the AWS bill down.


Making the company money is the not the only factor is it? Any engineer at google/facebook/etc are probabilistically making the company multiple millions per year too (terrible estimate from revenue divided by headcount). But probably only a handful of them would ever be able to demand the rate you charge because they are replaceable.

How do you make sure the company won't just take your advice and hire a guy to do this for 90k/yr instead of letting you work on it for three weeks?


If they thought they could take a proposal and productionize it with someone available for hire at a total cost of $140k in their first year and that they’re capable of finding, closing, and managing that person then a) my blog is free and you’re welcome to it and b) they would have more than one email written. But for whatever reason they have not made that hire, as evidenced by having no emails actually traversing the interwebs.

People occasionally took my proposals and productionized them with existing or (much more annoyingly) new staff. Oh well. That’s one reason I charged what I charged; the sales process assumes 1 to 3 “actually nope we decided we don’t need you” per engagement which happens.


Great point - most people are not aware that finding good personnel to hire is like diving for pearls.


By far, the majority of consulting engagements I’ve seen or participated in (Big 4 and freelance) are things that could easily be done if the company hired a few folks, for much less pay than this. Simple number crunching, tedious paperwork review, trivial integrations/dev work.. I would hazard a guess that at least 50% of all enterprise consulting spend goes to these tasks.

However the indisputable fact is that these companies are willing to shell out for this stuff, whether because they think it’s temporary work (cheaper to hire Patrick than an FTE who you then have to keep paying or dispose of) or they’re paying for the top-of-Hill expertise (eg. paying a Big 4 where you get 10 hours of a partner’s time/expertise at 1k/hour and then 300 hours of 23yo grunt labor).


There could be a ton of reasons from covering one's behind to how things look on the books etc.


Who is the 23yo?


From the age - a fresh college graduate recruited into the consultancy employee/meat grinder.


Exactly. And not just one, each partner had a battalion of them.


Because they don't need a full time person to achieve the results and it would be silly to shell out more money and try to train somebody to do something that they've clearly failed to do in the past. If my car needs $1000 of repairs, I'm not going to shop around for a class to teach me how to repair cars - especially if, like your example, it costs more than just getting it fixed.


You don't. You just pick the ones that are in a hiring freeze or actually see the value of what you can demonstrably deliver in a quick turnaround time


I am curious how you even get into this type of work - how do you find the consulting opportunities in the first place? Do you seek out work somehow, or do you market and let the leads come to you?

Is it easier to work for a consulting company as an “employee” before venturing out alone?


Patrick talked about what he was doing so much on the internet so much that people knew he was good at it. He also talked about it at meet ups and conferences, first with other normal attendees and eventually on stage. Eventually some of those people offered him money to do it for them.

At first he undercharged, not as a tactic to start consulting but because he didn’t have confidence in what he was selling. I believe he started off at $5,000 and stopped consulting when he was charging $30,000 a week.

But most of his work came from pitching people. Write an email or make a call to a company that seems a good prospect and follow up. If five percent convert you’re doing pretty well. You also get referrals from previous satisfied customers.

As well as that Patrick wrote a lot on his website about what he did and how to do it, which functioned as a proof of competence and lead to some people contacting him to ask him to work for them. Authority, Nathan Barry, is all about this publicising proof of competence tactic.


Late to the party but I've written about what's worked for me for finding consulting clients: https://www.gkogan.co/blog/how-i-learned-to-get-consulting-l...


Thanks Patrick, for just planning out for me my workload for the next month or so!

> You should email people 4 times during the trial depending on their level of engagement with it. Here’s a decision tree.

Do you have a link to an example decision tree for a typical SaaS app?


If this is what a consultant is I don't want to be one, or maybe this example is very particular to sales/marketing. Or maybe this same example can be applied to several domains meaning that as a consultant you can solve companies problems depending on your already established expertise.


It’s the second one. If you have some expertise/ mastery of best practices in your area, then you can make a good living by implementing those things for organizations that would benefit from them, but don’t want to invest in staffing up that area permanently.

That’s consulting.


If what is what a consultant is?


For most enterprise software sales, who tend to deal in a few large customers rather than lots of small ones, almost all of this would be enormously counterproductive.


If you're a software company and you have only a few customers, then you're probably doing bespoke development (whether you call that consulting or not can be your own decision), not product sales.

The entire purpose of selling a product is to scale through volume rather than customization.

To me the big divide is how superlinear your revenue:employee ratio is. If it's linear or close to it, then you're a consulting org. You make money based on the hours of work you are able to bill for in one way or another. If it's a "product", but you as the product developer are doing heavy customization, then you've just transitioned from an hourly billing model to something resembling fixed bid, but with a fiction of a product in the mix.


I think you're missing parent's point. People don't buy enterprise software (six- and seven-figure annual licenses) from a 30-day email drip. Therefore, creating such an email drip for an enterprise software company would not have the same results as it would for a B2C/B2Dev SaaS.


I'm pretty well-qualified to answer this question :) I've done several marketing consulting gigs, including working with Patrick 6 years ago at WP Engine, where we were both consultants!

I am in the middle of another marketing consulting gig right now with a SaaS company. I was hired to help them drastically reduce their sales cycle. They sell to enterprise companies and the sales cycle takes forever.

I'm working on a new front-end website for them, with better copy, more testimonials, white papers/case studies, and a live demo of their product. (Today, potential customers have to request a demo--having people be able to see the product for themselves should shave at least a week off the sales cycle.)

I have both a technical background and a marketing background, so I can write both copy and code, though I'm stronger on the marketing side these days.

When I worked with Patrick at WP Engine, I was also lead on deploying a new front-end website, with a better tagline. My most important contribution there, though, was that I came up with the "10 sites for $99" pricing structure, which is a huge component of what made them so successful.

I am also working on a better pricing structure with my current consulting gig.

I spoke more about what I do for SaaS companies in this talk at Microconf: https://vimeo.com/72456666 (Notably, I did this talk, and it was posted here on HN, several months before pg wrote his "Do things that don't scale" blog post.)


Having been in a position where a consultant was foisted upon me by management, at several different companies, near as I can tell they are paid huge sums to restate what the team already knows and has been saying needs to be done. Only they provide it with an approach and language which management can understand.


In the case you mentioned, that's basically "credibility."

Although a lame story, Let's say you are responsible for initiating and managing a new software project in your company with complex bureaucracy and management. You have found that it is highly feasible to work with Agile methodology instead of Waterfall.

But Waterfall has been how the things had always been done, yet you know that the team is ready for Agile and project is an exact type of work that would benefit from some "lean" approaches. Worse still, management won't listen, also because "The Board" won't listen.

What you do is that you go to that well-known, highly-paid consultant, discuss the situation and he basically says, "OK, You are right. Also this and that."

Then in your presentation to the board while pitching Agile, you say, "Agile is the way to go. I asked Patrick Kalzumeus, and he said it was a good idea."

And that's it.

That "credibility" is one of many ways how a business consultant may "add value" to a highly organized company.


How do employees gain credibility that management and "The Board" will listen to, or is this question a dream?


I think it's more about getting a credible outside second opinion. for the same reasons you get a second opinion in medicine. It's less a judgement about a single source, than the requirement to have multiple sources.


Probably by assessing and presenting the cost/benefit analysis to management in a reliable, high quality, easy-to-understand way.


Sounds like a situation where there exists a fundamental absence of trust in the abilities of the team. That's... Probably not a good thing.


Beyond what taway20171214 said, don't discount the value of "language which management can understand". As I've moved up the ladder I've learned how extremely valuable this skill is and how woefully bad I am at it.


In my experience, "language that management can understand" just means focusing on answering the following questions:

1. What's the proposed issue/improvement?

2. What are the recommended options?

3. How much time will it take to get done?

In other words, all you really need to communicate is why we're doing it, and when it will be done.

In my experience, they're not interested in challenges faced in implementation. Keep things simple, and deliver on time, and you'll be speaking the "language which management can understand". That's basically all there is to it.


Depends on how high up the ladder the management is you're talking to.

Your line manager may be interested in a technical issue / improvement and understand its value without further explanation -- for instance, we're using a brute force algorithm that takes exponential time to foo the bar in the Baz module. It's got test coverage and the problem has a known logarithmic solution, so we could rewrite that in a week to be more efficient, and still be confident it's accurate.

Your department head may be willing to consider fixing a problem that affects efficiency or security or expected timelines -- we've identified the likely cause of at least one class of those outage events you've raised concerns about. If you want to fix it immediately, we would have to push back delivery of the Quux feature by a week while we rewrite a portion of the Baz application, but other risks are minimal.

The C-suite is mostly interested in problems/solutions framed as "how does this save us money" or "how does this make us money" -- we intend to invest a week in technical maintenance work that will allow us to save 25% of our monthly hosting costs by scaling back hardware requirements, and reduce the frequency of outage events that we have to pay out for on under our SLAs by 75%. That would cost $10,000 in developer time and delay our product schedule by a small though measurable amount, but I estimate it would save us an average of $48,000/year in costs.


Exactly.

The other piece I've seen is being able to handle "I want Foo by X". It's easy to take on the engineer mindset and say "Sorry, that's not possible. The whizbangs alone would take more than that time!", but what do you do when they simply repeat "I want Foo by X"?. Picture the various Star Trek series where the engineer would say it'd take 5 hours to fix something and the captain retorts "you have 2". It's real.

The skill which really makes me jealous are the folks who are able to read between the lines and get at why they want Foo and why they need it by X. Instead of saying "Sorry, no can do!" they're able to offer Bar instead, and because they understand the deeper motivations of why Foo is being requested they understand why the manager is likely to accept Bar instead of Baz.

This is pretty similar to your C-suite descriptions, now that I reread it. But it's a different spin on it.


I agree - the why skill is crucial and difficult. I won't claim to be any good at it (it's actually one of the things my current manager excels at intuiting and I want to learn from him).

One tactic I can suggest (if your manager isn't a totally unreasonable cartoon tyrant) is to simply be explicit about it and ask "can you explain more about why you need Foo?" and then "what's driving the deadline of X?" Understanding the business case is generally necessary - though not always sufficient - for coming up with an alternative solution.

I suspect that part of the gap between people who are and are not good at this is how well apprised they are of the general conditions, initiatives in other departments/teams, and short-term strategic goals of the company.

Some of that is on the person who may or may not put in the effort to remain informed; and some of that is on the company's management that may do a good or a poor job of communicating those things proactively between departments/teams and from senior management down to junior management and line workers.


All true statements. I've been working at it, but then I watch my boss who is also excellent at it, and I realize I'm a novice still. In comparison I just get frustrated and wind up frustrating them as well.


I wish I could upvote your comment several times over, thank you! As a [very] new development manager who has been a software engineer for many years, it is this kind of detail aggregation that I find difficult to really understand automatically (as in, I can do it, but it's hard to translate engineering-level detail on the fly without sounding kind of dumb, IMO).


> "Depends on how high up the ladder the management is you're talking to."

Depends on the individual, not on the job title. In my experience, managers of any level value information as simply put as possible. If they ask questions, then you answer them, but otherwise just tell them what they need to know.


What do you do now?


Right now I'm in that limbo zone between coder who manages and manager who codes


that's a management consultant, and the reason they're hired is to provide cover and credibility for both management and your technology team.

i.e., "the expensive consultant said it was okay, so don't fire anyone in management, or our technology team, if it goes sideways."

in other words, they're actually helping you do your job because they can compare your recommendation to other companies and teams in the industry and make sure everyone is doing things sanely. in your case, you were smart, and made the right recommendation, so they agreed with you. good job, you're competent, and aren't putting an established company into a risky situation like you would at a startup, which generally does not hire consultants, because they have nothing to lose and everything to gain.

you probably didn't see it that way, i'm guessing.


The issue you're overlooking is that these management consultants are being paid large fees for information that a company can get for free just by listening to their existing employees. However, that's not a slight on the management consultants themselves (nice work if you can get it), but is a slight on companies that don't trust that their employees can give them sound advice. Problems at the ground level are going to become apparent earliest to those working at that level, if you ignore that feedback you're potentially throwing away valuable information.


As GP stated, this is not about (not) believing your employees, this is about risk management. In many cases it is justified - do you really want to run your company based on everything your employees come up with? Sometimes you need to check if their instincts are right, especially for decisions that have huge impact on your business. Price for consultants, while it might seem high to you, is actually pretty low compared to business values. Look at it as a kind of insurance.


How do the companies know that they can trust their employees?


How do they know they can trust the consultant?

(More seriously, being unable to trust your employees to give useful feedback is a sign that your culture is a disaster)


They diff the output of the consultant against that of the employee. Trust, but verify.


They must trust them enough to employ them. Even if they don't think any single person they employ has "all the answers", if you listen to feedback from your employees you can get a sense of trends. Furthermore, these observations should be something verifiable. You're asking for concrete feedback on issues, not vague comments about what's wrong.


Does something like that exist for software consulting?


I have done similar work.

I was hired to come in and assess the software that they were developing - they were working with some contractors, some vendors, and a smattering of other people, and wanted to know if their current method was working, how to address some concerns they had, and whether their current vendor was doing a good job.

I discussed it extensively with them, looked over the code and repositories, their current deployment, their backlog, looked at their priorities and basically told them "They seem like they are doing a good job, with the caveat that using contractors and vendors means you will never develop those skills in house, so I would hire at least one competent programmer internally to work with the vendors/contractors you hire, in order to develop that expertise, if you intend to use custom software as a core part of your business on a continuing basis".

This was conveyed via a written report with citations and via a meeting with the C-level executives of the company.

For this review and strategic suggestions they paid me about $1200 for an afternoon's work. That doesn't count time that went into acquiring the gig, scheduling, following up, or billing, just billable hours.


It's the sanity check that some managers/ higher up people want... Expert = someone who doesn't work here (from a non dev upper management perspective)


Yes, I am not sure how common are those gigs, but I did quite a few projects in development agency. It was usually in situations when projects went bad, I had to examine code structure and timelines to see why it went this way.


The two things I found (can be positive or negative), is that the consultant isn't tied to the familial expectation of employees at a company giving them more freedom, and they typically don't have much stake (except fees). This means that given the right consultant and party seeking services, the consultant may provide contrarian point of views that don't hold as much baggage.

Probably most important is the the company externalizes the decision so there is less internal responsibility.


Consultants don't provide contrarian point of views, they provide the point of view that the client wants to hear.

If a client is uncertain about something and feels risks, you could be contrarian but otherwise no.


Were you the consultant in this case?


In my experience, the answer is pretty much anything they can get paid for. For example, we hired a big 4 consulting firm to help us do some software testing. They were not great, but did something (I'm not sure what exactly, but they did produce some reports). We hired the same big 4 firm to come up with an algorithm for reducing financial risk weighted assets, and guess what, some guys from the testing team turned up! I was surprised, as there was no obvious crossover (and the lack of knowledge showed)! Anyway, the partner convinced us they'd do a good job so we played along for a bit. During this exercise, the guys did everything from manually typing in data to making a few spreadsheets to providing some opinion on financial rules and methodology. In the end, it was obvious they'd do almost anything (short of cleaning the toilets) to increase their billable hours. So you right to be confused, as the definition is flaky at best! Also, most consultants add very little value (especially big 4 firms), but every so often you do meet a superstar that's worth every penny.


Depends, there are many ways of doing consultancy.

I do enterprise software consultancy, which means that those big companies that don't think twice about buying Oracle or Visual Studio Ultimate, hire companies like my employer to come in and develop software for them, instead of having an internal R&D department.

Usually because for those companies software is a by product, something that they need for their real business, the one that they earn money with.

Then you have business consultants, than come in, evaluate the current set of working processes and provide optimization guidelines based on a specific set of targets.

There are other variations.


What's preventing a software developer from doing enterprise software consulting?


Pretty much nothing except what tools/companies they're working with.

You're a software consultant working with an enterprise company? Congrats, you're an enterprise software consultant.


Depends on what they are consulting on.

I know that places I've worked have had management consultants, who came in, worked with our teams for a few sessions, and wrote us up some recommendations as to how we could better work together.

We also hired DB Performance consultants, who came in and helped us optimize some gnarly queries and do a DB "Double check" to verify that the path we were on was good.

Another time we hired a pricing consultant, who helped us come up with a strategy to change our pricing and avoid pitfalls.

Basically, They are subject matter experts who may come in and actually be on-demand teachers in my experience.


I think a consultant in this context means a programmer with valuable experience in a particular domain. In Patrick's case it's sales funnel optimization. I do a lot of fisheries data work. The work done is usually based around a deliverable, and that can be anything from a written recommendation to a turn-key, green field system. You're a contractor with some specialized experience that somebody values more highly than software development alone.


This exactly describes my position as a software consultant.

> can be anything from a written recommendation to a turn-key, green field system.

Sometimes, we are there:

- to propose a set of tools or architecture.

- to migrate legacy systems.

- as staff aug (AKA "butts in seats").

- to do green field development.

Usually, it's some combination.

> contractor with some specialized experience that somebody values more highly than software development alone.

At least in our group, we definitely distinguish ourselves as different from contractors. At our core, we can do the contract work (and often do), but we also help out with the business side of things. Basically, we are contractors who know how to interface the technical side of things with the core business.

Oftentimes, we end up at a client who knows they want to build a system to help them do a thing, but that's step 10. They might know steps 1-3, but need our help figuring out and accomplishing steps 4-7 (e.g. defining actual requirements, organizing a good dev team, etc.).

EDIT: formatting.


What is the value of the deliverable? Can you easily leverage your value?


The simplest answer I like is:

Employee: Does what the boss says, and works when the boss wants them to work.

Contractor: Does what the client asks them to do, but has the flexibility to do it on their own schedule and according to their own way. In the US, the IRS may want to reclassify you as an employee if you dictate too much of how the work is done.

Consultant: They review what the client is doing and recommends what they should be doing, often performing that work too. The key difference to me is the client accepts they may not be the most knowledgeable in what change they want to make.

To give examples for programmers:

Employee: works on a app in the office from 9-5 adding the features requested.

Contractor: adds requested features to the app.

Consultant: reviews the app and proposes some features to add.


A consultant do the exact same work that you do, except he's paid a multiple of you and doesn't get company benefits.


Can a consultant do any kind/type of work?


Yes. "Consultant" seems to be essentially synonymous with "contractor" or "freelancer".

They come in to do a specific job, then leave.


Consultant is simply perceived higher value than freelancer or contractor.

Since I started selling myself as a "Mobile Consultant" I made significantly more money than selling myself as a "Front-End Developer", "Freelance Developer" or such.

Seemingly it's all in the wording these days.


It was always in the wording :)


"Freelance" is the offshore developers on elance.com working for a dollar an hour and the students working after class for free who are desperate to get experience.

"contractor" is the replacement status for permanent employees. They are outside of normal payroll and company benefits, they usually do 1 to 6 months repeatable contracts.

"consultants" is the experienced people who need to be called by up-the-chain to perform important matters and take critical decisions.


Or, you tell contractors what to do, but consultants tell you what to do.


Mostly it's a mix.


I am a consultant and yet distinct from a contractor or a freelancer.

I am not a freelancer because I work for a larger company.

I am not a contractor because, while that is a good chunk of what I do, I provide more than just software development. Oftentimes, I end up working with clients to actually determine what they need and how to build it. Then I help build it. Contractors typically just build it.


Back at university I had a chance to attend a guest lecture given by chairman of huge public telco company and he stated something like "you are not paying consultants to bring new ideas, but to let them sign your ideas so in case something went wrong you have somebody to blame".

Of course, this was different type of consulting than what Patio11 did, but there are a lot of different kind of consultants.


my friend just transitioned and his way was actually quite ingenious. He worked with someone who went to a different company, and that person tried to bring him on as full time role. He interviewed and got the offer but instead of taking it, he proposed that he will develop this whole thing on his own time for $x. Since he had enough good reputation for delivering he got the contract and the company even worked with him on setting up the payment via intermediary consulting firm until he had his own system setup for that (this will vary from company to company depending on their list of approved vendors etc). They initially let him work out of their space but he eventually rented a co-working office. It's been over a year and the relationship is working out, and he's hired a team in Argentina that he manages and keeps taking on more work. The pre-requisite here was that he had good reputation in his old co, but I would guess that having people like/respect your work is a good indicator of if you should start consulting in the first place.


Consulting is a bit too broad of a concept to provide a "what does a consultant actually do" definition. Anything that people will pay you to tell them or do for them without making you their direct employee is, technically speaking, consulting them.

For example: reviewing someone's database configuration and providing general recommendations for improvement is consultation, but so is directly modifying those settings for them and not actually telling them what changed. The expectations and deliverables are set by agreement between the consultant and the consultee.


You tell whoever hired you whatever they want to hear, and if their/your plan goes wrong they get to blame the consultant. If things go well, they take the credit. It's a win win because the consultant gets paid either way.


Consulting refers to advising the executive branch of a company. So one key ingredient it requires is experience (that the client company lacks), and the ability to communicate (in business/cash-flow terms) why the advice you are giving is superior to the company's current strategy. Obviously, it is necessary that you then can "make it happen", too. The "advice giving" typically happens before you are hired to get the "foot in the door", while the implementation is what you get paid for. I think the German term is more precise: "Unternehmensberater", that is, "company advisor". Anything lesser is just work-for-hire, with a cute title.


English has a word for Unternehmensberater, it’s strategy consulting. The very highly paid temporary experts are operational consultants. The ones in the middle are management consultants.

The top global management consultancy firms are McKinsey, Bain and Boston Consulting Group.


In germany the better term and profession (for the tax office) is "system software consultant". Because this is a free profession, in contrast to other consultants who are non-free trade "gewerbe" with additional mandatory taxes and what else. E.g. application SW consultant, strategy consultant or just consultant is non-free.


Yeah, there is a bunch of "xyz consultant" titles floating around in English. Executive, corporate, or financial consultant are some more. For the English titles, the distinction seems to be that the "management consultant" is the (more wages-level payed) work-for-hire guy.


Provide cover for the executives to do things that may not be liked by employees be that because employees suggested ( but were not convincing enough) those changes early on and the leadership wants to save face, be that because the existing processes used do not work for the next stage of the company but cannot be changed due to how those changes would affect existing business lines or be that because the employees aren't really qualified to perform those changes.

The most important part to realize is that a consultant is a vendor and as such certain policies that the company has may not apply.


Limiting what we think a consultant is to technology is too narrow. There is a long history of consultative practice in organizational development and the best consultants are invaluable.

For some further research, read up on "process consulting"[1], for example.

True consulting is almost like being a psychologist for an organization. Technology consulting varies, but true technology consultants are not technology specific, they are more like experts in knowing how organizations use systems and technology and assisting organizations with technology selection, architecture, hiring, training, organizational development, change, politics, psychology and/or complex situations that require additional outside expertise or brainpower.

I think a good example where technology and business consulting intersect is data warehouse consulting. If you have or want an enterprise data warehouse, you need likely need dimensional modeling. Dimensional modeling is a technique not a specific technology, many organizations don't have specialists with that knowledge. The best data warehousing consultants I have seen will come in when requested, determine the organizational situation through observation, propose a conceptual solution in concert with the organization, designed to fit the way the organization works, help with training staff on necessary techniques (such as dimensional modeling, if the organization chose to adapt it), and act as an expert for tough questions during implementation and after. Assist the organization with identifying data warehouse technology solution options that fit the need and budget, staff and skills, data migration, etc. as needed and desired by the org.

I think one key difference between a consultant and a contractor is, a consultant is more like an architect/engineer advisor "thinker and recommender", but a contractor is often more like the engineer/builder "thinker and do-er". Both are external experience for hire. Of course you get blends/crossover people who are both.

I also think consulting is more prevalent when there are a smaller pool of people with knowledge and experience that needs to be shared. Scarcity of skill creates demand that requires compensation due to competition for that limited resource.

Skills wise, I think you need a mix of soft skills and specialized knowledge in such an area, combined with the ability to communicate, market, network and run a business. Education -wise, I have a degree in information systems and one in organizational studies. I think combining organizational studies plus any specialty area is a great combination. You can also achieve this through an MBA+specialty area.

[1] https://en.m.wikipedia.org/wiki/Process_consultant


Obviously it varies, but usually there is an element of papering over management problems, under the guise of actually fixing anything. Watch House of Lies on Showtime...


I'm a cryptography/security consultant, here's the kind of things I do. Hope that helps :)

* I get on calls with potential clients to see if we can solve one of their needs. Their needs can be broad: auditing code or specific implementations; reading and vetting pages of protocol design; advising on third party products or libraries; documenting the risk of the latest X attack... Sometimes I can do it, sometimes someone else should do it, sometimes no-one can do it.

* If nobody can do it but it's an interesting problem and it's relatively reasonable to tackle I (or someone else) will spend X weeks researching the subject so that we can provide the service in the future. We've done this with ethereum smart contracts recently for example (it's been pretty fruitful and I'll be giving a talk at Black Hat Asia in a few months on the subject).

* When the job starts, I'll be talking to the client to make sure we're on the same page, see what kind of claims they want to make, what they're more scared of, etc... This helps a lot, but of course the client is not always right or not always aware of what might go wrong. Most often companies do not even have a threat model and have no idea what they should really defend against.

* Most of my engagement are remote, but depending on the field you might have to go on-site. In any case, you always try to be close to the client so that you can get responses relatively fast (consulting is expensive, you don't want to lose your time trying to find answers they can provide). (Unfortunately it is not always possible as some of them are really busy or just do not want to spend the time answering questions.)

* Whatever the type of job is, you always spend a few days internalizing everything you're reading or hearing (I call that drowning). You try to get an idea of what the product/protocol/solution/app is (if it's your first time working on it), you read papers or articles about it if you're rusty/missing some pieces, you go through the codebase and ask questions to see what is what and what is where.

* Then you dig in, you do what you're best at. In security/cryptography we try to break things, find gotchas, discover flaws :)

* Eventually, you need to provide some product to the client. It is often some document or a presentation (or both) of your findings. You want your client to understand what you did, like really, this is after all the product they're paying for. You also want to give out recommendations on how they can fix things, sometimes you will want to fix things yourself as well. It all depends on what you can do or what the client wants you to do (if you agree).

Anyway, these are my 2 cents. It's a field that mingles expertise with client satisfaction. You need to know something that can help one or several of their problems, and then you need to do your best to convey your explanations.

(I just wrote this huge comment because I felt inspired after reading a large 2000 day-old tptacek comment.)


I have an Internet buddy in Chicago named Thomas Ptacek. [...] I decided to invite Thomas out to coffee.

At the end of the conversation, Thomas said something which, no exaggeration, changed my life.

Thomas: Some food for thought: If this hadn't been a coffee date, but rather a consulting engagement, I'd be writing you a check right now.

Me: Three hours at $100 an hour or whatever an intermediate programmer is worth would only be $300. Why worry about that?

Thomas: I got at least $15,000 of value out of this conversation.

Does this really happen in real life?


For those saying this doesn't happen any more... it still can, and does. However, the bigger issue most people face is finding those people who can actually get that sort of value from our knowledge/skills/etc.

I can give the same info to 2 companies, and one can make several hundred thousand dollars (in savings, new sales, etc). The other may not even be operating at a scale where they'll see $10k in increased value, even doing the 'same' thing the other company did.

Determining who those companies are, then connecting with the appropriate people, that is still the hard part. Meeting someone for coffee, giving them $15k in 'value' from a conversation... probably does happen now and then. I don't think many 'consulting engagements' actually happen at a coffee shop for an hour or two ending with a $15k check being handed over, however. (but maybe I'm too cynical and it does happen a lot)


The weird thing with consulting (in my experience) is that a customer almost never knows how capable they are of effectively using a consultant's time and output.

"Okay, we signed a one month consulting engagement, starting Tuesday." Consultant(s) show up on Tuesday, no db's or credentials have been set up, everyone seems surprised they're there.

It consistently amazed me how much consultant time companies waste. When if all of this had been ready, I could have delivered much more value by the end date.

And then same problem with actually using any work produced.

I'd estimate the effective-ineffective customer split is somewhere around 30-70.


100%. I work in consulting, and we spend a lot of time trying to find ways to do this better. But no amount of clearly documented prerequisites, checkpoint meetings to try to make sure they'll be ready before kickoff, or anything else consistently works. In my experience, we often lose 1+ week due to the customer not being ready even though they have acknowledged the prerequisites.

I think it comes down to priorities, and the fire in front of you always has higher priority. That means that onboarding and prereqs are not the priority until the consultants show up on-site and you are paying for them to find other things to do while waiting for the real project to start. Then it is a fire, and everyone starts moving with purpose.


Spot on. I've been in some situations where I've been 'hired', but the people I have to work with didn't know, or didn't want me there, or were generally antagonistic (usually they weren't consulted at all). Client may end up paying the bill, but they're getting so little value out of what I've done it's... painful. But it's often painful just to be working at some of those companies too (whether as insider or outsider).


How does it usually work out in the end? Does that hurt you in the sense that they'll blame you anyway, or help because you got more hours in.

Not a consultant but would list or report what time was spent on and they'd see line items like "waited on having accounts set up by IT for 2 days"


I don't always keep detailed time logs, but would take notes on situations like that, where there were significant delays caused by something outside my control. Not showing up on an invoice, but using those notes, I'd have a meeting with someone higher up (if there was no traction from trying to work with the people on the ground).

In most cases, those situations haven't worked out well, but it seems nothing does. There's sometimes some cult of personality - "do it Dave's way", etc. To which the logical question "if Dave's way is so good, why are things broken and people are bringing in outside help to fix things?" If you can't ask that sort of question and get a good feel up front, it may be worth skipping the project (unless they pay is really good - I've usually put up with more crap than I suggest other people do because I wanted/needed the money)


I've learned to always keep such logs, in some gigs even down to minutes.

They can come really handy if the fire brigade comes in when invoices start getting discussed.


Some projects I do want some product I don't. If I think at the very beginning that I have to do that, I'm already thinking I'm in a potentially bad/adversarial project.


Always good to keep notes on things like this (noted at the time each issue appears).

Always better that they never have to be formally given to the customer.


In the end you get paid as usual.

The company didn't get much value but they probably don't get much value out of their employees or anything they do. Doesn't matter, you are not here to change the world, they don't want you to change their world.


this is another reason weekly billing works in everyone’s favor. in the former ex, the customer would not lose with hourly billing. with weekly billing they become very motivated to resolve hurdles to your success


Depends. I’ve been in situations where we billed time that was essentially just waiting on the client to do something because our business is selling time and if we weren’t committed to that client’s project we would have started on a different client’s project. In these situations I would however look for _something_ useful to that client to have our team work on in the meantime, since billing for playing ping pong seems unethical.


Why do you think this happens?


My gut is it's a combination of things.

1) The decision to hire a consultant is (in most orgs) made at a level abstracted from day to day operations. So the person hiring you may simply not know what needs to be done.

2) The consultant's patron didn't take the time to get buy-in from all necessary stakeholders. This happens a lot at the VP level. You may have absolute commitment from your project's VP, but when you need resources from another part of the organization this turns into "what's that person's VP's relationship with my VP." Which may be great, or may be terrible. Navigating office politics to aid a project's success is 10-25% of being a successful consultant (result wise).

3) Inconvenience to ongoing work. I know if someone failed to loop me in and introduced a stranger to me on Tuesday, then asked me to do something that impacted my ability to do the work I already had scheduled, I wouldn't be overly happy.

4) Poor IAM (identity and access management) discipline and IT organizational structure. Consultant access and timelines are normally very different than new hires / "business as usual". The client may not be able (technically, process wise) to successfully complete an ad hoc request on an accelerated timescale.


This has happened to me as well. It's because whoever hired the consultant hadn't forced anyone to do those tasks. It's their own fault really. I recently did some consulting for a Veeam configuration and it took a good 12 hours to get them to set me up a VPN and get access to all the servers I needed to review their setup. Should have been ready from the get-go.


Do you think they cared that you spent 12 hours on setup?


Of course not!

If they cared, it would be handled or they wouldn't use consultants.


I'd put a caveat on that where they care if it makes them look bad. If it's readily apparent that your patron dropped the ball in prep (either through incompetence or simply ignorance), then that can be a very bad round of the blame game.

This is where providing transparency and insight (in a "how can we fix this?" way) up to management can help engagements go more smoothly. If everyone was aware from the first that "that QWSV system access issue" has been impacting the projects for weeks, that's much better than "the project is weeks behind" being communicated up at a random status meeting.


As a consultant, point out to your sponsor that access is not ready and it will take a few days (of the one week contract). That's all you are required to do.

I wouldn't advise to participate in the blame game or to point fingers. You are not here to cause troubles and trouble is bad for repeat business.

P.S. Organizations are dysfunctional and the majority of consulting time is wasted. Lesson one of being a consultant is to live with it. :D


Agreed. If avoidable, never point fingers.

But if shit really hits the fan, at some point management will be asking "Who was supposed to do this?" And between that and the finger possibily being pointed at you... soft skills in handling politically tense situations well are useful.


People, and particularly people in large organizations, are often highly inefficient and disorganized, even when being that way costs their employer $$


No. The market is too efficient now, the information too commoditized.

In order to charge that much as a consultant you would have to have a very particular set of skills, skills that you acquired over a very long career.


Do you know this from first hand experience? I used to know a guy who made around $5000 a day. His main skill seemed to be that he had the ability to talk to CEOs in their own language. Once you are on that level a $50000 consulting engagement is not much money.


Was he a programmer?


He used to be but then he advised on enterprise software like SAP and Salesforce.


I know a guy like this. He ended up a VP at a big company like Salesforce a few years ago, got laid off spent a year and a half blowing money on drugs and women. Came back and fudged his LinkedIn / resume to make it look like he was a consultant those years (no months only years on his LinkedIn) some company is back to paying him 300-500k salary. It mostly seems to be about selling yourself hard and interviewing a lot until you find the sucker who is desperate enough to hire you. Another thing he did when he was originally getting hired was to start a MBA class in a small town and never finish it so that while he was applying he could say he was getting his MBA. He does SAP and such. Not a route a lot of people will want to take.


Just to be clear: the guy I am talking about is very smart, knows his stuff and has a lot of integrity. My point is that the main factor that allows him to make the big money is not his technical skills but his ability to talk to people at all levels. Technical skills are needed but not sufficient.


VPs don't usually get "laid off"... they get fired, although it's almost always sold as a "mutual decision".


I can't imagine why such a standup guy would tell his acquaintances he was "laid off" haha


They also often have golden parachutes. :)


What does talk to a CEO in their own language even mean? That he knows typical MBA jargon and concepts? Anybody can learn to talk and think like a CEO by picking up a few DIY MBA books. You have likely misjudged his actual skill.


I don't have the ability to meet a CEO at a convention, strike up a conversation and keep them interested. This is not only about knowing MBA jargon. It's about manners and other things.

In corporations you see the same thing. Some guys meet the big VP and make a lasting impression while most others don't. This is not about skills or knowledge but about the way you talk and behave.


This is just networking skill, which is essential for anyone who plans to be a consultant as a career. After everyone has been introduced and become friends, you need to actually deliver some useful insight.


If networking skills come that easily to you you will have a golden future ahead of you.


No it’s about experience, skills and knowledge. If you were a VP at a prominent company, that says you know what you are talking about. The CEO or VPs at a smaller company automatically view you as a peer, or superior.

Actually knowing what you are talking about is the key to making the business last.


That he can explain things to and convince CEOs. That he seems credible, but comprehensible to them.


I think it is more than only words. I think it is about being able to sell, gain trust and establish clear expectations.


Would that all of us could be Liam Neeson.


Do you have those skills?


All my skills are not unique, and you could probably find someone else who has them, except for one skill which I am almost certain I am currently the best in the entire world at.


Pray, do tell what this one skill is


People on my linkedin talk to each other that way. It's bizarre how wannabe "coaches" talk.


As a budding freelancer, I will try to have a talk about the value I bring instead of rate per hour. My point is while it might not happen that a business owner tells you how much value he got out of you, you now know that's what he thinks and charge accordingly.


You have to be able to size up their market, their company, some idea of sales/volume/revenue/etc. Sometimes it's easy to ballpark, perhaps based on headcount (even assuming part time workers, you could probably ballpark $50k per person - a 50 person company would be grossing ~$3m/year just to stay open in the US, I'd think, but in most cases it would probably be 50-100% more than that, depending on industry, location and type of workforce).

Looking at a small company that's pulling in $500k, there's almost no way anything you do for them service-wise would be worth $300k to them (short of you taking over operations or similar). For a company pulling in $50m, there's almost certainly $300k of value you could bring to some department, doing probably the exact same work you might do for the $500k company.


Cool thanks. My first client told me their sales is mid hundred millions CAD. And they are expanding into other industries that require my skills. So in all likelihood their revenue will go up. I guess I was lucky by finding them without screening them. I will keep an eye for that in the future, thanks.


How do you find your clients? How did you find this client?


Well this is my first client. And I found them by applying on a website for local consultants.


Is it working for you?


I found a client in one week. I have no portfolio but have worked at a local online ERP company for one year. And before that finished university in CS. Headhunters was not the way for me. Nor the big websites for freelancers. I found a website for freelancers in my region and applied to two projects. Got one. But went in with a hourly rate.


While it definitely sounds a bit forced to me too, but we are talking about nerds talking (ha!) here.

Have you ever heard yourself and your tech colleagues talk? :P


Well it seems straightforward to me. Efficient.


Yes. I've had friendly conversations turn into paid consulting work because, "Then we will pay more attention."


What do you think new freelancers and consultants get stuck on that limits their success?


The key is to have people you've worked with who can bring you in to their org and vouch for you.


You have never converted a cold client? Has anyone done this before?


I haven’t needed to yet. Much harder if your reputation doesn’t precede you. Think about applying for a full time job. How much does it help having someone internal who can vouch for you to HR and the hiring manager? Consulting is no different.


To some people, probably.

I'd wager most people don't have someone like tptacek as an internet buddy or knowledge that would interest them, though. They literally mentioned HN karma rank titles... so much for fake internet points? Does this sound odd to anyone else or just me?

There's likely some small percentage of people who can go on to do consulting and charge lots of money. That this applies to a greater amount of people remains to be seen and is not proven by this post.


"Internet buddy" can be as simple as emailing someone with a question. Someone once emailed me with a question about a talk I gave at a conference. A few years later we ran into each other—he was working for a major client of my employer and I was asked to give them a technical presentation, neither of us knowing that we were about to run into each other.

Most people are too afraid to cold-intro themselves. Just send an email, worst someone can do is ignore it.

FWIW, I emailed Patrick, author of TFA, a couple years ago with a question and he helped me out. Then last month I emailed him again and we met up for coffee in Tokyo. Just email someone you'd like to meet and ask.


I don't know what this even means. I think Patrick and I might have exchanged a total of one (1) super secret Internet friends secret messages before we met for coffee and me and Cory kidnapped him for the day. If you're in Chicago and you haven't made a hobby out of calling me an NSA shill (or if you can credibly claim that you've done so only out of irony), we're "internet friends" enough that I'll grab coffee if you have something you want to talk about.


I guess I had higher expectation for the term "internet buddy" than what is used here. I generally figured it's a term implying some familiarity, and that getting emails from randoms is unwelcome. But perhaps the other commenter makes a good point regarding cold-introing. I always read various people say "I get thousands of emails..." and assume there's no reason for them to read mine.

I don't think I ever called you an NSA shill, although I did commit the grave offense of suggesting that Firefox is a secure browser, which I imagine is even worse. :P

Sadly, I'm pretty far away from Chicago and likely will be in the foreseeable future.


Is there a karma limit for this?

I go up to Chicago every once in a while to visit a childhood friend and would love to ask you some questions about consulting/bounce an interviewing app off you over coffee.


If you want tptacek as an internet friend my advice is to email him.

If you are physically proximate to him he’ll buy you a coffee. Pretty cheap price to pay for a new internet friend.

I’ll also suggest to you that Patrick (nor any of Thomas’ successful friends) is successful cause he figured out how to turn HN karma into gold (I’d bet Patrick would say HN karma all represents wasted opportunities for your own content).


Value received (perceived or real) does not necessarily equate to the amount of real dollars a customer would have been otherwise willing to pay.


Yes.

But there are different levels.

You don't have to be good enough to convince the CEO of Microsoft to make good money.

There are many many more small companies that still can give you good money and are more easily convinced.


Yes, it did. I know both of them and have heard the story from both.


Addressing several of the threads here:

If you're doing contract development that can be done half as well for a quarter of the cost by an offshore team, you are not doing consulting. You are competing in an arena that you will never be able to win.

If you want to consult for good money, you have to create your market and you have to have the confidence of that market. You have to be able to give C-level execs advice that they want in a language they understand to solve the problems that they deem important. The vertical market is just as important as the horizontal one. In other words, a CRM expert is generally valuable. A CRM expert that can provide technical, management, and executive strategy solutions in the healthcare space is extraordinarily valuable. The very strong technical guy can be worth $2-300 an hour if he knows the right software and knows enough to put himself in the right position. The vendor that has brand recognition and a consulting team built around their product is worth more. The consultant who knows the ins and outs of the vendor relationships and how they fit into the big picture of solving the customer relationship problem and can throw together a comprehensive multi-year strategy that differentiates the client from their competition and will have a positive effect on the stock and market position is the consultant that makes good money.

You don't get to be that guy by being the best developer or by having a history at one of the big three. You work your way up the ladder, make a difference, and then offer that difference to someone in a parallel position. You build out a team, a strategy, and a marketing plan that puts you in a position to drive.


Writing software that is half the quality is a recipe for disaster. I’m managing a team of remote offshore developers who assured me they had lots of ‘corporate development’ experience. In the early days we rejected about 80% of the code they wrote. One guy added 100 lines to a React reducer that we ended up doing in two lines of code.


Sure it is. I don't disagree for a second. But there is no shortage of sales people that will promise things they can't deliver very effectively to decision makers.

CIOs, CTOs, and CEOs are not stupid. More often than not when they throw big money at organizational priorities, they know those projects will come up short in one way or another. But if they spend all their time focusing on getting those things perfect, they will be standing in the way of progress in other areas. And when they are focused on getting one of those priorities right, they aren't looking at spending five figures a week on a single person for a consulting engagement focused primarily on software development. Maybe occasionally, but not usually.


I’m sure you meant nothing by it, but I just want to point out that using the word “guy” here is needlessly exclusionary. I’m personally working to grow beyond similar habits in my own speech.


I am in a similar but but now in UK and US vernacular in think "guy" or "guys" is becoming less gendered especially amongst younger workers.


Patrick is a charismatic and compelling writer, and he writes in such an earnestly nerdy way that you think what he's saying must be true. Similar to the guy who wrote The Gervais Principle posts. It sounds great and you feel like you're hit with a series of epiphanies. But it doesn't pass the smell test. The author isn't a wealthy consultant. He's a full-time salaried employee at a YC startup (where he assuredly makes less than $x0,000 per week).


It has "2012" right in the title, so I don't see what the author's position _today_ has anything to do with it. And that "YC startup" has raised $440M and has 500+ employees... You're intentionally making the author sound less credible.

Besides the ad hominem, what other "smell test" does he fail to pass?


I have found that the 'charge by value not by time' is true based on my use of it for a longer period of time than I want to mention (for fear of giving away my age). I actually discovered this when in my first business which I started right out of college (before the Internet for sure).

I think one of the problems with being a young person starting out now is that there is so much info out there that you can read (or watch) that you perhaps don't do as much "doing" as we did in the past. As well as learning and figuring out on your own. By thinking and reading the signals and making mistakes.

In the end I think the issue is reading does not make you clever and we used to call this 'book knowledge' back when I was growing up.


I think the post is at least 4-5 years old given the references to Matasano which was acquired before the startup that patio11 and tptacek did before Patrick became an employee at Stripe, I would guess that the post is a bit dated - probably circa 2012 give or take a year or two.


One of the problems I've always had with patio11's advice is that the skills he brought to a job was something that could easily be measured, e.g. he mainly did sales funnel optimization so it was easy to see the before and after of the direct impact on the bottom line.

As somebody who is a skilled backend developer the value I provide is not as measurable. How can I justify charging a large weekly rate, when almost nobody can provide an objective number of the value I provide?


> As somebody who is a skilled backend developer the value I provide is not as measurable

Learn to do something which is more measurable, or figure out ways to measure some particular aspect of value you can bring. In back-end software, it will most likely be around performance or security. Doing a security audit then proposing remediation... if the company has already been hacked, they (should) understand the value rather quickly. If not... it would be a harder sell.

Performance? Would be hard, I think, without being a brand and people seeking you out. Speeding up an ecommerce site can definitely have measurable impact on bottom line but... if a company is big enough where that would have meaningful impact, they probably already have a team of people to navigate through to convince them of your value/skill/ability.


It's not hard in my experience. Not as easy as convincing CEO to do two redesigns per year, but not hard.

I work with companies operating at a large scale. Downtime costs $xxx,000/minute.

Developers cost lots of money, improving their productivity by a little bit pays huge dividends.

If the company has big events like Black Friday or Superbowl commercials, keeping the site up during those events is worth paying for.

Many not so big companies spend 6 figures per month in AWS bills.

Lots of work for a backend consultant.


If you have the experience and/or brand/name already, it wouldn't be hard. My thinking was not so much the work, but the finding people and convincing that a) you can do the work and b) they need it done. If you're successfully doing this now - props to you! If you have any specifics you can share about how you got through a and b above... would love to read more.


They usually reach out to me or are referred to me via a friend. One time I had a friend doing some work for Vodafone Australia, and he just asked me to come out for a month long engagement to help them get ready for the iPhone 5 (which turned out to be the 4s iirc). Another time I co-founded a Meetup group in a relatively new technology and a startup wanted to leverage that so they wanted some help getting started and having some good patterns to follow.

So I guess I would counter what you said with experience/network rather than a brand.


I think you need to go through the same steps that Patrick outlined:

* do work for someone you know

* write a case study documenting success

* repeat with a slightly bigger customer


Do you think there are 1-5 person companies doing millions annually with an ecom site?


There are definitely small (<10 people) companies doing millions with ecommerce. My inclination is that most of them are doing some/all via Amazon these days. But even outside of Amazon yes, there are some people doing that. Headcount is less important than technical headcount - there may be 8 people in the company, but they just outsourced a woocommerce shop and market the heck out of it.

Margins matter too, not just headcount. Someone could do $2m/year but make less than someone doing $800k/year with better margins.

Doing perf/security reviews of a niche like that (woo, magento, etc) would probably still be a place to focus and make money, if you want to stay 'back end' (or at least technical). But even then, some of the measurable stuff will be needed - "we reduced the load times by 45% on the checkout page, and conversions went up 17%, adding $87k in profit last year".


Security stuff is notoriously difficult for demonstrating any kind of value.

99% don't care unless and until they get hacked, they will also forget about it all in 2 months.

If they don't get hacked for years they will just attribute that to luck and probability, not valuable security consulting.

And if they do... you can guess that one.


There is a big market around security audits and certifications. They don't pay by value provided, there is hardly anything measurable, but they pay good rates for professional specialized work that has to be done.


Yes but it tends to be around bigger companies.

Lots of smaller businesses just don't care. They also don't have "chief somethings" to tell them it's important, or to do it to save their own asses just in case.

They just fly blind and in many cases they get lucky which further solidifies their beliefs.

And in the odd case when they get screwed they just bury it and move on.

Or post a "we are very sorry! security is our TOP PRIORITY!" message somewhere and move on.

I mean just look at the Equifax fiasco. Then scale that down to the smaller companies and see what you end up with...


Small companies rarely take consultants of any sort at any decent rate.


Would it be easy to find these clients?


Can you affect the number and size of AWS instances that a company needs? As Patrick said on twitter the other day. If you can optimize the use of AWS for a company that has 3k instances, you can make the company boatloads of money in reduced server cost.


I used to be a "skilled backend programmer" but now I "help entrepreneurs start their businesses." See the difference?


Are entrepreneurs that are starting their business really a niche that pays well? Seems like it wouldn't be. Seems like you get either "build me the next facebook for $500" or a lot of small business with a total budget of $5000.


In general, you're right, but there's a sub-niche of entrepreneurs who are either independently wealthy or have easy access to capital that keep all the MVP-building agencies and consultants afloat.


I can't imagine how much work it would be to sift through all the other "ideas people" who need an app next week and then they'll pay you once the cash starts rolling in.


Just bill 50 to 100 percent up front.


Is this typically 5k to 20k engagements over a period of 2 to six weeks?


Are you a consultant or freelancer currently? Have you tried doing this justification in the past and how has it gone? EDIT: length


I am a full time employee currently, but have done consulting on the side for $50-$100/hr several times. I've never tried to negotiate weekly rates because I've only been able to do ~10 hours of work a week on top of my full time job.


those are 2 separate issues (# of hrs you can dedicate per week, vs, whether you are in position to negotiate for a weekly instead of hourly rate)

if anything, knowing how much you can do (10 hrs of work) per week, makes it easier for you to propose how much value you can provide each week, no?


Would you want to do more consulting?


Reading this just reminded me how lucky we are to work in tech and have the ability to extract so much money out of the companies we serve. My girlfriend works as a copy editor at a major online news site (it's in the US top 100 on Alexa) and her salary is essentially half of mine, even though her job seems more stressful and taxing. I'd love to make more money, but I also think it's ridiculous that people in other fields are getting screwed while we prosper. I wish there was a way that we could apply our skills toward fixing this injustice.


I'm assuming you're some sort of programmer.

There's a lot of people who can write/edit good copy, and a lot of people who want a job writing/editing copy, but a limited amount of jobs, and I doubt the market is expanding as fast as tech. Think of some problem that can be solved with software and you've just created X programming jobs, X = # of people required for that company's engineering department, whereas the value to society of adding another news site diminishes quickly.

So there ratio of people who can write good code to programming jobs is lower. Also, and this is a huge assumption on my part, the # of hours you need to put in to be a competent programmer (at the level of money I'm also assuming you make) is greater than the hours to be skilled enough to produce decent copy (for the average person). So it's more difficult for the # of programmers to catch up to the # of programming jobs. Thus, the demand for programmers drives salary.

This is all without talking about the subjective amount of value to society a programmer can bring compared to a copy editor.

To fix this (I hesitate to call it injustice) we could raise taxes+implement UBI or increase funding to some other social welfare programs and raise the maximum income required to take advantage of them. But I think essentially, what careers people choose should be somewhat influenced by what society needs, and salaries can reflect that.

Not saying that the demand for programmers isn't all fucked up because of startup speculation and other factors, but I think in general the tech industry provides a lot of value for the world.


> I wish there was a way that we could apply our skills toward fixing this injustice.

Educate yourself on why does that happen. Main purpose of every company is to make money. As long as IT is making a lot of money programmers will be paid a lot. As soon as industry starts to cool down - our salaries will drop as well.


Enjoy it while it lasts. In less than a decade you will be replaced for sure for a younger one no matter how good you are.

http://worrydream.com/#!/MeanwhileAtCodeOrg


This seems like an unproductive rephrasing of the comments made in the linked piece, ironically not unlike how people unproductively rephrased Papert's paper. (And even those comments are strawmen of what's posted on code.org, especially considering they're brief snippets of marketing material and not parts of a research paper.)


Once there were coal miners. Today they are SW programmers. The INDUSTRY needs you!!!


Ugh, this is definitely a fear of mine. I'm 33, and the other day I realized that I'm one of the oldest employees of the startup I work at... older than my boss and possibly older than the founders themselves. It was a strange and slightly disconcerting feeling, realizing I was now the "old" guy.

I know about the ageism in the industry, and I do worry that in 5-10 years I'll be struggling to find work. I hope I'm wrong.


At your age also had this fear that turned true much faster since i come from GREECE. The only way i manage it is by putting my expertise on personal projects and sell my services really really cheap. Real example: Currently i am developing a lean version of a product for 2000Euro that a US company sells for 15000$ (That is the most a local client offered to pay) I invest my personal time with the hope that if works fine i could sell more of them for a decent profit.


A question that has bugged me about consulting:

Why aren't there (afaik) consulting agents in the same way comedians/actors/musicians have agents?

Find me a gig, negotiate the payment, accept the payment, and pay me. Also interface with the client for me.

Ultimately the agent works for me doing all of the work I'm bad at.

Does this exist? How do I hire somebody to do this sort of thing for me?


> in the same way comedians/actors/musicians have agents?

Many reasons for this. One reason though is simple logistics in terms of how the world has changed since that system was in place. And for what reasons.

In the 'olden' days there was no internet. So if you were a performer you needed an agent for one thing you probably had little business or negotiation skills and no source of information to figure it out (nor the knack or desire). And also there was no easy way for 'customers' to get in contact with you. (Now it's trivial to go direct to a developer by email).

Also with performing the product is pretty much always the same. If you are going to book a comedian for a certain night at a certain rate you know the product. With programming it's all over the map in terms of length and deliverables.

Above just a few reasons.

That said it's not a bad idea not to mention it is almost certainly being done but maybe not on a major known scale.


Because, generally speaking, those people make enough per-gig to support an agent making a living taking a small cut.

Furthermore the amount of time required for the comedian/actor/musician to complete the work is pretty small.

If you can start charging 6 figures for projects you can complete in a couple days, I'm sure an agent would be happy to work for you. If not...


yes. they are head shops. but one key detail. you are working for them. not the reverse. the relationship with the customer is very valuable


Besides the other reply here (good info), there's also complexity. Determining if you've "completed" the work - they want specified results, which you probably want to negotiate on - that's far more nuanced than "I showed up at this club and did my 2 hour set".

There are tech recruiters that will do short term contract/placements, which may be close, but they're not an 'agent' in the same way as a music/actor/sports agent might be, who may know you for years and understand your career/strengths/skills/etc. The tech recruiter will still more be a body-shop sort of thing.



>Does this exist? How do I hire somebody to do this sort of thing for me?

It does exist, but they hire _you_ not the other way around, because you would be their employee.


Actors, musicians, athletes, etc... are all making so much money that an agent taking a 2% cut can still be very wealthy.

There are firms out there, like recruiting firms, but they will take much more than 2%. Probably close to 25% and you work for them.


I charge between $2-3K a day. But i have 20 years experience and worked for large clients and at big companies.

My best advice is the find an industry which have a lot of consultants working (so you know clients have the money) and then offer yourself as a consultant with a design, tecnical, financial etc approach. I.e be a niche player in a large industry and never grow bigger than 10 people and instead start charging for things that are scaleable and which clients can use even after they move on.


Your agency has 10 people? Was you the first person in your agency?


No we are two looking to hire 4 more. Have freelancers do some of the work until we find the right people. My first agency was 80 in its peak, but its just too much people handling imo.


Did you start the first agency? What was its niche?


I started both yes and in its time it was niche (but expanded into much more traditional type company). We were focused on web-app and product design (started in 2005) when everyone was focusing on web design.

Did a ton of projects for Adobe and their Lighthouse division who were pushing their flex platform back then.

This time we are focusing on something quite different but again in an area with few people who can offer what we do but who still are used to paying for consultants.

We get great clients but they get someone who is very experienced and know a lot of the typical pitfalls.


A relevant side note: If you're getting into consulting, here are my suggestions for writing a good Statement of Work https://kirubakaran.com/blog/consulting-sow/


Your example reads like a programmer wrote it instead of a consultant.

- Would not expect to see a "such as" in statement of work in the locations you used them.

- Would not expect typos in statement of work.

- Consultant will push commits to source control.. I have other employees to code, I would pay an consultant to consult. Define strategy, architecture, coach. Not type code, you are way too expensive for that. Are you taking yourself serious?

What I read is a freelance software engineer.


For a single person, it's often both. Personally, there are projects where I'm more a 'freelance software engineer' - someone else is managing the project, working with the end client to determine goals, dates, etc. Someone else did sales and defined the outcomes, etc. I'm a pair of hands.

In other cases, I'm doing more of that other work - actually 'consulting' - meeting with people, helping determine strategy/direction, etc - then sometimes managing the project and/or doing some code (if code is needed, and usually is).


Except in the real world (also at Google) the people who "type the code" also do the actual design work.

I quess Perelman was also just "typing a proof".

The amount of clueless people here is astonishing.


Hey, just fyi, this comment was flagged to death but I vouched for it to undo that, as I think you mean well and you make good points. I'm guessing the flaggers were reacting to the "clueless people" line.


I consider Google a rare breed. Make no mistake, I absolutely love companies where software engineering is understood by the exco as first (and only) class citizen.

The real world is a matter of location and experience I guess. Silicon valley would not be my example of the real world. My experience is more companies see consultants as not another developer. They already have their architects and engineers to do just that. People typing code as their first commitment, stating they will commit code to archive in their core statement of work, do not scale. I'd rather have a consultant using his experience to teach my 100 developers what to make and commit to the archive. Have his experience, mind and vision executed by 100 people. That scales. That is worth the 5 (6,7) figures I pay him. If he can only work as hard as at most 2, or heck 5 of my developers I'd rather hire that at a fraction of the price.

Note that this thread was on consultants that ask 5 figures a week. I took that as upper half end of the 5 figures. Entry level consultants coming at 85-150€ an hour (in EU) are a different story. They would be seen as an architect with experience outside the company and as of such would most likely code and design like a regular architect.

Not all are clueless I guess. Just people from all over the world and from all sorts of companies.

P.s. Only have experience with enterprise consultancy. After writing I realize this may be entirely different from consultancy in/for a small sized firm.


Do consultants never code?


I replied above, it depends on the level of the consultant. Never say never. For a five figure a week consultant I would say it is not the first priority.


They can code. "Consultant" doesn't mean much. May as well say "Dude we hired to do XXX".


That would be a contractor or contingency worker for me. They are hired to do X. When they leave their work stops, a critical difference with a consultant.

Consultant does mean something. Means you temporarily hire experience in a field you are not familiar with to bring competency to your company, train/knowledge transfer to employees, and have a quick up ramping of a project which can continue when the consultant leaves because now you have a proper architecture and your employees are trained to use it, work with and extend it.


Thanks for the feedback. Could you point me to the typos please? I'd like to fix them.


Noticed the word "design" was written as "degsin".


> Noticed the word "design" was written as "degsin".

It isn't. For reference: https://web.archive.org/web/20170927012427/https://kirubakar...


It is, though it was desgin not degsin.

"desgin assets such as color palette and images to be used".

Under 1.3. Also in your reference.


Great, thanks! Fixed now.


How do you go about finding clients? I see an outline here https://kirubakaran.com/blog/consulting-outline/

Curious if you have any recommendations.


In retrospect, I have to say that making friends has been the most significant bit in this regard. I didn't make those friends with the ulterior motive of getting more work of course. Though I used to be painfully introverted, I'm a friendly person and I made friends sort of organically, through my roommates etc. The great thing about loving programming is, when you talk about your mutual interests with your programmer friends, though you're just hanging out and having fun, it is also naturally a "work meeting".

That's probably not a very useful answer, but that's how I got most of my clients, who then referred me to their friends etc.

If I were new in a city, I'd find a way to accelerate that by going out more and meeting new people doing activities I enjoy. One of my friends made a lot of connections at the climbing gym, for example, and he got a few consulting contracts that way. The conversations for him were as simple as "What do you do?" "I'm a software consultant" "Oh, we need someone to do x at our startup. Do you know about that?" "Sure, let's talk more".

I'm sure there are other ways to jump start your connections... make something shareworthy and posting it on HN, for example.


Thank you! I am getting into consulting and while I found a client, I know this is just the start for me. So I estimate a probability of 70% I will read everything about consulting on your blog.


Wishing you all the best!


How did you get into consulting? What do you do?


Thanks for asking. To be reductive: I mostly build webapps for my clients, but of course it's a lot more than just that. I got into it quite intentionally because I wanted to trade lower variance for higher pay and flexible lifestyle. That is, I'd rather make $3x one month and $0x the next (where I work on my personal projects or read a good scifi novel in the sun), rather than $x one month and $x the next.

When I started consulting, I was living in Seattle and I had a single long term client. Now that I live in San Francisco, there is high paying work everywhere.


What is the most painful aspect of consulting for you?


The trouble with working for yourself is, your boss can be an asshole. It's hard to take that vacation when there is billable work available. You can burn yourself out quite fast.

After having done this for a long time, I've learned to be zen about the intrinsic variance in income. But it is still hard psychologically. While rationally I know that I make more per year as a consultant and have more interesting work as a result etc, it's still painful to see the numbers in the spreadsheet go down when I'm not working for a few months, even if it was a deliberate decision that I made.

More

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: