Best HN Comments
bdunn on justifying your costs as a freelancer
“Justifying your costs by basing what you charge against the costs of a similar employee is a good start, and in my experience it’s how most of us start (the old "divide by 2000” trick). I like that Andy makes note that you need to include overhead (prospecting, writing proposals, …), which a lot of new freelancers tend to miss.
However, I think the big takeaway is realizing that the formula presented establishes a minimum threshold. It shouldn’t be used to figure out what you charge. My rates are way north of what the a developer/marketer would command on the open market, but I don’t contextualize my costs against the equivalent costs of an employee; instead, I anchor my costs against the upside that a successful delivery of a project would yield for my client.
The single best way to substantially make more money consulting is to stop selling commodity services (web design, Ruby programming, whatever), and to truly consult. Provide your clients with a way to bridge the problem they face with the solution they desire, and charge accordingly.“
spolsky on detecting toxic customers
"This detection process doesn’t detect toxic customers, it detects corporate customers at large companies.
It’s fine for a small startup to cater to small startups, but the big companies have big budgets, and eventually, you’ll be making 80% of your money off of them, so learning how to deal with them can be helpful.
Big companies often have purchasing departments actually do the purchase. They are trained to expect discounts and the people in the purchasing department know a lot more about asking for discounts than they know about software, because that is their specialized role in the organization. If you politely tell them that you have one price for everyone, they’ll still purchase, because the purchasing department ususally doesn’t have the power to stop the purchase.
Those 80-question checklists usually come out of the following, typical corporate process:
A team of people identifies a need for software
The team meets to agree on everything they need
The junior person on the team is tasked with evaluating 12 possible products to see which one is best
That person makes up a spreadsheet and sends it to each of the vendors hoping that they will do his homework for him
The vendors who have decent presales support or sales teams fill out the spreadsheets by marking everything as "Yes” or “Yes with a footnote” and get the deal.
This also explains the “multiple questions that can be answered from a website” – it’s a sign of a person who has been put in charge of evaluating multiple products, not a sign of a toxic customer.
Multiple contacts through multiple channels are usually the sign of multiple interested parties at the client site. You can’t sell to big companies without touching multiple people. One of a salesperson’s most important jobs is helping the customer themselves get organized and make a purchase. A good salesperson helps the person who wants your software navigate their own corporate purchasing politics.
Summary: while it’s fine to turn away truly toxic customers, and you are welcome to decide that you’d rather sell to the starving startup founders on Y-combinator who would rather spend 2 hours scouring your website than deal with a salesperson, the corporate customers turn out to be remarkably price-insensitive, once they make a purchase they will keep paying you maintenance for years long after the product is not even in use, and they’re just as likely to leave you alone as the small guys, but they do have “multiple stakeholders” and if you want to sell to them you need a process that matches their reality.“
tptacek on naming your company
"Or, just name your company quickly and move on. We lost a couple weeks early on to naming Matasano, and after some false starts, eventually gave up and thumbed through a list of exotic plants. By the time the book of plants had been opened, the naming premise had been accepted: we were done trying to find a semantically "fitting” name for the company. We just picked a plant with a cool name.
We ran into two “problems” down the road; first: it turns out that a “Matasano” is a “quack doctor” in South America, which we discovered shortly after hiring someone from Argentina. We quickly convinced ourselves that the irony was a value-add, not a cost.
Second, we kept getting confused with Monsanto. This sounds (a little) sillier than it actually is. A lot of our clients, particularly back in 2006-2007, were large enterprises where the staff was particularly likely to have some confusion. We had more serious conversations about renaming over the Monsanto thing than over the “quack doctor” thing.
Ultimately, we just got over it and kept plowing forward. Equity goes into your name; it usually doesn’t get extracted from your name. There’s some sense in picking a good name, but keep in mind that weeks of time — which is what we were facing — is a very steep price to pay for something that might only be marginally important down the road.
I submit that the term “Airbnb”, while memorable, has very little intrinsic meaning to most people who rent out their places on Airbnb. Ebay has none whatsoever. “Heroku” was one of YC’s biggest acquisitions; that name breaks one of the rules of thumb of this post (3 syllables, yet means nothing to its customers). “Stripe” and “Square” and “Paypal” are great names, but “Braintree” seems to be doing pretty well too, and if “Braintree” is OK, I humbly suggest that “Mindweasel” and “Thoughtpants” will work too.
This is a good post. All I’m saying is, be careful of the procrastinate-y issues that come up early in your company. They all matter less than execution on everything else.“
The journey of Flappy Bird
"I think the story of this game exemplifies the fact that content needs a minimum amount of attention to reveal it’s true value.
The journey of Flappy Bird appears to me like this:
Stage 1: Almost no attention, almost no growth
Stage 2: Some kind of grey market paid downloads / ratings service
Stage 3: Attention of minimum critical mass of early consumers (increase in audience of 1 or perhaps 2 orders of magnitude)
Stage 4: Attention of influencers on other platforms, especially pewdiepie on youtube (increase in audience by a couple of orders of magnitude)
Stage 5: Attention by large community of enthusiasts (increase in audience by a couple of orders of magnitude)
Stage 6: Mass market attention
where each stage is dependent on the one before it, with the exception of stage 2, which is performed externally.
What’s interesting to me is that the qualities the game possesses, which were sufficient to carry it from stage 3 to stage 6 without promotion on the part of the dev, were not sufficient to propel it from stage 1 to stage 3. We could say that the true quality of the game was unknown in stage 1.
My personal opinion is that the vast majority of content created languishes in the equivalent of stage 1 for its particular ecosystem. Of this content, the vast majority will be garbage, a small minority will be reasonable and a tiny minority will have the potential to be a widespread hit. But of this last group, most or all of it will never emerge from stage 1 because stage 1 does not provide it with enough attention to separate it from the rest of the (bad) stage 1 content.
Increasingly I think that the journey to stage 1 to stage 3 is the most important, most difficult and most overlooked part of the progression.
For example, when something is submitted to HN, from my anecdotal observation it will typically get something like 5-10 simultaneous visitors from the new page. If it gets a minimum critical mass of votes to hit the front page, this will increase immediately to something like 50-100 simultaneous viewers and increase from there. But often, it only takes 3-5 upvotes for it to hit the front page. So the relatively trivial actions of the small critical mass of early consumers has an extraordinarily large effect on the dissemination of the content. Indeed, as a content creator, it’s often struck me that the actions of those first 3-5 people have an equivalent significance, in terms of the world’s experience of my content, to me as the creator.
And if you create good content, then just getting to the front page is by far the most difficult part of the process, because once there you will naturally attract upvotes from the vastly increased exposure. But with only a few random bits of cosmic entropy set differently, the creator could create exactly the same content, fail to get those first 3-5 votes, and the number of views on the article/app/etc. could be 10 rather than 10,000 or 100,000.
In my experience, lots of platforms follow the same model. Reddit is a very obvious one, but the same holds to for trying to get press interest: so much depends upon the decisions of a few key journalists, and that decision may depend on how many other emails hit their inbox that hour, or whether or not they’ve had their coffee yet, or some other particle of background entropy. This isn’t a criticism of the press, it’s just a consequence of the current system. The same is true for people who run influential blogs or social media accounts with large followings, or newsletters.
The problem is that there is less attention available per item of content than the minimum quantity of attention needed to rate the quality of that content well. When I create something new, my worry is never "Boy, I hope that people don’t simply dislike this,” it’s always “Boy, I hope that enough people see this to give it a shot of achieving its potential, whatever that turns out to be.” If it turns out people don’t like it, which is of course always a possibility, that’s fairly easy to handle. If it disappears into obscurity, that’s much more difficult to accept.
When I create content now, my promotion strategy is 99% focused on that first stage. If it reaches that critical mass of attention among a small number of early, influential people, I feel like my job is done and the chips should fall as they may. If it reaches that initial critical mass, people will want to write press stories about it and post it on social media and ask for interviews and tell their friends about it, assuming its any good. This may be an obvious conclusion, but the interesting part, for me, is that the initial critical mass is much smaller, much more random and much more difficult to achieve than most people realize.“
Programming is terrible
"I’ve felt this way before. Dejected that the my new job wasn’t an exciting candy land of save-the-day hacks and movie montage of elegant code spanning the screen. My expectations were too high. I thought we would always do the right thing to kick out software all grown up ready to take on the world.
When the realization set in I got angry. First at the job then at myself. I held it tight knowing someone was to blame. Anger lead to depression which sparked more anger. But depression won, and eventually lead to a calm realization that programming wasn’t the magical world I wanted it to be. So it became just a job.
I never wanted it to be just a job. I work with people who don’t know a bit from a byte. They could care less what I code as long as it works. For a long time I believed them. I just made it work. Recently I’ve started to believe again.
I’ve started to believe in the magic again. I’m learning that within the boundaries of my job I can create little realms of beauty. No one cares how I code so I can code to my own enjoyment. I’ve stopped caring what other people thought. And I’ve stopped looking to the job and outside world to give me enjoyment and I’ve started looking inside myself. To find the joy in my own actions, in the moment.”
On being a consultant
“Kind of agree with you and OP, so let me add to the discussion with the caveat that YMMV etc. Some of these points may overlap with comments by fellow HNers in these threads.
In any organization as a prospective customer, there are three forces at work that matter to a consultant: users, decision makers and finance folks. Ideally, the decision makers appoint a dedicated person (or team) who mediates users and finance guys to create a coherent road map for the system to be built. What tends to happen in practice is a combination of chance, human errors and conflicts in priorities.
To survive, we must understand ourselves as consultants, the terrain and the opposing forces (anything that prevents money getting deposited in the bank).
Consulting is a business => the individual consultant must shoulder quite a lot on himself:
- Advertising himself
- Finding work
- Meeting prospective customers
- Writing proposals
- Closing the deal
- Writing a contract
- Defining the scope of work
- Nailing what is to be done and what is to be avoided
- Constructing components of software
- (In worst cases) baby-sitting customer’s devs / ops
- Testing his modules
- Getting money in his account
So, when we talk with customers, there is inherent pressure in closing the deal versus precisely defining everything. Icing on the cake: back of the mind, you might worry about milkman’s bills and the birthday gifts to be brought for your kid’s friends. Always have a good runway: six months seems optimum. Technically, even three months should suffice, but it is insufficient for the edge case when these three things hold true simultaneously:
- You’ve to walk away from a customer in the middle of a project, and
- Dry sales pipeline, and
- Unexpected crisis at the personal front: very close friend in need of money for surgery etc. God be with you. Now, back to the main track. The key is to first understand the priorities of stakeholders. The contradictions are easier to grasp once we put ourselves in the individual’s shoes:
- [Convenience] The users want everything including the kitchen sink,
- [Accountability for the risk] They want it yesterday but won’t commit to it on paper since you’re in early sales stage,
- [Cost] The finance folks want stability and the most economical price,
- [Availability] The decision maker prefers to spend the least of her time to be spent on this activity, except when it’s her pet project.
These roles may be played by different people or the same person.
Again, we don’t have to agree, but acknowledge that things are meant to be imperfect. Most people are actually decent and rational. Now, somehow, the consultant must figure out a good path. To begin, he should have a good handle on:
- The industry in which the customer operates, e.g. BFSI, Energy, online marketplaces, food, fashion etc.
- The nature of the market: oligopoly, crowded, emerging et al.
- The level of Govt. regulation: HIPAA? PCI?
- The customer’s position: among top tier, mid-size, small firms.
- Customer’s customers: helps to track the wind.
- Standard pain areas in the market.
- How customer’s competition and partners survive the pain, specifically the differences among the customer’s approach and the competitor’s ones.
- The financial health of the customer: if possible, try to talk with their existing suppliers in other arenas (e.g. the guy who supplies printer cartridges, the cleaning lady etc.). Based on that, assuming we’ve landed a hot lead, say that we want to convert it to money. There will be a lot of conversations over the phone, e-mail, chats, face to face; what is to be left out of those conversations is really context sensitive. The important parts are:
- What problem we’re going to solve for all stakeholders?
- How we’re going to solve it?
- Communicating our approach and progress on a timely basis.
- Improving Vulcan skills: like money, expression of anger is a great servant but a terrible master. I leave out the details on the development process, since it depends on the individual. Here are a few things which worked for me marvellously in certain contexts and doomed in others:
- Setting expectations by explaining the cone of uncertainty in the estimation process. Always be prepared for some customers, who deliberately mislead you that they don’t understand the mumbo-jumbo, projecting ignorance as a shield so that they can ruin you on payments. Mostly you should refuse such customers, unless you’re in an extreme crisis on multiple fronts.
- Writing use cases for the modules / systems I was supposed to work. Most customers say that they don’t want any time spent on "documentation,” to which I reply that writing a document is not “typing” but “nailing the thoughts to deliver higher quality work.”
- Creating mock ups using sketching tools (even Excel/LibreOffice can be good enough, if one is pressed too much for time) in the absence of UX designers on the team.
- Writing test cases before writing my code. Helps to ease the integration.
- Optimizing lazily: progressively refining the artefact (document / mock up / test / code).
- Knowing the expected value of each task: (amount of money * satisfaction * improvement in reputation) / (e-mail tennis * stakeholder’s understanding of requirements * payment latency * time spent)
Finally, reducing it to just one sentence: be nice, believe in yourself and humanity, be multi-dimensional and please heed Guy Kawasaki’s advice about reading voraciously and omnivorously.“
Why Do So Many Incompetent Men Become Leaders?
"There are many paths to leadership:
a) Suppose I want to startup a company because I like coding and spending 40hours in a cubicle sucks. Out of dumb luck my company strikes it big and the planets align for a little while so I can execute and in 3 years I’m the leader of a $250m/yr company. I was able to execute when opportunity presented itself, but I have no idea how to generate opportunity, or find it.
b) Same story as above, except this time it’s me and four of my beer buddies, except I’m loud and domineering in business decisions and they’re all introverts. One guy quits because he doesn’t like how things went, the rest make me de facto leader and when corporate paperwork comes around I put myself as CEO. The others are quiet about which I spin into a kind of legitimacy. From there on out I try and bounce around CEO and President positions. I have no other qualifications than being domineering and subversive.
c) I worked my tootsie off and made it through a Harvard MBA program. Boom, I’m immediately picked up as a Jr. VP in a large and powerful, but old and crusty megacorp. I stick it out for 4 years while all my of senior leadership retires, next thing you know I’m a Senior Executive VP at Big&Crusty MegaCorp Inc. I can’t seem to figure out how to navigate the politics to make it higher, so after 5 years at Big&Crusty MegaCorp I strike out. I find an executive recruiter who finds me some CEO positions to shoot for with some medium sized $50-100m/yr copmanies. I interview, and one of them has the right mix of board members to think that a young and energetic "shooting star” is just what they want to kick their revenue in the rear. Regardless of how the company does, I now have a resume that shows all kinds of good bullet points: Harvard MBA, upwardly mobile as a executive, CEO experience. I can now bounce around CEO and President positions for a while…spending a year or two at each place, strike enough good compensation deals to make me rich and eventually buy myself into a few choice board positions. Note I barely have any actual work experience at this point, I’ve only shown boundless ambition and a willingness to wait for senior people to retire so I can take their position. The only thing I know how to do after 15 years is navigate the upper echelons of the corporate hierarchy.
d) I start in the mailroom and work my way up through a mix of competency and and ambition. A few times my competency damns me and I end up stuck in my progression, but I follow a strict up or out policy. Over the years I notice that I’ve forgotten many of the skills I used to have in the lower levels, I have to locally optimize my brain I tell myself. I’m working 40-60hr weeks trying to be competent in my current job, I simply don’t have time to remember what I did 5 years and 2 jobs ago – but it bothers me that I’m now functionally incompetent for a job that I used to be among the best at. Eventually, I work my way into a Senior Exec VP at a growing company. I’m really good at the job I’m in, but I rapidly lose qualifications for jobs I used to be in. At the Senior Exec VP level I’ve simply forgotten what it’s like to be in the trenches, I try to be sympathetic, but it’s so hard to relate…just as hard for me to relate to the Senior Exec VP when I was in the trenches. Am I a competent leader?
I’m specifically not addressing gender in these scenarios (as the article is discussing) because what I’m trying to say is that regardless of gender any of these scenarios might put somebody into position as an “incompetent” leader. The path to leadership (incompetent or otherwise) in my mind is distinct from the social and psychological issues related to gender arriving in those leadership positions. In scenario a and b), there is nothing in gender that prevents women from starting up their own companies. You see it all the time, there are tons of businesses started and run by intelligent and driven women. c & d might still be tougher, there’s lots of entrenched power structures that still make it difficult for women to arrive into the top jobs. In d) the person also had enough opportunity to not be guided into a progressing, but dead-end career path.
Anecdotally, I think it’s very hard for women to be accepted into leadership positions. If she’s too tough she’s marked as an “angry bitch” and will get rejected, if she’s not perfectly competent in areas far outside of her job function, she’ll be marked as “stupid” and get rejected, etc. etc. Cultivating authority, for a woman, requires a degree of careful presentation and balance that is very hard to do and most men don’t have to deal with. I’ve worked for some very good women bosses and a women CEO and I admired their ability to find that balance and presentation style that gave them command without them appearing as an “angry bitch” or “stupid”.
I’ve also worked with some women that couldn’t find that balance, they weren’t really doing anything a reasonably competent man wouldn’t do, but were marked with gendered epithets and eventually driven from their job.
Afterwards, I spoke to some of them personally, they felt unbelievably rejected and worthless – one suffered from depression and dropped out of work for a year. Their job models didn’t do anything different, but their models were all men – so they couldn’t figure out what happened and what got them rejected…but the truth is they were simply playing by different rules and weren’t able to navigate the environment well enough to figure out what those rules were.“
Are designers crazy?
"No, designers aren’t crazy. You just don’t understand a very fundamental concept of design. It even applies to engineering. It’s okay—many people have the same frustrations as you do.
But those who care about the details achieve truly high quality results overall. It extends to all areas of the design, not just to the parts you can’t see.
In the movie "Who Framed Roger Rabbit,” there’s a scene in a dark room where Roger Rabbit (an animated character) flies across the room, knocks a hanging lamp around, and the lighting becomes so dynamic that all the shadows move around including the animated character’s shadow. Here’s the scene in question: http://www.youtube.com/watch?v=_EUPwsD64GI
This was such a small detail that it would have been forgivable if the animators had left it out entirely: if they had not moved the lamp, kept the shadow steady, no one would have really noticed the difference. It would have been 100 times easier to animate and the effect wouldn’t really have been that different.
But they did it anyway. The term was later coined, and “bump the lamp” is used throughout Disney (and probably other organizations) to mean something akin to “go the extra mile"—but I see it as having a special significance to design.
You’re right, most people won’t notice. By that logic, you could cut corners a lot of other places too. You could be lax about button colors matching exactly, or per-pixel sharpness on the map and buttons. No one would probably notice.
But if you go for every detail like it was the most important detail, you have the possibility of reaching a level of design quality that is superlative, and some people will notice. Others will not notice directly, but will see that the piece exudes style and quality subconsciously, due to the attention to small details. If you carry this into other areas of your work—programming, customer service, market strategy, marketing, and more—then you have a chance to create something of true quality.
If you don’t pay attention to detail at that level, well, you might have the chance to actually get something done. Yes, it’s a balance, like everything else. But you have to know that it won’t be quite as good, and understand that yes, you are sacrificing something, even if you can’t see it.”
Why learning to code is so hard
“Learning to code is hard, and everyone’s specific struggle is unique. The key issue though is why do they fail to learn, and that answer is the same for everyone that fails: they give up.
All kinds of mental talents can be helpful for learning to code, but tenacity is probably the most important. Better learning materials can be great, and they’re getting better all the time, but they are still no substitute to an unshakable commitment to being a developer.
For my 12th birthday in about 1980, my grandparents heard I liked computers and bought me a college level textbook on microprocessors. I didn’t understand a word of it when I first read it really. But I did read it, and re-read it, for a couple of years. And it’s one of the key reasons I wasn’t afraid of doing assembly language a while later when I got my first computer. The book was a terrible way to learn, and it was completely at the wrong skill level for me. But I was really into it and made up for my lack of capability with a tremendous commitment and huge amount of time, slurping up every bit of information on computers I could find.
You’ve only lost when you quit fighting.”
I don’t understand
“I first noticed this effect in college, when the prof would be talking about something that didn’t make sense to me. If I remained silent, he’d never explain (of course) and I’d remain ignorant. However, whenever I asked him, everyone would start furiously writing down his explanation in their notes.
So I got into the habit of saying "I don’t understand”. Inevitably, there would be quite a number of other people who also didn’t understand, but were afraid to ask, so I’d just ask first. That stuck with me throughout my career and served me well. If you don’t understand, ask.
Also, contrary to common sentiment, there is no minimum competency level that grants you the privilege of saying “I don’t understand.” Ignorance is not a monopoly of the elite.“
death and regrets
"It’s not the dead who have regrets, it’s the living. I mean, you’re dead. What do you care?
My life is meant to be lived. I’m alive for a very short time. I refuse to spend it looking over my shoulder; second guessing everything. If I do something stupid or harmful I made amends (or try too). I redeem myself for my own peace of mind.
Look it boils down to this: what does every faith on the planet teach? I’m not typing about the differences or whose god is stronger or better, I’m talking mythos - they all teach that it’s all about how we treat each other. That’s what it all boils down too.
I’m mortal. Of course I have regrets. I don’t live for the moment (like dogs - or do they… I have doubts about that) I don’t believe regrets are "negative”. They’re a part of life. We’ve all had missed opportunities. We’ve all treated someone poorly. It’s life.
If I step out of the house right now and get hit by a bus, it’s the living; they’ll have to sort my life out. But I hope I have the luxury of facing death with time to reflect on my own life and realize, hopefully, that I lived; had a great time; and left my mark.“
List Compiled by jh3 Link