Ask HN: Share some of your easy code 'wins'? - <AUTHOR> Hi HN,<p>I am reading so many horror stories about spagetthi code and errors that take down whole commercial websites, I thought it was a good idea to share some of you positive easy coding win stories? When were you assigned a (on the surface) hard task to just google, copy paste and be done with it? I am very curious. :) <comment><USER2> Back in 2000 I was a new college grad doing manual data entry as a temp in Boston for 1200-page industrial supply catalogs, wishing I had majored in CS instead of English. (I've programmed since 8 and by then I already knew BASIC, Pascal, C, C++, Java, Perl, Scheme, and Javascript, but I thought the humanities were more interesting. Alas there aren't many jobs reading Shakespeare or Dostoevsky. :-)

The idea was that this army of temps would enter data into a home-grown Java app, then someone would push a button to spit it all out as XML files, and then there was a Perl program that would read the XML files and "drive" QuarkXPress to automatically create pages with optimal product position to minimize whitespace at the bottom of columns. But there was a bug and every special character got printed with extra spaces around it. For example ™ ® © ° ± ² – — ' ' " ". There were hundreds per page. (Think row after row of 1¼" ID 1¾" OD Fastenal™ Supertight® hex nut.) So just when they thought the project was over, they asked us all to stay and use red pens to mark up proofs so that another army of graphic designers could fix the problems in Quark by hand.

I looked at the Perl code, and it was using a regex to replace our own special codes (something like [tm] etc IIRC) with the unicode chars, but the regex had extra spaces, something like

        s/\[(\w+)\]/ $replacements{$1} /g

Elsewhere the developer was fond of the /x option, so I assume he just omitted it here.

I tried editing the code and saw that it fixed the problem, so I told my manager. He asked me to write a letter to the developer (who was in another office across town), so that night I wrote a 3-page explanation and brought it in. To remove two blank spaces.

A day or two later my manager said the developer approved, and he asked me what salary I'd accept to work there full-time as a programmer. :-)

<comment><USER3> Simply awesome!

</comment></comment><comment><USER4> I don't know if this is what you mean but many years ago I answered a CL computer gig add from someone that wanted their static Website ported from their current host to a free host as their contract had expired.

With just a few wget commands and a dns redirect, $100 was sent to my Paypal account, the guy was so happy he refered me to a bunch of others needing the same thing done.

<comment><AUTHOR> haha, nice one! This exactly the kind of story i was thinking about.

<comment><USER4> Actually over the years Craigslist has been a great resource for making a few extra bucks. There is always the usual adds asking for expert programmers to make the next facebook or twitter and I have never replied to them, but atleast once a week there is a person looking for help that is willing to pay a fair price for pretty easy work.

I just checked the Craigslist adds in my old city (I moved up to Northern Canada and am building a farm) and I found a perfect example of someone looking for help with a pretty easy job. (Im not replying to it as I'm focused on other projects)

[https://vancouver.craigslist.org/van/cpg/d/vancouver-drm- pro...](https://vancouver.craigslist.org/van/cpg/d/vancouver-drm-protected- epub-doc-to-pdf/7076458816.html)

<comment><AUTHOR> Nice find! The add is still there so you are right. If you look in the right place, you can find easy work.

</comment></comment></comment></comment><comment><USER5> I was asked to write a fuzzy word matching algorithm that would allow for a certain number of typos/misspellings. Turns out there's a well-known algorithm for that[0].

[0] [https://en.m.wikipedia.org/wiki/Levenshtein_distance](https://en.m.wikipedia.org/wiki/Levenshtein_distance)

<comment><USER6> Levenshtein distance is a measure, not a fuzzy word matching algorithm.

Did you brute force your searches to match anything within a levenshtein distance of X?

</comment></comment><comment><USER7> We had a really simple document storage component to a webapp I was working on. Customers wanted to be able to search them so we had a ticket chilling in the backlog with the maximum point value to implement Solr. I ended up implementing it in an hour by taking the raw text out of the PDF with some library, shoving it into a Postgres column, and doing a LIKE query.

</comment><comment><USER8> Sadly I have much more opposite stories - something seemed simple at the beginning but then it turned out to be a black hole :).

<comment><AUTHOR> That's what i'm experiencing on a daily basis</comment></comment>


Just a Few Important Words About the 'Declaration of Independence' - <AUTHOR> http://www.npr.org/sections/thetwo-way/2015/07/04/419243874/just-a-few-important-words-about-the-declaration-of-independence <comment><USER2> I am related to Roger Sherman, one of the last hokdouts as he wanted to reestablish trade with the British. On the back of the $2.00 bill he is fourth from the right, the tall guy with the tall forehead.

Unfortunately there is no money in having an illustrious ancestry. Titles of nobility are unconstitional, see.</comment>


Here's to the crazy ones - <AUTHOR> http://www.malcognition.com/blog/2009/heres-to-the-crazy-ones-us/

<comment><USER2> My eyes are crying because of this green background.

Why did the author choose such a background ?

If he wants to _be different_ , he should focus on content rather than unergonomical design.

</comment><comment><USER3> <http://www.youtube.com/watch?v=Dvn_Ied9t4M>

It never gets old. Always a mood changer when I need it.

<comment><USER4> It's interesting that few of those folks were actually "rebels" in a significant sense.

Einstein is a great example. Apart from the "5000 German scientists" thing, he was well respected from the beginning.

The Beatles are another. They pretty much owned popular music and they're "outsiders"?

Van Gogh, now he was an outsider as was Eugene Von Bruenchenhein <http://www.ktfineart.com/past/?object_id=86> .

</comment></comment><comment><USER5> That _James Bond analogy_ sure got me convinced...

Of course if sales are bad you have to reinvent yourself and take crazy risks. But wackiness as an incubator? I don't understand that conclusion.</comment>


We Let Our Employee Set Their Own Salaries - <AUTHOR> http://figure53.com/notes/2013-08-30-we-just-set-our-salaries/ <comment><USER2> I intellectually really like these experiments, but one of the things virtually every startup advisor tells you is "only innovate when and where you must" \-- basic things like how you do accounting, offices, etc. should be standard, so you don't screw them up, so you don't think about them too much, etc. Big companies with spare resources can afford to experiment on non-core things, and a 0.1% improvement in A/R efficiency _would_ be material to GE, but not to a $150k/yr revenue startup.

There is an argument that hiring is one of the "core" things for startups, _and_ it is hard to do, so innovation might be warranted. Something like this experiment in setting salaries is only good if it makes recruiting/retaining/utilizing more effective. If you're doing it for any other reason, you probably have the wrong priorities. (The other part of this, paying everyone the same, actually does make a lot of sense in early stage startups, too.)

I think bringing people into the organization is probably harder than retaining them, though. (at least for the first year or two) I'd personally be more inclined to experiment with "set your own referral bonus" rather than "set your own salary". (I think in SFBA right now, for engineers, that number should be USD 20k. USD 10k might be justifiable. In a lot of cases, people like gifts more than the equivalent amount of money, so maybe USD 10k + USD 10k in travel/gifts/etc. Charity donations might also be valued more than money in some cases.)

<comment><USER3> > \-- basic things like how you do accounting, offices, etc. should be > standard,

I fired a company once that was paying me quite well, and where I liked my co- workers and liked my job very well, just because they wouldn't make some changes to these simple things. They were stuck in a very rigid office culture mode where everyone had to dress the part, keep certain hours, park in a certain place, etc. I'm not the only good employee they chased away like that either. Unlike me, some of the others went to work for competitors, or formed companies that competed with them.

<comment><USER4> >I fired a company once

I like that phrasing a lot :)

<comment><USER5> Agreed. I'm going to have to remember that one.

</comment></comment></comment></comment><comment><USER6> I'd be careful with this: this "democratic" budgeting has a similar feeling to "democratic" scheduling--that situation where you tell people to work "whatever hours they like." Everyone sees everyone _else_ putting in extra hours "for the good of the team", and so you get a team slowly whipping itself into a death-march no one actually wants or needs, and resenting anyone who tries to just stick to the (healthy!) 9-to-5. Similarly, in this situation, I'd strongly bet on there being a ratchet effect, where salaries are voted down in tough times, but not voted back up in good times.

<comment><USER7> In the long run, 9-to-5 is terribly unhealthy as well. I wonder when we get rid of this 40 [or more] hr/week stigma.

<comment><USER8> What's a reasonable workweek then? And why?

<comment><USER9> I know that I have about 5ish hours of good programming work in me a day. I know that I like to take a 45ish minute lunch. I know that I have some admin type stuff to do on occasion.

So, sign me up for a 6 hour day and you'll get my full attention all day. I won't "need" to spend time on HN or twitter or whatever to kill time because I'll be fresh enough to work all day.

Also, because i believe there is a hell of a lot more to life than work, we'll work 4 days a week.

A guy can dream, can't he?

<comment><USER10> I wish we were more actively working towards such a world. Instead, we keep getting caught up in political discussions about how people who don't work are lazy.

</comment></comment></comment></comment></comment><comment><USER11> Disappointed by the lack of any numbes at all. No revenue, salaries, funding numbers... Expect to learn nothing from this article, and you won't be disappointed.

While we're at it though, letting employees set their own salaries is stupid. It seems like a short term gimmick, absolutely plagued with problems as a company grows. I don't even believe it's true - you'd end up leading people to the number you require, and it's like declaring the organization is flat, then leading it with subtle manipulation and hidden cliques.

In a weird paradox, startup CEOs love to avoid leadership, blog about it, and say it's a hip new approach.

<comment><USER12> Preface: I work at Figure 53, nearing three years. We're an LLC (so he's owner, not CEO), not a startup, not funded, profitable for five years, and we only have five full time employees.

I think the set of principles we've been operating under have been working pretty well and I believe Chris to be a genuine person, but I'm biased by being personally involved with this particular story. It might also be important to note that while he didn't give the numbers in the story, we all who voted got to see the numbers before and after (he's never hidden them from us) and the effect the new salaries have on our bottom line.

I can see how it could go wrong given employees trending towards unhappy/defensive and a boss trending towards dishonest, but that would be an awful situation to be in no matter what kind of gimmicks the bosses introduce.

<comment><USER13> So then stop teasing us and tell us what the numbers were already! I mean it doesn't make sense to blog about this idea about transparency and then withhold the most interesting point which is what the actual dollar amounts were.

<comment><USER14> Why are the dollars the most interesting point? I find the concrete numbers less interesting than the relative result.

At any rate, we're not really obligated to share our numbers on our blog. :-) Might be reasons we'd want to keep those private, no?

<comment><USER15> You showed a scale, but there was no relative basis. Just sharing percentages would be interesting as it would help us understand what the variance is. Did you want to give everyone a raise of about 10% and they wanted 15%?

BTW - I love the experiment and may use it for my next hires, your transparency is commendable and while it may not work for everyone I love the idea of making new hire salary negotiations into true salary discussions.

<comment><USER14> You're right, I need to include information to show how close my guess was; I'll try to edit it in the coming week to include that.

</comment></comment></comment></comment></comment></comment><comment><USER16> I really like that this is collaborative and anonymous. I could see as the company grows, bands and bonuses being set by popular vote.

At the same time however, you have to pay market rates. If a good employee has an offer for 20% more than they are making, and they just had their first kid so they'd kind of could use more money, what do you do?

On one hand, you give them a raise - which breaks the collaborative system. On the other, you don't give them a raise, and you lose a key contributer who was bringing in far more revenue than their salary.

The fact is, your best employees are going to be constantly getting offers above what you pay them, and you need mechanisms in place to keep them. At the same time, transparency has to really be transparent if it's going to be a core value of the company - if I was told everyone was making $X but I found out that some of those people were making more, I'd be annoyed.

So my question is, how do you solve this?

<comment><USER17> You always have tradeoffs. Which tradeoffs make sense depend on the culture you want to foster, the size of your company, and probably a hundred other factors.

Transparent criteria for salary mean that you avoid the politics associated with salary negotiations. And making even a single exception typically breaks that, meaning that now _everyone_ at the company is incentivized to get higher-paying offers and bring to you, asking for more money. Ben Horowitz wrote a great post on this: [http://bhorowitz.com/2010/08/23/how-to-minimize- politics-in-...](http://bhorowitz.com/2010/08/23/how-to-minimize-politics-in- your-company/)

Personally I would say that you should avoid ad-hoc raises. I really like the idea of matching salaries to titles and matching title changes to a bi-annual performance review (for companies over a certain size.) And it gets a lot of the advantages you want-transparent compensation, no incentives for politicking, ability to pay people differently, and the ability to adjust the pay for the role according to market rates.

Edit: Fog Creek's compensation system is a good example. [http://www.joelonsoftware.com/articles/fog0000000038.html](http://www.joelonsoftware.com/articles/fog0000000038.html)

<comment><USER18> Matching salaries to titles means your best-performing developers can't get a raise without becoming managers, or getting a raise for everyone in their title (i.e. a raise that's much more expensive for the company), or leaving the company.

Seems like quite a pair of handcuffs to put on yourself.

<comment><USER17> Most places have more than one developer title. See e.g. the Fog Creek link.

</comment></comment></comment></comment><comment><USER19> This is retarded.

The owner has employees. Not partners. He is carrying all the risk. Slow pay? He pays. Personal guarantee needed? His house is on the line. Needs cash to hire the next employee or to float more payroll while the work ramps up? Ya its his cash.

He's effectively made everyone an equal partner with unequal risks and responsibilities.

<comment><USER20> What's your evidence?

Typically, people who are involved in decisions feel much more engaged in dealing with the results. My expectation is that if something happened to the company, his employees would be much more loyal. Certainly if I worked for him, I'd be willing to take some bad times with the good times.

The one open-books company I visited had extremely loyal employees and great camaraderie. Causality is hard to untangle there, but it's not unreasonable that this is much smarter that the "Mine! It's all mine!" approach to employee relations that is a common alternative.

<comment><USER21> at the end of the day for most of employees all that matters is how much money lands in their pocket

if they wanted to be business partners they wouldn't become employees in first place

<comment><USER20> I don't believe that first sentence is true. The studies I've seen for programmers put money relatively far down on their list of priorities. See McConnell's _Rapid Development_ for a summary of the research.

</comment></comment></comment></comment><comment><USER22> I am reminded of CD Baby's employee profit sharing initiative: the summary is that employees asked for a profit sharing program, and the owner said "set it up" and they pretty much took all the money.

I suppose the lesson is that the owner/CEO should be involved and observing these decisions.

<comment><USER23> For anyone else that's curious about this: [https://news.ycombinator.com/item?id=342134](https://news.ycombinator.com/item?id=342134)

</comment></comment><comment><USER24> You're not alone. Here's an early variant of such a policy. SEMCO, a Brazilian company run by Ricardo Semler, has since 1980s had the policy where people could set their own salaries.

Some excerpts off his book on 37signals: [http://37signals.com/svn/posts/945-excerpts-from-ricardo- sem...](http://37signals.com/svn/posts/945-excerpts-from-ricardo-semlers-book- maverick-the-success-behind-the-worlds-most-unusual-workplace)

His book: [http://www.amazon.com/Maverick-Success-Behind-Unusual- Workpl...](http://www.amazon.com/Maverick-Success-Behind-Unusual- Workplace/dp/0446670553/ref=sr_1_1?ie=UTF8&qid=1377979232&sr=8-1&keywords=maverick+ricardo)

</comment><comment><USER25> I have to say that I admire the author's attempt to rethink the employer- employee, capitalist-labor dynamics. As someone who once spent all my time working on a startup I owned (and jealously guarded that ownership stake), I often wondered whether these dynamics are really even just. Are we just perpetuating the issues of class division and privilege?

Sure, company owners typically take bigger risks in a startup than paid employees, but often, it seems to be the case that most people who take the plunge have safety nets, alternatives, and upfront capital that represent significant privilege over the norm. Perhaps, relatively speaking, its just as risky for the employee who takes a paid job that may not exist in matter of months.

In our society, for people in which the startup thing really works out, our system could make you a multibillionaire. You could literally have one thousand times the wealth of someone who is a multimillionaire. Or a million times the wealth of someone whose managed to squirrel away a little bit of cash from the two jobs they work. It takes some serious stones and principles as an owner to deviate from a system that's designed to enrich you if everything goes to plan. I hope it works out.

</comment><comment><USER26> OK, I'll be the grown-up in the room.

Are you fucking kidding me? No, really.

OK, maybe, just maybe, if you have a very small homogeneous team and all of you are hippies this could make sense. Outside of that scenario it has disaster written all over it. This is just being a lazy CEO and not wanting to make decisions.

Part of your job as a CEO is to understand such things the ebbs and flows of the business and ensure that it can survive even potentially deadly (financially speaking) scenarios.

Do people vote themselves a pay reduction during bad times? Good luck with that one.

Do all employees understand and plan for future acquisitions, investments and expenditures? Of course not. Sometimes you have to horde cash to get ready to make an investment, launch an initiative or hire more people. It is my experience that few people in a typical organization truly understand the financial dynamics of a business. People tend to see a two million dollar sale as two million dollars and not as the risk it can represent and the timeline to making a profit. Sometimes only the CEO has a true mental image of reality.

Here's an example out of my own life. True story.

I closed a $2.5 million dollar sale. This is for a hardware product. We are to be paid in four $625K installments, with the fourth one being against delivery. Walked away from the meeting with a PO and a $625K check.

Fantastic, right? No. I was actually very concerned. This was early 2009. The economy was in bad shape. Banks were not lending. Everyone was bleeding money in one way or another. Most people would see a $2.5M sale as a huge win. I saw it as a potential mine field. Of course I was happy to have won the business. The reality of a CEO is to have a larger mental map from which to operate. This larger mental map told me that, while this was a nice win any number of things could go wrong and hurt us.

Here's a reality in the electronics manufacturing business: Lead times can be horrible. It isn't unusual to have to wait twelve to twenty weeks for components. In addition to that, a lot of orders are tagged with the "NCNR" acronym: Non-Cancellable, Non-Returnable. In other words: You can't back away from an order.

What does this mean when you need to deliver $2.5 million in product in four months. Well, it means you have to write a huge pile of purchase orders as soon as possible. The profit margin on this sale, if everything went perfectly, was approximately 25%.

There are two ways to see this. The immature/adolescent way to see it is: "Man, you are going to make $625K!". Reality means "We have to spend $1.875 million to get this done. The latter is where the minefield lives.

Employees are not in tune with these realities. They want a reliable paycheck every week and they want security. And, yes, they want to make as much money as possible. None of this is meant to be pejorative, it's just a reality.

So, what happened? Well, within a week of receiving that first $625K I find myself writing nearly $1.5 million dollars in purchase orders. I had to. If I did not pull the trigger right away we could not deliver on time. Most of the PO's were for NCNR items.

The next twelve months would send me to the hospital at least once from the stress I had to endure. The bank that was financing this deal for my customer decided to pull back. Our second installment didn't arrive for several months. When it did, it bounced. In the meantime the warehouse was filling-up with components we had to pay for. I had to use a combination of all of my credit cards as well as the full available equity in my home to pay salaries, bills and keep the business afloat. I did not fire anyone.

It was a nightmare of unthinkable proportions. The proverbial kiss of death. At least one person actually died as a result of this business transaction. No, not in my company. The CEO of an associated company had a massive stroke and heart attack. The stress was just too much for him to handle and he could not take a break to look after his health. Sad.

The story is far more complex than the short version above and far more nuanced, don't try to dissect it because you don't have enough information. I am simply using a simplified version as an example of business reality. It's a contact sport and sometimes you get bloody.

During this time most of my employees were not aware of the mess I was juggling. Why not? Are you kidding me? The easiest way to destroy a company is from within. People want sausage, they don't want to see it made. Most employees at a multidisciplinary business don't have enough information to understand what's going on. You'd have to spend a ridiculous amount of time educating everyone in order to ensure that they get it. That's an irresponsible misuse of time. Your testing technician needs to be in the shop testing boards, not looking over balance sheets. Same applies to your shipping clerks, receptionist, marketing manager and graphic designer.

So, yeah, I am coming off a bit harsh on this one. And rightly so. I think this CEO isn't a CEO at all. He wants to be buddies with his presumably homogeneous team. This decision is bad on many fronts. It sets up a bad situation. You will have to veto or flat-out take this "right" away at some point and, when you do, it will be hell.

The other item is this idea of the CEO choosing to get paid the same or less than everyone else. OK, well, five buddies start a business together, fine, that makes sense. In most other situations this makes no sense whatsoever. Most businesses outside the reality distortion field that is the SCV/Venture- Capital world are self-funded efforts with huge financial and time investments from the CEO/Owner. A lot of them require slaving away in your garage for years before you can scale. There is almost no way any employee can match the level of investment, effort or sacrifice this class of CEO put into the business before the first employee was hired. No way. CEO pay and employee pay have no correlation whatsoever. One is responsible for a very narrow domain. The other is responsible for everything, often at a personal level.

Pay your employees fairly, treat them well, be generous about vacations, be considerate, help them if they run into tough times (sick kid, parent, financial problem, etc.), pay for conferences and training courses, take them out on morale building trips and, if finances allow, be generous with bonuses and your recognition of their contribution to the enterprise. You are running a business, not a hippie commune.

<comment><USER27> Up-voted as I like to be reminded from time to time that 18th century mentality is still prevalent in the world. I don't think you're being the grown-up, you are just talking from your world view. You sound similar to the people who railed against Ford's 5 day work week - "The workers will all be drunken and fighting and murdering and and and and..." But it worked out fine in the end. The 'hippie commune like' extra day off didn't destroy the fabric of society. In fact, productivity and profits went up.

I think in the new millennium we should be experimenting with different models of running business. Why do you feel that a model that has worked well for the past 100 years is the final form of _all_ business? Why say that it is a 'hippie commune' in such a derogatory manner? Not all businesses can use this model and not all CEOs should operate the way _you_ feel. It is a multi0faceted world out there, and I believe businesses should reflect this.

Should your company run like this? No, its not in your mentality and probably not possible for your industry. But... Semco has proven that this type of model can work even for a large hardware manufacturer (marine pumps was their original line of business, but with innovation to their business format came lots of innovation in their product line).

All I see in your well though out post is anecdotal data wrapped in an inherent pessimism towards people and a 'hard-ball' mentality towards business. You are coming off harsh, but I don't think it is quite as righteous as you want it to be. You know what is best - _for you_ \- why not let others experiment and see if we can't create something different for business in the future. Some will fail, some will thrive, but it is the experimentation which is vital. And this post is a great example of someone who is in a position to do it, and may well be very successful. If they go bankrupt then come to HN and boast about how change is never good and your way is the only way to run a business. And I will still call you out on it even then.

One question for you: If you knew your employers finances (Semco gives all staff a 2 week course on understanding the books), and could see that if you didn't take a pay cut now, you would lose your job in 3 months as the company would go bankrupt, would you vote for a pay decrease or say fuck it, I'm keeping my salary the same and damn the consequences?

<comment><USER28> >One question for you: If you knew your employers finances (Semco gives all staff a 2 week course on understanding the books), and could see that if you didn't take a pay cut now, you would lose your job in 3 months as the company would go bankrupt, would you vote for a pay decrease or say fuck it, I'm keeping my salary the same and damn the consequences?

Really depends. If I felt the company would take a long time or have a low probability of pivoting and recovering, I would probably vote myself the highest salary I could and ride it down/start looking for another job. I assume quite a few others would feel the same way.

<comment><USER27> Fair enough.

When this situation happened at Semco (Brazil has had a lot of problems with its economy over the last 20 years) management put forward keeping salaries the same, but letting people go. The employees countered with _everyone_ getting salary cuts to see them through the down turn, with the hike back to normal levels agreed on beforehand.

I don't know if it was about wether or not the company the company would turn around, but it seemed a lot more based on loyalty to the company (plus all staff, even assemblyline workers set their own work hours) and no one really wanted to go back to working at a 'traditional' company. I think that in software dev a lot of the jobs are fairly the same work environment-wise, so your take probably could work if you are only at work for the money (and I know, everyone has bills to pay, I have a family so it would be a tough call for me to make as well but I don't think I would just try to hike my salary and hasten the doom of the company if they've treated me awesomely over the years)

</comment></comment></comment></comment><comment><USER29> Hmm, this outcome should be interesting.

As a rational person it's natural to gravitate toward purely objective.. well anything.

Generally people on the receiving side don't seem to handle this well; everyone gets bent out of shape because they think they have a special case.

Seriously I never quite understood why the whole world is full of conflict and claims and counter-claims until I became a parent of small children. Then it made sense.

<comment><USER30> _Hmm, this outcome should be interesting._

Probably a headline similar to the following some time in 2014.

 _Unbelievable Mistakes I Made in My Last Startup (figure54.com)_

 _139 points by ry0ohki 5 hours ago | flag | 78 comments_

<comment><USER31> I think this is the first time I've laughed out loud when reading a HN comment. I have a suspicion that you're right.

</comment></comment></comment><comment><USER32> >The fun (and terrifying) thing about running a company is that you're allowed to do... anything.

When you stop and think about it, that is one really powerful statement.

Which must be why it's so easy to mess up running a company, because channeling that power is no easy thing to do. It takes a lot of self-control and even more control in general.

I think a lot of hackers/startups underestimate this by thinking that because they can control machines then that automatically implies that they can handle a petty company.

</comment><comment><USER33> Maybe the median would be better than the mean? Any number lower than the median and more then 50% of the employees would want it higher, any number bigger and more than 50% would want it lower. It also protects from strategic voting: if you use the mean a person could strategically give a higher value that his ideal result, if he things the others will on average vote too low.

<comment><USER34> Agreed. It protects from strategic voting (or incompetence or malice) of a small number of participants, because it's a _robust statistic_ : [https://en.wikipedia.org/wiki/Robust_statistics#Examples](https://en.wikipedia.org/wiki/Robust_statistics#Examples).

</comment></comment><comment><USER35> So what you're saying is that you read Atlas Shrugged and decided to put Rand's conception of the worst possible way to run a company into actual practice?

<comment><USER36> I think what he's saying is he read this [1] instead and then decided to put it in practice... again.

[1] [http://www.amazon.com/Maverick-Success-Behind-Unusual- Workpl...](http://www.amazon.com/Maverick-Success-Behind-Unusual- Workplace/dp/0446670553)

</comment></comment><comment><USER37> I wonder what kind of scale or 'type' of organization this would work with.

It's effectively a re-worked version of what partnerships (law/CPA/etc) do for the partners themselves (vote on how much of the profit to take, vs. paying employee bonuses/etc.).

My gut assumption is that this will work up until the point where you have more than 2 'layers' of employees, or in any organization where all of the players involved are not highly skilled individual contributors (what would your secretary or janitor vote their salary to be, in an office of coders/etc?).

</comment><comment><USER38> I believe the author is right, this would not be right for every company. However, for small companies with a diverse skill set it is likely warranted or at least fair that everyone is paid the same. I also like the idea of letting the employees vote, because it gives them (A) more connection, emotionally and financially to the companies success (B) enables employees to imagine their self-worth which in turn makes them strive to be better.

One comment I must make is that I do not believe this will work in the long term. I am guessing when the company goes onto hard times there would likely be a unionization to force to keep from a pay cut (which is bad). However, there are cases where because everyone is in it together they are willing to not be paid for a period of time.

An example of this would be an interesting conversation I had with a founding member of Molex (they make connectors in every computer pretty much in the world [http://en.wikipedia.org/wiki/Molex](http://en.wikipedia.org/wiki/Molex)) who claimed that the owner came in one day and said there was no way to pay any of them, but if they stuck with him they would have a job for life and the pay would be based on company profits. The old man I was talking to was the janitor from 1940 and was still the janitor in 2005 and was one of the highest paid in the company (ironic huh!).

Anyways, the point is even a billion dollar corporation starts off this way and it seems reasonable enough and good enough to get loyal and hard working employees. There will be a time for change, but for now it is an interesting experiment and will likely work.

<comment><USER14> We've discussed the long term, and we all agree: it's not something that will stay like this forever. In the long term I don't think it would be fair to maintain a perfectly flat pay structure; we won't always hire people with the same set of skills or experience or responsibilities.

I don't expect to keep this system forever, but it's a good fit for us at this particular moment in time. I expect it will change as we change.

</comment></comment><comment><USER39> Sales are up, so everyone gets raises.

What happens when sales decline? By giving everyone an increase in salary, you're committing to pay that amount for the foreseeable future. If you can't ... then layoffs will happen.

So what if you used a salary + bonus structure? The problem is that firms have been abusing this for years, and employees are wise to it now. "Bonus? Never seen anyone pay on it, so doesn't matter."

<comment><USER40> Without the numbers, you're supposing too much.

From reading, I believe he had too much money in the bank, and too much getting in. So, yeah, we can't keep this stored forever, since the cart's still going up, and we have a lot to spare, let's raaise salaries to something we can keep in our current situation, possibly still storing a little.

If he was dumb enough to just raise to infinite and beyond (The sky is the limit!), I don't believe he would have been so successful until now.

</comment></comment><comment><USER41> I really do like experiments, but I think humbly that's a terrible idea. It seems to me that's a way to flee decisions and responsibilities for the OP but it can also be unfair for good and talented people shy and introverted. (We have a lot of that in our industry!). It reminds me of John Galt, Ayn Rand character who flee a company just like that.

</comment><comment><USER42> Wait, so every employee at the company makes exactly the same salary?

<comment><USER14> Correct. (At the moment.) (We're not saying we have to keep it that way forever, and don't expect to.)

</comment></comment><comment><USER43> This is a curious idea but I don't know if this solves any existing problem.

The motivation of the employees is to choose the red dot (employees' choice) not so high that you have to overrule their choice, but otherwise higher than the blue dot (employer's preference) and the white dot (current salary). Looks like they were successful this time :)

This would be more interesting article if employees were willing to reduce their own salary in lean times, or to relinquish a raise in good times.

I think a low red dot would illustrate a healthy company where employees have great buy-in to the success of the company - to the point that they are willing to protect the company's cashflow at their own expense - but this technique is going to create that situation.

I'd be interested to come back to this experiment in 5 years time, let's say. Good luck!

<comment><USER44> I'm not sure it was intended to solve a problem, but I think it does provide benefits of increased employee autonomy and mental investment.

That may move the needle on employee hiring, retention, or performance. Or it may just make the owner happy, specifically in the example the author appeared to value shared ownership as a goal in itself.

The author also appeared to appreciate the vote on pay as a metric to determine how the employees viewed the state of the company (i.e. how big the communication gap was between himself and the employees given the company's promotion of internal transparency).

</comment></comment><comment><USER45> Doesn't this open model proposed by Joel Spolsky make much more sense?

[http://www.joelonsoftware.com/articles/fog0000000038.html](http://www.joelonsoftware.com/articles/fog0000000038.html)

<comment><USER46> No, anything he has to say is not really worth reading now-a-days.

</comment></comment><comment><USER47> "What does it represent? Does it mean, given the opportunity, I'd lean low, and they'd lean high, in an effort to pull the numbers in a selfish direction? Maybe."

Not maybe. Obviously. Obviously, no matter how close knit the team is, and how well you know everybody, people still love the almighty dollar, and if they can will get more of them for doing the same amount of work. The boss on the other hand, as much as he loves transparency and communication and won't admit to it, also loves the almighty dollar, and subconsciously leant low.

</comment><comment><USER48> At a very early stage but well-funded startup, where everyone is relatively equal in age, capability or experience, I think the idea of everyone making the same 'monthly nut' money, like $100K per annum could be appealing. In the Bay Area, I actually think $100K after taxes/medical/401K deductions would be reasonable, high side. Cash/Stock bonuses could then be variable based on contribution. Equality, transparency and trust would be key

</comment><comment><USER49> Hmmm, this is a neat idea. But salaries tend to be sticky downward. What happens if your revenue drops back down to standard levels, such that the newly selected salary is no longer sustainable?

Perhaps a democratically selected bonus would be a safer option.

</comment><comment><USER50> The second graph is a perfect example for a shiny but utterly useless graph. I get that he doesn't want to share the exact figures, but without at least putting a zero point somewhere there is no sense of proportion at all.

<comment><USER14> Fair point, I may revise the graph if I have time in the coming week.

</comment></comment><comment><USER51> Looks like the OP is not Chris Ashworth.

I would also be curious to see some actual numbers behind this topic. Especially the number of employees + founders, and the skill sets of that combined team.

<comment><USER14> 1 founder, less than 10 employees: [http://figure53.com/company/](http://figure53.com/company/)

</comment></comment><comment><USER52> Have you thought about linking the salary to the performance of the company. Other industries operate this way... I want our industry to operate this way as well.

</comment><comment><USER53> Definitely interesting...but the obvious downside is the years when revenue goes down (if it ever does) are going to suck...HARD!!!!

<comment><USER54> And that doesn't happen elsewhere?

</comment></comment><comment> luke-stanley Holacracy have been voting on salaries and many other things for a while now. I'm surprised nobody has mentioned it yet.

</comment><comment><USER55> \- Welcome as a new addition to our company, btw here you can name your salary

\- Oh yeah? Wow!

\- Yes, please go ahead, for instance mine is Bob

</comment><comment><USER56> Hasn't anyone read Atlas Shrugged?

<comment><USER44> I have.

The correlation to the novel is limited however in our example. We're not talking about industrial complexes full of employees with vastly different market rates; we're discussing a 5 person team.

To abusively stretch a definition, "Communist" policies like this seem to have some success in very limited scope, such as family households. The other comments indicate it is apparent to everyone that as presented such a system would not scale to a larger organization. Such policies could be used as inspiration or a baseline to build scalable compensation plans that recognize individuals (or teams) that provide varying market value.

</comment></comment><comment><USER57> This sounds like 20th Century Motors all over again.

</comment><comment><USER58> I set my salary at 1 MILLION dollars.

<comment><USER59> This is where Dr. Evil's colleagues snicker and he counters his demands with "100 BILLION Dollars", right?

Seems a bit much to have people set their own salary. What happens if you have an engineer who decides their worth $190k when in reality they're worth $100k at best?

I prefer the idea of providing other benefits like flexibility to work from anywhere and a sane vacation policy (take as much or as little as you want, but make sure your shit gets done).

<comment><USER60> What happens? They get fired.

I'm all for workplace policies that give a greater amount of discretion to employees as to how, when, and where to work. But "set your own salary" is a bit like "set your own hours". Your decision ends up being highly constrained by existing norms, and by the fear of being terminated if you fail to choose the answer intended by management.</comment></comment></comment>


How to do (and what to expect from) early stage customer development - <AUTHOR> http://blog.thestartuptoolkit.com/blog/2012/05/how-to-do-and-what-to-expect-from-early-stage-customer-development-sales/

<comment><USER2> I've often heard corporate salespeople use the ABC (Always Be Closing) mantra, but Rob is so right ... for start-ups, it's ABT (Always Be Talking). And his comment about the conversations having a "goal" is perfect. You really do need to know what you're trying to learn before you start.

<comment><AUTHOR> Ya, exactly. 'Always Be Closing' helps performance for small-value sales where there's only ever a single interaction with the customer and the purchase price is low enough that they can't be bothered to come back and harass you.

For anything which takes longer than one meeting/call (e.g. everything a startup does in the early days) or which has a high value, though, ABC is actively counter-productive.

Neil Rackham did an awesome job of debunking most of the myths about hard closing in 'SPIN Selling', which is the only book on sales I've ever gotten real value out of.

</comment></comment><comment><USER3> Reframing the customer dev relationship as an advisor relationship and the mom test are two of the best ideas I've heard on customer development.

Going over to devour his blog...

<comment><AUTHOR> Just realised I never said thanks for these kind words.

Thanks!</comment></comment>


Ask HN: Best options for transcription? - <AUTHOR>

I am looking to finally start getting into transcription. ( processing user webcam recorded .flv 's and getting text back of what they say)<p>Needless to say, its hard to navigate the sea of available options. I see adwords dominated by companies that offer 1$ a minute but that seems crazy high for what I am doing. Is there some software I can run on my own server (with less accuracy of course) that would cut costs significantly? Ideally, I would love to get below 25 cents a minute and also not have to rely on people as well. <comment><AUTHOR> Of note, I did see [http://waxy.org/2008/09/audio_transcription_with_mechanical_...](http://waxy.org/2008/09/audio_transcription_with_mechanical_turk/) which looks like it could be a feasible option (though still above my target price) , but that was almost 2 years ago so I am hoping a completely computer automated solution is available by now.</comment>


Nexus Wireless Charger - <AUTHOR> http://www.techweekeurope.co.uk/news/nexus-wireless-charger-google-132427

<comment><USER2> I'm missing something about these chargers. I love the idea, love them... but every device I have is in a case. So, I guess we now need Qi powered cases :( ?</comment>


Neanderthal and friends support CUDA 9, Java 9, and Clojure 1.9 - <AUTHOR> http://dragan.rocks/articles/18/Neanderthal-018-CUDA9-Java9-Clojure19-update <comment><AUTHOR> Also the github link to the source code repositories: [https://github.com/uncomplicate](https://github.com/uncomplicate)</comment>


Medicine and Statistics Don't Mix - <AUTHOR> http://freakonomics.blogs.nytimes.com/2008/04/09/medicine-and-statistics-dont-mix/ <comment><USER2> This is a remarkably common fallacy when interpreting false positives, false negatives, or sensitivity/specificity data. It's a shame Bayesian statistics isn't more commonly known as it's a good way to avoid the misconception.

Simply put: extraordinary claims demand _extraordinary_ support.

If the prevalence of PGD is very low, you need a great deal of weak tests showing positive results or a hypothetical _extremely_ sensitive and specific test showing positive results. Both routes are difficult and expensive.

</comment><comment><USER3> really?</comment>


Ask HN: MentorHour - What do you think about my idea - <AUTHOR>

Pitch: MentorHour lets well-known & experienced mentors lay out a definite path for learners to follow towards gaining knowledge.
I've heard of many people who prefer a "classroom like" structure while learning something new rather than googling for articles/tutorials on the topic.  So I envision a place where Mentors can start hourly sessions/courses teaching the protege's that follow them about any topic.  The course/sessions can involve exercises/assignments that the students can do.
Business Model:
Sessions/Courses can be free or paid.  Site takes x% out of the final sale of the mentor
How is it different than,say, skillshare? :
  Doesn't let just anyone teach a course
  Everything is in the site. Doesn't require students to go to a specific address
Why should people participate :
Build street cred Earn money (Mentor) Learners can stop worrying about tutorials on the topic and just concentrate on the material presented by the mentor
What do you think about this idea? I understand the biggest problem will be to attract well known people in different fields.  From top of my head I am thinking about authenticating people from SO with reputation of above (X).  As the idea unfolds, I'd have to gain knowledge about other areas and known people from those areas. <comment><USER2> Several issues that I would like to highlight:

Skillshare is just one competitor - there are several startups doing similar things. Do more research about competitive landscape.

Furthermore, you will also be competing with not-for-profits (khanacademy) and institutions (MIT Open Courseware, StanfordU on iTunes, etc) which offer free knowledge. Free is hard to beat.

Lack of a laser-focus: define a niche market of 'learners' seeking a particular kind of knowledge.

Lack of a value proposition: Read your pitch and ask yourself 'So What?'. Repeat as many times as necessary to refine your pitch until it resonates with your audience immediately.

If your idea is going to be built around attracting celebrity mentors or subject matter / industry experts then that's a very big challenge. What's your plan of attack for that?

I could go on, but I hope you get the point that what you are describing is a generic idea. You need to spend more time researching and refining it before anybody could provide you with any meaningful feedback about pursuing it as a business venture.

</comment><comment><USER3> I like the general idea, however I would consider focusing it more on being a brainstorming session rather than a lecture. As a Ph.D. student, all my interesting conversations have been with my advisor and other faculty, usually over beers or some other informal setting. I generally don't get inspired during lectures. They are more or less to develop a base of knowledge, not to generate ideas.

It is also a chance to informally reinforce or learn new concepts about specific points of your ideas while you are discussing them back and forth.

To me, that is what a mentor does. Not help you understand a tutorial or what not.

<comment><AUTHOR> Hmm I like that. Burden can put more on the learner mentors can pitch in or requested as required by the learner.</comment></comment>


Ask HN: Outsource cold email outreach list? - <AUTHOR> Received wisdom teaches us that cold emailing lots  of potential customers is one of the best ways to get a b2b project off the ground. But I feel like building a 100 person email list is one of the tortures of the damned.
Has anyone tried outsourcing the dirty work of searching LinkedIn and Google for decision makers in your target market then tracking down their contact info? If so, can you suggest any strategies for success?
Note here that I'm excluding the higher value work of understanding the contacts needs and doing the actual personalized communication. <comment><USER2> When creating an initial outreach list it helps to have an ideal customer profile to look for rather than a general 'job role at company type' search.

In the early stages, creating this profile might be an iterative process until you start having conversations with people. If you want, I can send you a guide for how I build these types of lists.

</comment><comment><USER3> You might want to reconsider this... if you are trying to outsourcing your initial cold emails you'll regret that decision later. Your first customers are the foundation for everything in the future, and you want to have a solid relationship with them... starting with your first communication.

<comment><AUTHOR> I'm talking here strictly about outsoucing identifying the potential customers, not understanding their pain points or actually communicating with them. Are you saying that the process of identification is itself valuable?</comment></comment>


3 Ways to Get "Open Office" Benefits Without Wall Demolition - <AUTHOR> https://medium.com/@hibox/3-ways-to-get-open-office-benefits-without-wall-demolition-abed33dc6db8#.ve4509bxe <comment><USER2> > You know what's cheaper than wall demolition? Chat platforms.

As if there were walls to demolish in the first place.</comment>


The Making of an Incel - <AUTHOR> https://thewalrus.ca/the-making-of-an-incel/ <comment><USER2> There was a wonderful rhetorical trick I heard recently regarding incels:

"Why are people against incels? Because everyone hates low status men."

Back to the article, there was no mention of society or historical and recent changes in society in this article. There was no attempt to put the writers feet in the same shoes as a hypothetical incel. It reminded me of the very common type of article on islamic terrorism which focuses on how terrorists get radicalised and how they are organised and ignores the basic geo global politics background which drives them. Perhaps it's intentional, but perhaps to attempt to understand and empathise with any terrorist could be seen as humanising them.

</comment><comment><USER3> There is no universal right to have sex with another person. You can always have sex with yourself, if nothing else.

If you want it badly enough, you can always find someone who will be willing to let you pay them for it.

If you blame your radicalization on the fact that no member of the appropriate gender has been willing to have sex with you, then I submit you have much bigger problems than just trying to blame your problems on someone else.

As for myself, I didn't have my first girlfriend until I was 29. Among other things, she seriously messed up my 30th birthday, by trying to turn it into a company celebration when in fact all I wanted to was to spend time with her. My second girlfriend ended up making me the happiest man on earth, by agreeing to become my wife. And we've now been happily married for more than 20 years.

I used to think that the old saw "There's a perfect match for everyone, you just have to look hard enough" was one of the cruelest jokes ever played on humanity. But I never blamed my problems in this area on someone else.

</comment><comment><USER4> If there are actually large numbers of incels, that would tend to argue against existing high levels of internet-mediated PSYWAR, because one would expect that young already-radicalised males would be prime candidates to recruit for other causes.

[https://news.ycombinator.com/item?id=24373042](https://news.ycombinator.com/item?id=24373042)</comment>


Executing Software Engineers for Bugs - <AUTHOR> https://blog.setec.io/2015/11/01/ethics.html <comment><USER2> When people bring up a code of ethics, actuaries seem to come up a lot because they can potentially lose their license for mis-evaluating risks, but anecdotally what I've heard is that in reality if your boss asks you to sign off on something, and you refuse they'll find someone else to sign off on it and just label you as not a team player. At which point you've harmed your career and had no real impact.

I bring this up because when people propose a code of ethics, they assume it will help, but I'm not really convinced that we will really get to a point where codes of ethics are widespread and taken seriously enough that they will do anything but harm the altruists among us.

<comment><AUTHOR> That's true. Is there a value to refusing to do work, even though it might not be able to stop something from being built in spite of it?

If you know, a priori, refusing to work on something you consider to be unethical will have /zero/ effect on the overall project, but negatively affect you, is it then ethical to do the work, or are you required to fall on your sword?

<comment><USER3> I'd contend that you don't know that it will have zero effect until you have tried, and how you go about refusing assent is of critical importance. If you simply say "no", your boss will move onto the next person for assent, and you will be left vulnerable. Make it a formal process, it it may well have an effect.

1) Listen to all competing arguments. Make sure you are making a sound decision and your opposition is genuine and not based on a personal bias.

2) Make it explicit that you are are saying no in your role as a professional, and that this is not just a casual "no". Ethics require engineers to make decisions only in areas of competency, so make it clear that you are competent to make this decision, and your decision derives directly from your competency.

3) Write it down. The document should cover 2) above, and set down the defensible reasons why assent is being refused, addressing counter arguments. Consider that the arguments you write down could well be tested in court, and you will be cross examined on them. The document/report should be of the same level as if you were a consultant to your employer.

4) Sign and submit the document (keeping a copy for yourself). You need to be open about your opposition. Keep it at a professional level. Hopefully you will get some respect, as your document should make it clear that you have legitimate concerns and are not just being difficult.

5) Be prepared for the consequences. Your opposition is now in writing and impossible to ignore. No sane boss is going to ignore it, as the legal consequences of doing so are too great if you turn out to be right. You will have heat applied to you, as the alternatives are to either address your concerns or to get you to retract, and the latter option is cheaper.

6) If the final decision is against you, either live with the decision or resign. If the issue is of sufficient gravity your only option may be to resign, whether that be for ethical reasons or your own legal protection. (Yes your Honour, my work killed 100 people, and I was fully aware of it as shown by this document that I wrote.)

If you end up resigning, then you're probably making the right decision anyway, as the events leading up to your resignation will have shown your employer to be a dud.

Granted, reality won't be as cut and dried as above, and will involve a lot of anguish.

<comment><AUTHOR> Very true. From a philosophical standpoint, I still believe considering the zero effect case is interesting, but from a practical standpoint, I will gladly cede the point to you. This process seems an impressively good balance for a very hard, miserable situation.

</comment></comment></comment></comment><comment><USER4> >But making the leap from that to "my code can't harm people" is a bridge too far.

Meh. My application is an internal app for a large company. It's basically scheduling software for a part of our business process. To even start to hack it you'd first have to break into the corporate network, and in the end you'd have data you didn't care about. Hell, I'm not even sure the people who use it care.

Worst case, a subtle bug (and it would have to be subtle for my users to miss it) might cost my employer a few thousand bucks.

Again, meh. There are a whole lot of internal applications that fall into this category.

<comment><USER5> That's not the right way to think about it. Just because you cannot imagine a way your software can be used to attack your company or harm the users, doesn't mean such a thing is impossible or unlikely.

</comment></comment><comment><USER6> "Executing Software Engineers for Bugs"

Never have I been prouder to be a plain old programmer. Those software engineers, architects, systems analysts, and data scientists can keep the capital punishment for themselves.

<comment><USER7> You don't need a title to take responsibility.

<comment><USER8> The idea that "taking responsibility" is how we prevent bugs is what's wrong in the first place.

Quality is systemic, and has its roots across the organization.

</comment></comment></comment><comment><USER9> This author's first sentence is: "There is an apocryphal tale I've heard many times about how, in Ancient Rome (or, in some tellings, Greece), the engineers responsible for the construction of an arch were required to stand underneath it as the final wooden supports were taken out."

This story is derived from Law #229 of the Code of Hammurabi (of Babylon). Babylon was not part of Greece, but it was very briefly part of the Roman empire.

" 229 If a builder build a house for some one, and does not construct it properly, and the house which he built fall in and kill its owner, then that builder shall be put to death. "

[http://avalon.law.yale.edu/ancient/hamframe.asp](http://avalon.law.yale.edu/ancient/hamframe.asp)

<comment><USER10> My Dad told the tale of a farmer coming to the repair shop with a tractor gas tank needing repair. The mechanic refused. The farmer insisted he'd cleaned the tank; no danger of explosion while it was being welded. The mechanic replied "Ok, I'll weld it, if you hold it while I'm doing that." The farmer left.

</comment></comment><comment><USER11> I'm not a big fan of professional bodies or mandatory qualifications. I think these tend towards rent seeking, with these bodies existing mainly to justify their own existence. In the case of software engineering, I'm especially concerned about academics with little real world experience using valid security and privacy issues as an excuse to force their own view of how software engineering should be done on everyone else.

That said, my employer has standards for security and privacy that go well beyond industry norms, so if I was working elsewhere maybe I would feel the need for better standards across the industry.

In my experience, software engineers tend to be conscientious. Caring about the big picture is a big part of open source, hacker and nerd culture. But knowledge is hard to come by. I learnt from the experts, but I doubt most engineers would be able to build a simple CRUD app form scratch without major security holes.

It would be nice to see some best practices around security and privacy emerge without forcing everyone to write Ada or Coq or completely change their approach to writing software.

</comment><comment><USER12> We _can_ write software like this.

The reason why we don't has been explained many times: It's too expensive, by many orders of magnitude.

<comment><USER8> This is simply false. True systemic quality will lower costs, speed production, and increase value all at once.

The reason is that, beyond a certain organizational complexity, we fail at creating the systems necessary to create the positive feedback loops necessary for quality, low cost, and fast execution to flourish naturally. Instead, we live in dysfunctional organizations where the tradeoffs prevail, and we choose speed and cost over quality in nearly all cases. Most of the time, we don't understand how to even begin to think about quality at an organizational level.

It's fully possible. Quality pioneer W. Edwards Deming explained the full system for creating an organization that is capable of quality in the first place. It mainly involves systems thinking, knowledge of variation, understanding psychology deeply, and creating systems of effective learning—and management and leadership versed in those new leadership competencies.

Instead our instincts are to blame, to punish, to hold accountable, effectively to leave each engineer as an island in charge of his or her own level of quality—when an organization and its production is so far removed from individual control it's not even funny.

We absolutely _can_ write software like this—and we can do it quicker, and for lower cost. We need to work on the systems that produce and influence that quality/speed/cost relationship—not each individual part in isolation. There is a positive cycle to be achieved.

[https://en.wikipedia.org/wiki/W._Edwards_Deming](https://en.wikipedia.org/wiki/W._Edwards_Deming)

<comment><USER13> You've stated that it's not more expensive. But everyone in the industry knows otherwise. Unless you can produce some evidence to the contrary, I'm going to insist it's you who is incorrect here.

<comment><USER8> That's a highly simplistic and incorrect viewpoint—and the correctness of a model is not dependent on popular vote.

When looking at increasing quality (essentially, scope) in isolation of systems and the environment in which that quality is created, then the only way to increase quality is to increase cost. That much is true, but it's also incomplete.

When looking at and eventually optimizing the whole system—from the customer and their needs, to the leadership of the company, to the clarity of purpose, to values and culture, to the intrinsic motivation of your employees, to methods of management, to your learning and education processes, to your processes of production, to your communication links, to your output and how it's measured, and how each is controlled and understood in great detail—you can and will improve quality much more than you could by simply increasing cost in isolation—and at the same time, you'll decrease your overall costs in the long term, you'll speed up production, and you'll increase sales and customer satisfaction. The end result is a better product, for lower cost, with more predictability, proud happy employees, and faster to boot. That's what Quality really means.

Looking at quality in terms of cost alone is the naive mistake. Look at the whole system.

And for some evidence, look at Japan circa 1948. These exact methods of systemic quality, "total quality control" and statistical quality control taught to Japan by W. Edwards Deming turned them from the ruins of World War II into the second largest economy in the world, to the point of such success that Japanese companies were putting American ones to shame by the 70's. They did this by following exactly the model I've described above, decreasing total costs, increasing quality, and improving time to market, all by focusing on their total systems across the organization. The proof is in the success of an entire country's economy, I don't know how it can get much clearer than that.

It is not my fault that everyone in our industry has forgotten these lessons on running companies, but the prevailing methods remain incorrect, as does your original statement.

<comment><USER14> Either you're wrong or literally every software company on the planet is wrong.

I'm betting it's you.

Please do prove us all wrong by starting up a software company that produces bug free software faster and cheaper than every other software company on the planet. There's a big pot of gold at the end of that journey. Go and claim it. If everyone else is as incompetent as you claim, it's going to be a walk in the park.

<comment><USER8> Not only software companies, but most companies in the US are indeed wrong about the prevailing methods and styles of management and leadership. Is this really that surprising to you? Do companies you work with appear chaotic yet surprisingly successful? Do the same things keep going wrong? Do they get in cycles of cultural upheaval? And do we accept these things as "normal business" and go on with out lives, powerless to control them?

And I'm not saying it's easy. Not at all. It might be the hardest problem in all of business—combining the true systems of work into a cohesive philosophy: systems, statistics, people, and knowledge. I'm just saying (and I'm just repeating the words of some great thinkers in the quality space, mind you) that if we change the way we think about quality and companies in general, we'll get a lot of gigantic unrealized gains in productivity.

This happens naturally in many companies in small pockets, but human nature and psychology tends to break it down eventually.

If I'm wrong, then a great many other people are also wrong, primarily W. Edwards Deming, who, as I noted, single-handedly turned around the _entire economy of Japan_ using these exact methods and ideas.

Here's a great place to start: [http://www.amazon.com/Leaders-Handbook-Making- Things-Getting...](http://www.amazon.com/Leaders-Handbook-Making-Things- Getting/dp/0070580286)

</comment></comment></comment></comment></comment></comment><comment><USER15> OK,

I think we all can agree that programmers almost never begin a project with the intention of causing harm. All the examples cited involved situations where immense pressure applied by higher-up impel a programmer to knuckle- under and agree to such approaches.

The solution that is offered seems very specific to now - we take the fall guy who caved in to one sort of incentive and we put an opposite incentive on him to force a different behavior (btw without removing the first incentive). How fucked-up is that?

Obviously, the better, saner solution is removing the existing perverse incentives, giving software engineers more leverage in decisions, punishing high-ups if they don't give software engineers autonomy to make decisions. And heck, execute the CEOs when the bridges collapse. The bucks should stop with them, right?

<comment><AUTHOR> The problem becomes... what if the CEO is unaware of it? Volkswagen, for example. It is highly unlikely in my mind that some engineer somewhere in the trenches decided, in desperation, to add in a few lines of code to make sure the engine passed emissions tests. But, do I think the CEO of Volkswagen signed off on adding the code? No.

There's a diffusion of responsibility that makes it hard to point to any given person after the fact. How can we arm people - software engineers, but product designers, project managers, QA engineers, CEOs, and the welders on the assembly line can say, "Hold on, stop, this isn't right!"?

<comment><USER15> I think that shows the limits of the punishment after the fact approach. The point is to demand that companies create an atmosphere where professionals have some autonomy to make decisions based on their expertise rather than the good of the company. Unfortunately, the trend is things going the other way for virtually all professionals, not simply almost-professionals like programmers.

</comment></comment></comment><comment><USER16> Until it is the CEO..CTO..and vc that is standing under the bridge...nothing will change.

<comment><USER17> How would they know whether the bridge is designed badly? What's the reasoning behind your underlying suggestion?

<comment><USER18> > _How would they know whether the bridge is designed badly?_

It's their responsibility. If it's not possible for them to comprehend the design and execution thoroughly enough, they'd better make sure they had someone check it whom they can trust to understand it. Like ancient builders, who didn't lay every stone themselves, but were still responsible for the outcome.

Perhaps our standards for responsibility of leaders are a little low these days.

</comment></comment></comment><comment><AUTHOR> Those of you with a membership in ACM or IEEE, I'm interested in hearing your thoughts on why you do.

Those of you who don't, would you consider pledging yourself to a code of ethics if they met your requirements? What would those requirements be?

<comment><USER19> If it meant having a job or not, sure I guess.

<comment><AUTHOR> What if sticking to it meant that you'd have to resign? A code of ethics that you have to sign for work is one thing. A code of ethics that you hold above employment is quite another.

<comment><USER20> Programmers are well-paid and have excellent employment prospects. In the off chance I did encounter an unresolvable ethical issue, it would not be very hard to resign and find new employment elsewhere. Given how much better off I am than most other workers in this country, I think it's a small sacrifice.

To address the thread topic, I'm a P.Eng, ACM member, and IEEE member.

<comment><AUTHOR> Are you a P.Eng in software, or something else? (I know there are only a few places in the United States where you can even challenge the PE exam as a software engineer).

<comment><USER20> I'm a Canadian. My degree is electrical, but my field of practice is software engineering.

</comment></comment></comment></comment></comment></comment><comment><USER21> No! This is the equivalent of saying that kids shouldn't have chemistry sets or be able to play on jungle gyms. Saying that critical infrastructure needs to be "bug-free" is one thing, saying that dating site apps need to be is ridiculous by comparison.

And even in the case of bridges and the like, they do have a tendency to collapse to earthquakes, wars, and the like. Given enough time, most everything has bugs.

<comment><USER22> > Saying that critical infrastructure needs to be "bug-free" is one thing, > saying that dating site apps need to be is ridiculous by comparison.

I think you are right, up to the point of security. The problem comes when the handling of customers' credit cards is treated as if it were just a dating app.

</comment></comment><comment><USER23> An old observation, but still relevant: We really have no liability in our profession, compared to other licensed professions. Why does software quality suck? Because our customers almost never sue us if the work we do does not meet expectation.

<comment><USER24> I think this is the problem, solving people caring about software would also make them more likely to prefer more open (e.g. open source) designs.

</comment></comment><comment><USER25> > Unlike our brothers and sisters in the other engineering disciplines, > though, software engineering does not have the same history of mandatory > formal education.

Was there a time when other engineering disciplines were not formally schooled? Did they develop into having formal education or were they born that way? Is computer programming moving in the same direction via organizations like the ACM?

Can we learn from other fields who have in fact experienced similar issues on some level? Do we need to reinvent the wheel of creating an effective culture that rewards all the values humans desire? What are those? Success, ability to express oneself, ... ?

<comment><USER26> If anything, with the advent of bootcamps, software engineering is moving away from formal education and into trade schooling. Personally, I think this is a step backwards for the discipline.

<comment><USER27> I resent a little bit.

I'm a boiler-maker / welder by trade (metal fabrication). My trade certificate actually says "Engineering Tradesperson". I operate a laser cutter, and have written scripts to automate some of my computer related tasks, and have a rudimentary understanding of Python. I've also worked at an ISP in NetOps doing physical security and infrastructure.

I live in Australia so I can only speak for the system we have here: trade school is _formal education_ , the on-campus component of trade education is delivered throughout the nation by TAFE[1] campuses. We are formally educated to build things that don't kill people, and can certainly be held responsible if our actions or omission of action leads to injury. We are expected to escalate anything we see on workshop drawings that could be problematic. Each of the tradesmen in our workshops are required to perform a weld test every six months, which is examined using ultrasound techniques, to ensure our work meets or exceeds AS1554[2]

While us tradespeople aren't the ones engineering the bridges, we are the ones building them.

Comparatively, the software development discipline is still in it's infancy, whereas the construction trades have been around for millennia. Structural Engineers and tradespeople build physical structures to withstand Category 5 cyclones, but my bank (in the top 10 globally by market cap) can hardly have a month go by where some software system doesn't fail.

The advent of bootcamps is probably a side effect of 'coding' becoming relatively easy compared to it's more esoteric history, with the advent of high-level languages like Python and Ruby. Or maybe that stuff about the average IQ increasing over time is correct, and more people have the capacity to understand writing code. Probably both.

Another comment here spoke about TDD - Test Driven Development, that's probably closer to the physical engineering disciplines with destructive testing of random batches of building materials.

1\. [https://en.wikipedia.org/wiki/Technical_and_further_educatio...](https://en.wikipedia.org/wiki/Technical_and_further_education)

2\. [https://infostore.saiglobal.com/store/PreviewDoc.aspx?saleIt...](https://infostore.saiglobal.com/store/PreviewDoc.aspx?saleItemID=2247480)

<comment><USER26> Please accept my apologies.

With the current state of bootcamps in the US, I feel it's a stretch to call them formal education. They are at best short training programs. There's no accreditation, no accrediting body, and no real quality control beyond the press. That the field has few widely accepted standards does not help matters.

Personally, I suspect that the advent of bootcamps in the US is a fad driven by the explosion of the tech sector and the amount of time it takes to train a computer scientist. I suspect that in ten years, they will be much less popular as people who only know Ruby or PHP drop out of the field. It's hard to have a multi-decade long career in computing if you don't actually understand computers.

</comment></comment></comment></comment><comment><USER28> There's no such thing as bug free code. So yes, I've deployed coffee I knew had bugs. And if I took twice as long, and spent the extra time checking, it would still have bugs...

</comment><comment><USER29> Effective code of conduct requires stable environment, people knowing each other and so on. No way it can be implemented in profession that's booming at the rate programming is.

</comment><comment><USER30> Whoever claims that he never saw his software deployed to production with bugs has never written anything of any complexity. Adding "... he knew about" to that statement softens it a little, but not too much.

Problem comparing software engineers to the civil engineers lays in the ability of the latter to constrain their users, e. g. stating the weight limit for the bridge. Try to do that with software and enforce it.

</comment><comment><USER25> > If we were required to "stand under the arch", as it were, how many of us > would have pushed back against things that our employers asked us to do?

We can't achieve this consistently with privately owned software. Software must be public and transparent to have consistent accountability.

In the case of Grindr, for example, I assume we don't know exactly who wrote the original code. And the company would probably protect that information.

I believe those who contribute to open source software can and do subscribe to the author's desired level of accountability specifically because they know everything they write is available for public scrutiny for eternity.

</comment><comment><USER31> Regarding the various calls that it should really be the CEO who gets executed, I'd wager those ancient bridge builders probably _were_ the "CEO" of the relevant bridge building operation. Specifically, they probably managed substantial funds obtained from some Royal and had plenty opportunity to trade-off between personal profit and structural integrity.

Calls to transfer the idea to today's lowly programmer drone would be akin to ancient bridge builder absconding with substantial extra profit after convincing his Royal that it really should be the bricklaying crew who should line up under the bridge.

</comment><comment><USER32> Some Mexican drug gangs _do_ execute engineers for fucking up. And they recruit by kidnapping family. Hardball capitalism, for sure :(

</comment><comment><USER33> 140ce? What the hell does that mean?

<comment><USER34> [https://en.wikipedia.org/wiki/Common_Era](https://en.wikipedia.org/wiki/Common_Era)</comment></comment>


Plan to split California into 6 states to appear on 2016 ballot - <AUTHOR> http://www.theverge.com/2014/7/15/5901319/plan-to-split-california-into-six-states-could-appear-on-2016-ballot

<comment><USER2> >Silicon Valley would become its own state according to the plan

This is the first step towards realizing Balaji Srinivasan's insane vision: [http://www.nytimes.com/2013/10/29/us/silicon-valley- roused-b...](http://www.nytimes.com/2013/10/29/us/silicon-valley-roused-by- secession-call.html)

<comment><USER3> Rapture 2.0</comment></comment>


Patch for critical privilege escalation flaw in Kubernetes - <AUTHOR> https://groups.google.com/forum/m/#!topic/kubernetes-announce/GVllWCg6L88 <comment><USER2> Shame they aren't updating anything older than 1.10. 1.09 was released just a year ago.

The commercial K8S vendors seem to be doing the patch all the way back. Smart move by them to signal to the enterprise the value of using a commercially supported K8S distribution over something like kops or kubeadm.

<comment><USER3> Kubernetes has a hard time defining itself sometimes, this behavior makes sense if you think of Kubernetes as a kernel. You either run directly on the kernel, or use a OS that adds features and LTS support to it.

I know however that there is a LTS-SIG that's trying to figure out what Kubernetes is, and for how long old releases should be supported.

</comment></comment><comment><USER4> I don't really understand the fix: [https://github.com/kubernetes/kubernetes/pull/71412/files](https://github.com/kubernetes/kubernetes/pull/71412/files)

I was expecting something that altered more rather than a bunch of length checks. But I guess that's how security is sometimes.

</comment><comment><USER5> hm, so only people are affected that gave users access to specific permissions that are not supposed to do everything. we only allow cluster access to people that needed cluster-admin rights anyway..

for anybody else, we abstract k8s away.

<comment><USER6> [https://github.com/kubernetes/kubernetes/issues/71411](https://github.com/kubernetes/kubernetes/issues/71411) for more details, which includes:

      In default configurations, all users (authenticated and unauthenticated) are allowed to perform discovery API calls that allow this escalation.</comment></comment>


Without proof, is Huawei really a national security threat? - <AUTHOR> https://techcrunch.com/2019/01/26/is-huawei-a-national-security-threat <comment><USER2> Yup. Even the U.K. is in panic mode........

[https://www.theguardian.com/business/2019/jan/25/vodafone- pa...](https://www.theguardian.com/business/2019/jan/25/vodafone-pauses- huawei-equipment-core-network-across-europe-security-concerns)</comment>