How I went from programming to consulting (2012)
training.kalzumeus.com
training.kalzumeus.com
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.
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.
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.
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.
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.
If anyone here on HN could share some insights, I would highly appreciate it.
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.
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.
(More seriously, being unable to trust your employees to give useful feedback is a sign that your culture is a disaster)
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.
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.
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.
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.
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.
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.
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.
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.
Probably most important is the the company externalizes the decision so there is less internal responsibility.
If a client is uncertain about something and feels risks, you could be contrarian but otherwise no.
> 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.
They come in to do a specific job, then leave.
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.
"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.
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.
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.
You're a software consultant working with an enterprise company? Congrats, you're an enterprise software consultant.
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.
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.)
Of course, this was different type of consulting than what Patio11 did, but there are a lot of different kind of consultants.
“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.
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.
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.
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.
If you want to make the big bucks, you have to do what businesses care about, not what you care about.
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.
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?
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.
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).
That’s consulting.
> 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?
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.
Is it easier to work for a consulting company as an “employee” before venturing out alone?
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.
The top global management consultancy firms are McKinsey, Bain and Boston Consulting Group.
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.
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.
* 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.)
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?
Have you ever heard yourself and your tech colleagues talk? :P
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.
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.
Actually knowing what you are talking about is the key to making the business last.
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.
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)
"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.
If they cared, it would be handled or they wouldn't use consultants.
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.
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
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.
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.
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"
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)
They can come really handy if the fire brigade comes in when invoices start getting discussed.
Always better that they never have to be formally given to the customer.
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.
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.
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.
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.
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 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.
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 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).
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.
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 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.
Besides the ad hominem, what other "smell test" does he fail to pass?
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?
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?
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.
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".
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.
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...
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.
* do work for someone you know
* write a case study documenting success
* repeat with a slightly bigger customer
So I guess I would counter what you said with experience/network rather than a brand.
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.
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.
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.
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?
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...
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.
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.
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.
It does exist, but they hire _you_ not the other way around, because you would be their employee.
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.
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.
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.
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.
Curious if you have any recommendations.
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.
- 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.
It isn't. For reference: https://web.archive.org/web/20170927012427/https://kirubakar...
"desgin assets such as color palette and images to be used".
Under 1.3. Also in your reference.
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.
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).
I quess Perelman was also just "typing a proof".
The amount of clueless people here is astonishing.
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.
And... while much of it's been said before... if you call yourself a programmer, very likely you won't be at the table when decisions about marketing are made in the first place. Might even be on the page linked above, but one of patio11's big suggestions is not to call yourself a programmer. I probably still use the label for myself in some situations, but often when coming in to new consulting projects (solo or with someone else), I'll say something technical, then answer some questions, and I usually get "you don't look like a programmer" or "you don't sound like a programmer", in a 'disbelief' sort of tone.
As trivial as it sounds (and it's not, it took years of fighting the 'jump to tech' habit/comfortzone), talking to people about 'the project' at a business/operations/value level is where to start out. "How does it work now? What are you trying to do? Where are the pain points?" etc. Being able to jump down in to the technical weeds when appropriate is a huge bonus - you can talk to their technical staff as well as the rest of the staff and be a bridge.
Was doing some work for a company with a main office and mobile workers (mobile folks are out in trucks doing outdoors work - delivering, planting, landscaping, etc). Each dept head knows their stuff, but I was actually a bit surprised that one of the core office staff - been there more than 10 years, and is the main point of contact for the field workers - had never been to their loading dock to see how they worked. (the dock was, for years, about 1000 feet from her office). As I'm asking questions and trying to determine best approaches for some rework, there was almost no one outside of the owners and one other person who'd actually been to all parts of the company. I went out in the truck with one of the field guys for a few hours... but I'm also a "programmer"... this was revolutionary for them (no one who'd pitched solutions to them had ever been in the field before).
If you want to be treated like a programmer, call yourself a programmer and behave like one. If you want to be able to give more value to a company/client, do more than a programmer would. But... it's hard to do that in most companies as an insider - you're tasked with XYZ, and your intruding on others' territories when you poke around too much (that was my trouble when working at traditional companies). I want/need to know how the whole thing works, but info sharing is sometimes the only way some people can exert control over their areas.
I fully understand the value in “doing more” but still occasionally have to fight the feeling that I need to be coding as much as possible.
> occasionally have to fight the feeling that I need to be coding as much as possible.
Fight that as much as possible. The more you learn about the entire project/deliverables/system/needs, the more you'll find there's less code to write, or the initial code can be built for more optimal reuse, etc.
That doesn't necessarily contradict writing initial code up front, but very much prototype stuff early on. I always wish I'd done more prototyping - faked UI screens with some action buttons, etc. - just to get something in peoples' hands. Almost everyone reacts better to stuff they can touch and use (even with fake data) vs abstract data and/or stuff that's far removed from the end product.
I have said as much to everyone up to the VP level, and provided detailed recommendations (I am a Sr Dev, but in prior jobs I successfully managed dev groups of 40+ people). The response I’ve gotten has been coaching on delivery (stop being so blunt) and crickets on any actual changes.
If a $30K a week consultant came in and made the same recommendations at VP level, they’d be prized for their directness, and people would be having fires lit under them to implement most of the changes. And the actual staff would benefit as much as the company.
A fancy consultant with a laundry list of "credentials" will be automatically trusted.
When Joe Schmoe developer says the same thing it will be dismissed.
You can see a variation of this happen with books, particularly self-help books.
A nobody author writes lots of valuable stuff and people flick through it and go mehhh.
A famous self-help personality writes a pretentious 50 page book rehashing cliches (probably actually written by someone else) and give it a title like "the pink monkey that was red" and it will "blow up" because everyone talks about it.
Nothing wrong with that. That's the game, I get it.
The point is if you ignore this or don't understand it you are going to be disappointed.
You can recognise it exists whilst still being disappointed that it exists.
Someone I work with suggested "Perception is the only reality", which seems to fit here.
Yep.
To me an interesting contrast to what I said is Bitcoin.
It has legs of its own to stand on and therefore does not need to borrow credibility from the author.
Imagine if books and blog posts and movies and art work didn't have the author/creator next to it. Interesting to think how people's reactions would change.
I find this interesting too.
Generally speaking, people are drawn to creating narratives about the world around them. I'd suggest that even if the creators of art become nameless/faceless, the vacuum would get filled by a cult of personality around taste makers. For example, in the world of electronic dance music there's a high volume of music producers without public recognition. However, the DJs that play this music then become the "face" for this music, and it's their reputation which is more prominent than many of the artists making the music.
The best thing is just to quit and move to a hopefully better company. Companies with this mentality seldom change for the better.
It happens in many contexts even outside of business.
Perhaps you can escape it by making a product like a mobile app or SaaS.
It gives you a curtain to hide behind which consequently allows the judgement to be directed towards the product/service.
One can try to become that consultant, or one can try to go off and start their own project/product/company.
For large companies, division managers are more concerned about short term goals, because that's usually what metrics are in place, but also potentially competitive landscape, etc.
Bringing in someone today who can get something done in, say, 4 months, vs going through a hiring process, or fighting to reprioritize existing projects/staff... that's a big headache. Throw a bit more money - often from a different budget than "payroll" - and 'solve' the problem.
I get your point, and am largely sympathetic to it. However, often, the people with the required skills don't want to work 24/7 for one singular employer. You lose a lot of freedom/flexibility, for starters. Often a pay cut vs 'consulting' rates. I've been out of traditional employment for so long, I'd probably not make a good employee anymore, and would have a hard time getting hired.
As an external consultant/expert on some things, you're also being paid for explicitly not being part of the 'problem'. You can ignore some of the politics that may have led to the situation you're trying to fix. The person cutting the check may be able to cut through some of the red tape and get stuff done quickly.
I've been an employee at places where it's taken a couple days just to get myself on a network and credentialed up. That's a pretty significant waste, but... amortized over the total employee cost, it doesn't seem to be seen as that big a deal.
That's why I suggested training (which would be part of a long term solution, I agree with you that consultants have a role to play for meeting short term goals). Companies seem to undervalue training, probably because it's not business critical and there's no guarantee that a employee won't just get trained and then leave. What I think companies overlook is that an environment that gives enough resources (time and otherwise) to foster personal growth is the type of environment that breeds loyalty. Where I'm working right now, I have to fight against the grain to pick up new skills (even skills that have an almost immediate payback). Doesn't sound like a healthy work environment, does it? On the other hand, I've worked at another company where training was encouraged, which was definitely a key part of what made it a better place to work, with an added bonus of getting to work with happier, more productive colleagues. Interestingly, what formed part of the downfall of the latter was some senior management types trying to outsource as much as possible to consultants, and not for sound business reasons... let's just say that, for some people getting gigs, it's not about what they know but who they know.
But definitely good for all the people who can do it and use the corporate structure of the world for their benefit. Pretty cool. I could see myself get the required competence to consult some time in the future (though not yet), but I doubt I'd ever get the character for it.
Step 2: Be good/accurate enough at opining in ways that make sense.
Most people won't have either 1 or 2 going for them.
There's one more thing - charging a lot is how to signal value, which is a a huge thing. I know a guy who used to manage an A-list rock band (everyone knows their songs) who went into consulting, and started out lowballing people, for $1k/week or something. People didn't take him or his advice seriously. After increasing his rate to $20k/week, people were hanging on his every word.
The advice didn't change, only the perception of value.
Not at first, no, but even Patrick had to start at zero, right? It's true that there's a lot more personal branding and content marketing going on, but that doesn't mean a person can't execute a similar strategy and find success. It may not be as profitable as it once was, but it can be enough to relieve some financial stress.
I'm not at all saying all 'consultants' are great at this either - 'consultants' work for 'big 5' firms and are just sent out on engagements, which isn't quite the 'consultant' we're talking about here (the word means many things).
I've worked with people on projects who couldn't sense when the other people in the room were veering off topic and not understanding a response. Also worked with people who could not ever understand they themselves were going offtopic and/or not understanding what the clients were saying. Talking to hear yourself talk is a big one. Not being able to adjust yourself to the project is a project (if you're working with a small $2m company of 10 people, repeating anecdotes from your $100m engagements isn't impressive, it's ... annoying and/or off-topic).
Not delivering when you say you will. Not calling people back when you say you will. Blaming everyone else but yourself - these are all problems I've seen (and experienced) myself as an independent consultant. Easier to mask/hide when you're "just" doing development as an internal employee someplace.
Also... you posted this and have asked a lot of questions. If you want to talk more offline, email me.
Of course most are like that: How much effort did they put in to become skilled developers, and how much on the business savvy? I'm guessing years on the former, and perhaps hours on the latter?
It's not that people can't develop those skills. It's that few want to, or realize that they have to.
I sort of agree, but ... we all know the people who try to get in to programming/development, but just never get it. They can try, and maybe even land a jr role some place, but it never really clicks, regardless of how long they work at it. I think the non-tech skills are like that in some measure as well.
Also, while I'm probably switching examples a bit, I'm not sure how much experience you need practicing skills like showing up on time, or answering emails (and without being rude or condescending). There may be people who need to "practice" not insulting clients' employees in emails to the same client, but I'm not sure how much practice one should need to have basic empathic ability. If you don't have some of that, how many years do you need "practicing" those skills?
The difference is that to do very well in tech/programming, you have to be well above the average.
For a lot of non-tech skills, merely being a bit above the average will get you far. In the context of this discussion, the primary skill the consultant has is still his technical skills. He merely upped his non-tech skills enough to prevent it from being a barrier.
Not interested in / willing to spend the time to do it? Marketing yourself is a full time job.
The $4k/week thing isn't since pretty much any decent consultant can command $100/hr which is what that weekly billing works out to.
But I learned over time to develop a abundance mentality -- rather than say 'it can't be done' -- to change my mode of thinking to say 'how did they do it, and is there anything for me to learn.'
A consultant making 5 figures a week is not a unicorn, it's not even that uncommon. But it's not just coding -- there's other steps that are also necessary but not sufficient. Building a reputation, building a following (a blog or email newsletter is a good way to get started), meeting people who open doors, etc.
> I used to have a similar scarcity mentality --- thinking that because other people were successful, it was like the lottery -- based purely on chance.
> But I learned over time to develop a abundance mentality -- rather than say 'it can't be done' -- to change my mode of thinking to say 'how did they do it, and is there anything for me to learn.'
You probably should look up 'reliably' and 'repeatable' and the definition of those words. You really should not attack a straw man.
I just understand the probability of X event is Y and I'm not naive enough to try to talk myself into wasting energy on low probability paths.
The 5 figures a week consultancy path is exactly such a low probability path.
But are you saying there is NO way to improve one's position in life and income? That, if a path can't be shown repeatedly and reliably in a double-blind clinical study, there is no value in attempting to improve oneself?
Do you believe income is fixed, and that if you can't hit a five figure mark, well -- you might as well not try?
I never stated that was the case.
> That, if a path can't be shown repeatedly and reliably in a double-blind clinical study, there is no value in attempting to improve oneself?
Money, beyond a basic level of ~$1k/week is mostly useless other than speeding up retirement.
> Do you believe income is fixed, and that if you can't hit a five figure mark, well -- you might as well not try?
You seem to think money = improving yourself = important.
I'm honestly more worried about you as a fellow human being and the misalignment of your goals than I am about whether I make $10k a week or $1k a week.
Consultants with relatively high rates are not unicorns, any more than lawyers or doctors with high rates are. This is not just repeatable, this is a fairly reasonable career path, much like “work at AppAmaGooBookSoft” is a lucrative but well-trod career path. (Which, btw, have in-the-door offers for mid-career professionals which are reasonably competitive with running a full-time consultancy at $30k/week.)
You are seriously going to engage me with the argument that $600k+ (20 weeks of paid engagements @ $30k/week) a year in income + benefits is common?
I think you have a greatly inflated opinion of what the top 25% of software developers get paid let alone what is reasonable and repeatable.
There are at least some people making $250/hr+ as a technical consultant. Is it 0.01%, 0.1% or 1%? Who knows.
But it's possible, and it's possible to get there if you're strategic about it.
I said it wasn't common which you are acknowledging. Simply because less some small percentage of people can mange it doesn't make it repeatable.
Similarly with sports, there is a huge range of player incomes and assuming the sport becomes more interesting to watch and thus profitable their would be room for more highly compensated players.
You also mentioned movies, but a lack of competent actors is far from the biggest reason there aren't more movies being produced.
In terms of movies, studios look a lot like a VC firm with a term sheet from hell. However, plenty of studios died over time and would be making moves today if their past movies where more profitable. Sure, you needs a direct / script / special effects etc, but low budget movies with simple scripts and great actors also work without X00 million dollar budgets. So, their is clearly some wiggle room in terms of number of movies produced per year.
Plenty of people are in a move, it takes something else to have the kind of run of a Robert De Niro or Anthony Hopkins. And generally people that have those kind of long runs are significantly more talented that many others.
They also often have family in the business, who presumably pass on more than just a foot in the door.
Extend that across all actors and you presumably get more profit without higher costs anywhere which should result in more movies. But, even without more movies higher profits mean actors are simply worth more and collectively would get paid more pushing up compensation for the full range.
So, again it need not be 1:1, but a significant increase in overall sales including for home entertainment can happen because people have options outside of moves like video games.
PS: Major 6 put out 128 movies in 2006, but only 78 in 2013.
So yes there is diminishing returns and actor quality would eventually stop being a meaningful constraint. But, again all I am saying is it's currently a meaningful constraint; not that it's always going to be one.
And the consequence for failure are huge: 90 players start the pre-season, and after training & a few pre-season games, teams have to drop that to 53. 10 extra can be part of a training squad, which represents a 75% pay cut compared to the league minimum for the 53.
Some players make 50x+ what other players are making. Having linemen make 10 million per year does not involve adding linemen it involves linemen that are worth being paid 10 million / year.
At the same time football has added new teams over time and increased both the number of players and minimum salary significantly from inception.
The whole point of the 1% is the remaining 99%. The axiom of this game is there are filters enough to filter out the 99%.
I can say that not only would I never get anywhere with math at that level, but some of the related mathematical pages on Wikipedia surpass my ability to even tell if they are real or the work of cranks.
For any random person, there are things they can't do or learn because of the way they're made, any more than a cow can do calculus.
What's deceptive is that people constantly tell you that you must believe in yourself. But the reason isn't that believing in yourself is sufficient for success - the reason is believing in yourself is necessary to succeed so everyone who is successful attributes their success to that.
It may take them 20 years to learn math from the ground up, but they can do it. Saying someone can't do something is bullshit. That's sheep mentality.
I've met Marines that were assholes so I'm guessing that 'join the Marine Corps' isn't as great advice as it first appears. Recently a Marine drill instructor was implicated in the abuse of Muslim recruits. That isn't a good leadership skill for the corporate environment. Your notion is too simplistic. It doesn't apply to everyone. It applies to some people but not all.
People lie on a spectrum in terms of abilities and personality. Not everyone can be molded to have the requisite knowledge/personality type to command high pay. It's simply not possible. Just take extreme examples and one can easily see this.
A Drill Instructor being a dickhead is also a choice. It doesn't make him any less able to be a leader. My point was, joining the Marine Corps turns weak individuals into respectable men that can command dignity and respect into people. What they choose to do with that transformation is up to them.
Peoples' personalities are also not always so malleable. My wife is a psychiatrist and she deals regularly with people who simply do not have the choice to change. Forces inside their brain are beyond their conscious control.
The Marine Corps sometimes turns weak individuals into respectable men. And sometimes it pumps out assholes. It doesn't work for everyone. This is obvious.
There's a substantial body of research suggesting otherwise.
More or less everybody starts at 0. I don't exactly mean 0 as absolute nothingness, but some a low enough value of opportunity possible. That's the seed available to you, and from there you have to bootstrap.
Of course not every one will make it big in this game. But a sure shot way of going failing, is to not try.
I started in mid-2012 after being fed up with every employer out there, but was well aware that I was one of the best people someone could hire for things that are necessary, but not glamorous -- database performance tuning, data warehousing, ETL process development, and cleaning up disasters. Yet getting market rate for salary as a senior dev was like pulling teeth. At the time I was gritting my teeth to collect a paycheck. I got fed up with it, quit after managing to line up an engagement (and getting contracts drawn up), and struck out on my own.
In 5 1/2 years I've averaged 42 hours of billing a year, with the big gap mostly being because I decided to take 6 months off in 2016. I started hourly, but I learned exactly what Patrick learned and switched to weekly for the bulk of my engagements (which are short term), with a more amenable rate for long-term projects (we're talking 6+ month with many small projects, or one huge one). Most of it has been putting out fires to save a director's or VP's job, which gets you solid recommendations from said directors and VPs when servers go from on fire to twiddling their thumbs being nearly idle. Though I've built data warehouses and the teams to manage them as well.
There is a lot of selling. I'm either sourcing or making a ton of calls or emails every week, which isn't easy for someone that doesn't like to toot their horn. However, working remote affords me the ability to do that, as well as work with anyone in the US. If a local client wants me on site (preventing me from doing sales) there's a heck of rate increase for that, which causes most to let me work off site, though a few bite and the bump more than covers my opportunity cost.
There's also a bit of contingency recruiting. Employees take note when you turn a disaster into boring, easy to manage calm. More so when you teach them what you know. Keep in touch, and when you see the writing on the wall, perhaps your current client is what both of them needs. After all, you're already an approved vendor, so might as well make things even better for your client (and the top-notch candidate) and stick another $40-50K in your pocket for your trouble.
From when I started I TRIPLED what I was making (and am not in a cheap market), and making more than senior AmaGooFaceSoft devs in the Valley (incl. options and benefits) despite living nowhere near Califonia. Yet I'm still some nobody that's been on Hacker News since mid-2009 that just does fairly boring database things. Though there's a ton of database work out there.
Should that be month instead of year?
So I average about 32 hours a week (or billing 4 out of 5 weeks) over the course of a given calendar year. As I said, I'm very busy all the time. I took 6 months off for a reason.
>I was one of the best people someone could hire for things that are necessary, but not glamorous -- database performance tuning, data warehousing, ETL process development, and cleaning up disasters. Yet getting market rate for salary as a senior dev was like pulling teeth. At the time I was gritting my teeth to collect a paycheck.
The skills that you polished -- to the point of being "one of the best people someone could hire" -- seem heavily reliant on experiential learning. For example, I can't see how someone could get to be really good at "cleaning up disasters" without cleaning up a lot of disasters first. Would you say your experience as a (chronically underpaid) senior dev is what prepared you to be able to go out and perform the work that companies value so highly? Is the trick for us less-senior folks just to... keep working?
Oh, I wasn't chronically underpaid. I got paid 95-100% of market rate, but you were basically held in contempt for getting it, even if you proceeded to vastly outperform all expectations after starting. A lot of places would offer 70% of market rate and not budge (was their budget), and I swiftly killed negotiations in response.
These places that tried to get more for less were great to remember though. Years later, several have become clients, and I can confirm they definitely got what they paid for after having done a lot of cleanup. They are a solid leads, because eventually their hiring strategy catches up with them, and they need a pro to bail them out.
>The skills that you polished -- to the point of being "one of the best people someone could hire" -- seem heavily reliant on experiential learning. For example, I can't see how someone could get to be really good at "cleaning up disasters" without cleaning up a lot of disasters first
This is easier than you think.
Cleaning up disasters is mostly two things. A) Knowing how to make a simple solution that does a task exceptionally well (objectively) and B) Knowing how to read and profile code to know what's worth replacing with A. The only other thing I would say is C) Constantly tell yourself that everything you write can be better, so you constantly improve A.
This isn't high-falutin' bleeding edge architecture astronaut stuff. Most of what I deal with are basic things done badly. I've walked into shops in the past few years where people couldn't reliably load text files into tables. In one investment firm about 4 years ago, they had a 24-core server backed by tons of solid state LUNs, and the effective throughput of the ETL process was less than 10KB/sec because instead of write once, they decided to write once and then update the same data thirty eight times (no exaggeration -- actual number). As basic an application you can think of, I've seen some very memorable disaster versions of them. I've seen things, man! Including identical disasters in the latest NoSQL database, with an application glued together using the language du jour.
If you genuinely know what you're doing, and are willing to always convince yourself that you still don't know enough (and keep learning), age 30 can easily be the time to give it a shot.
I wont mention the UK jobsites name but I found a bug (a trivial cockup with canonical tags) that had cost them > £500,000 is lost traffic and that was in less than a week.
BTW I am looking so if anyones interested hit me up
After that experiment, I hear any similar question as, "Would you consider working for less than half of what you make now, for someone who doesn't know how to manage a group of people?"
I do get a lot of executive headhunters in my inbox, and clients tender a lot of offers as well, but nothing remotely competitive nor interesting has yet come my way.
Saying, "Just go network" glosses over a whole lot of exactly how to do that. It's like, if someone asked, "How do you make a good income investing?" and your response was just, "Pick a few good companies." That's great and all, but it completely ignores the process of actually doing that.
That.
If you don't know where else to start, go to a local user group, or better yet, present at one. It only takes one visit to see how low the standard is at most of these things, the organizers are usually just happy to have someone willing to present, so you don't have to worry about not having anything substantial or good to present.
I had a full-time consulting income for several years predominantly from just following ads for freelancers on Craigslist, in a relatively pedestrian market. I didn't even do the basic networking stuff that is still a very good idea. The hardest part of breaking in is having the gumption to get it kicked off.
What if I have no clear idea of how to do this, and the standard advice for that problem starts with stuff I don't know how to do (e.g. talk to people like a normal human who craves face-to-face social validation)?
"Act natural". That means check out. De-intellectualize and see yourself and everyone else as an organic entity governed by subconscious organic automata; the concept that there are normal people who "crave face-to-face social validation" and a separate set of non-normal people must be discarded. There are only humans that have virtually identical biological behaviors and interactions.
Separate your conscious self, and especially your self-critical running narrative, from everything else that is happening. Experience events as a floater, not doing any self-analysis or introspection, and just being there. Once you're used to this state, start trying to nudge yourself into interacting with others without re-engaging active control or analysis. Keep floating, act without analyzing what's going on -- act impulsively. Practice this state.
Don't overcommit. There are billions and billions of people out there. Burning your chance with Person Y is very likely not as important as finding Person X, with whom you have better natural resonance. There is certainly a Person X who possesses any special features that you believe are possessed by Person Y (close enough, anyway). If you piss off Warren Buffet, you haven't pissed off Bill Gates, Carl Icahn, or the Koch Brothers. So there is no point in overanalyzing or seizing up, and the truth is, people care far less about anything you do than you think they do.
In all of this, keep the standard failsafes and overrides. Don't do smack, act violently, or otherwise engage in self-destructive or clearly-hostile social behaviors. Re-engage to suppress these impulses as necessary. Maintain basic social standards and decorum. Just fence that in as the extent of any self-checking you do during an interaction.
Master these states because they are the baseline that people expect human interaction to occur from. You have to be able to manage that to employ more involved and specific likability techniques, but those are mostly only useful as elements of conscious social engineering like being a manager. All you'll need to be socially successful on a personal basis is to unplug your self-conscious psyche.
Disclaimers: I am ugly, fat, and dumb. I am not a licensed psychologist, clinician, advisor, or any other thing that should be listened to. Everything I say is wrong and no positive results should be expected to flow from any of it.
Scroll down to the start. See what you think.
When I read the blog post my first thought was that I would love to do exactly this. I'm working at a startup right now but I'm so bored of the day-to-day and really enjoy architecture/performance tasks. I think I'm going to give consulting a try after I vest a little more stock :)
Edit: actually, first thing you need to do is stop charging by the hour, and charge by the day, or better, by the week.
Based on my past experiences, I'm not sure making lots of money is my goal, but I have the nagging feeling that it should be possible, just because it was no secret that people will pay that.
Generally speaking, most CEOs will respond positively to an offer that they put $1 in and get ~$3 out (with a range of possible outcomes around that ~$3). In fact, most smart ones will ask how many $1 bills they can throw at you before this proposition becomes untrue.
People who have the kind of combined skill set that 'patio11 has are relatively rare, but they need not be as rare as they are. For many people, all it takes is adopting an appropriate mindset for their work.
Location simply doesn't matter unless you are in a place where CEOs don't like money.
IMO, best way to start, as a programmer? Regional conferences. Start speaking. My first talk was just a presentation about how we used Akka at a small Scala conference in Portland. Last year I presented our use of Kafka at a much larger conference in Austin and now I'm prepping a submission for ScalaDays 2018, the largest conference in the field.
The point isn't even making it to the larger conferences, just keep getting your name out there. Learning to speak in venues like these doesn't just market yourself, you'll learn how to effectively present your ideas to an audience—a critical skill itself.
Then link it all on yourname.com or whatever and off you go. I'm at http://ryantanner.xyz.
The result? When I left a job a few years ago I just tweeted out that I was looking for some short-term consulting work and people I'd never met came out of the woodwork looking to hire me.
Step 2: Be good/accurate enough at opining in ways that make sense.
Neither of these are prerequisites for being extremely successful at consulting. My consulting rates are now approximately $10,000/week with a 70% annual utilization rate. I'm not industry famous at all. I also do not maintain a blog or do "content marketing." For a while I had no website, and even now my website isn’t exactly great, it’s what I’d call “minimally good enough” (but then I’m not a web developer :). I started consulting several years ago, and I have literally never gone onsite to a client's location. A significant number of Y Combinator companies have been clients of mine, and virtually all work comes to me via referrals from past clients.
I don't typically brag about this, but I'd like to say it because patio11 is an easy target for the "he got there by being industry famous" critique, and I think that would be the wrong thing to take away from his writings. I got to this rate by following his consulting advice as sprinkled throughout his blog and his comments here on Hacker News. I started my rates at approximately $5,000/week, which if I recall correctly tptacek once told me was "criminally low" for the industry :). Here are the two steps I would suggest, in place of yours:
1. Be demonstrably technically competent and capable of presenting your expertise coherently to various audiences,
2. Be willing to raise your rates and willing to ask clients for referrals at the end of every engagement.
I’m not exaggerating when I say that the very first time I raised my rates was spontaneously, on the phone with a client. I was asked my rates and thought to myself, “fuck it, let’s see what happens if I ask for 20% more than usual.” I did, there was a moment of silence, then an “okay.” That exchange is the substantive content of essentially every instance I’ve ever raised my rates. There’s not much magic to it aside from being willing to do it.
I personally used to be in the same position you're in now, in about 2012, reading patio11's blog and being cynical about it. But I find that framing to be defeatist after having accomplished it myself without either of your steps as a prerequisite. I firmly believe just about anyone who isn't socially tonedeaf and who has a real technical competency can achieve the same if they are determined to do so.
As a side note, I personally feel that I owe a lot of my success to patio11, and I’ve told him as much before. His response was essentially to pay it forward, and I hope I can do that a bit with this comment.
Mind sharing how many weeks you work a year? Ie, is there enough demand you can work in the upper 40's, leaving enough vacation time?
To put it in more technical terms, your work seemingly has a positive viral coefficient, such that when you do work, it gets you exponentially (if only with a very slightly-above-1.0 exponent) more work. If you just exist in that state for long enough, you eventually get to be a well-known name.
This is what people mean when they say that you "need" to be industry-famous: it's not that you need to be already-well-known, but rather that you need to have the things going for you that cause people to pass your name around, such that you will inevitably become well-known. You need to be "in the process" of being famous; you need to be successfully executing on personal-brand-building. And some people just don't have what it takes to do that.
But "famous" signifies something quite more than having a handful or two of happy, influential clients.
Finally, I'm not sure patio11 is really all that famous outside the HN bubble, and for all it is, it really isn't that big.
At $5k per wk, you're looking at Junior engineer at AmGooFaceSoft comp levels.
The only way to determine a price on something like that is usually by comparing it to someone else. Then, you have the protection from people lowballing since most take "you get what you pay for" to heart.
They wouldn't agree to the price if it wasn't worth it to them, so as long as you achieve what you promised, then you are worth it.
This is what irks me about articles like this being posted on HN and indie hackers--You too can have a six digit MRR if you've spent the past X years building a community or mailing list around the topic...which is not a bad advice but not many people are able to do this.
So while not without merit and valuable bits, I feel like you've highlighted a very harsh reality that people like to forget....
This is the new entrepreneur porn disguised as content.
Sadly, it seems that the world we live in requires us to work for the things we want.
You can spend your energy coming up with reasons why the guy who worked his way up from nothing shouldn't go around giving you step by step instructions on how to do the same. Or you can get started toward doing something similar.
Always happy to take suggestions on how I can improve the site to help with this, and also suggestions for different founders I should reach out to to come do an interview.
A big initiative of mine for 2018 is to vastly expand the number of interviews on the site (currently at ~250), and to add a better tagging system to help you find what's relevant.
What about graphics, audio, embedded systems, networking?
Back to the drawing board for me. :)
I won the bet.
Very true. But also easier said than done. I'd add that problem identification is problem even more valuable than problem solving. That is, get the problem wrong and even the greatest solution is irrelevant.
> So $100 per hour, even though it is not a market rate for e.g. intermediate Ruby on Rails programmers
Uh, $100 an hour is $208,000 annually full-time. Unless Patrick is referring exclusively to the Bay Area upper crust, I don't know how he reaches the conclusion that $100 an hour is "not even market rate for intermediate programmers."
If you're billing $100/hr you're not making bad money, but it's nowhere near equivalent to a $200K W-2 job.
In fact, that is what I am doing right now.
If you charge $10,000 / week, and the client wants to negotiate, they'd have to argue to remove $1000 / week for an equivalent change in revenue, which is much different psychologically.
At one of the spectrum is junior offshore testers billing by the hour. On the other is McKinsey, who bills by the study. The former gets more rate pressure than the latter. Charging weekly or monthly appears more professional than hourly. (Lawyers are the exception)
$200/hr seems rediculously expensive to pay a dev. but a $8k/week will intuitively be compared to the value they get from the project, and 16k to increase wbesite traffic 30% seems like a steal.
Which kind of makes the person writing it seem dull. Until you realize that's not the content or the purpose of the writing at all. The whole thing is actually, itself, marketing, i.e. somebody's sales pitch for himself. Well no wonder it's a bore.
How do you view and approach "productization" of consulting services that are primarily information/education-based (vs. coding something)? Specifically with a mind towards scaling beyond the limits of your available time?
Here's an example from a data analytics company I worked at. (I was crunching data and analyzing it, and my company was delivering "simple", actionable guidance).
Our deliverable would be a tidy presentation showing that telco X was running all these different marketing campaigns, but that a few of them were generating lots of billing errors but few increases in sales. Cutting some of the messy, under-performing campaigns would save money (which was a lot of money at the scale these companies were operating).
The company would pay us 20-50k for that advice, and I would personally earn a typical hourly wage...
or yes, take an hour out of your work day for non-client stuff, and work an hour longer so it is not at your client's expense.
What I would do is interview tech employees who figured out how to take their ideas and build entire businesses out of them. Actually this is already provided somewhat in indiehackers.com. Unfortunately, it doesn't always provide useful guidance as much as highlight that right place/right time is still a big factor in success.
P.S. Why to advertise the way you earn your living especially if it is so profitable?
You actually have to provide that value in the first place. At no point does he mention "doing nothing".
I felt gross and kind of disappointed while reading the article. I need more time to think deeply about why that is and communicate it in an effective way.
Otherwise, prepare to deal with the cold truth that many businesses are out there for themselves exclusively.
> A necessary collorary to this: the principals of a technical consultancy do very well for themselves. I don't know if that is a secret but it certainly isn't well appreciated: nobody says Occupy Boutique Rails Consultancies, but the principals of them do end up in the 1%.
is not great for society and I'm highly skeptical that it's necessary. However I can see that it would be hard to do things differently -
This type of high-level admin stuff is a simple way to make an organisation efficient, and it's unclear how best to achieve the same level of efficiency whilst simultaneously not allowing the principals the power to centralise reward to themselves as well.
Everyone does literally the exact same thing but you add profit sharing to the consultancy. As the article said "Clients Pay For Value, Not For Time." Unless the principals are somehow actually providing the overwhelming share of the value rather than the people doing the work.
How is literally providing tens of thousands of dollars of value "doing nothing?" That's far more productive than your average web developer quibbling over how many pixels wide to make a button.