How to Participate in Hacker News

971 words

I recently received an inquiry from a Hacker News newcomer on how to best participate in the community. I was ready to reply, "Just follow the guidelines and be yourself." Then I realized that it was actually a very good question that deserved a much better answer.

So here is my more detailed answer, based upon many years of hard knocks.


Who is a superstar developer?

170 words

A smart accountant once told me that the answer to "How much money did you make?" is always, "Who wants to know?" If it's an investor, the answer is "A lot." If it's a customer, the answer is "A little." If it's the IRS, the answer is "None."

Same thing here. The answer to "Who is a superstar developer?" is always, "Who wants to know?"

To a project manager, the programmer who hits every deadline (regardless of quality) is a superstar.


Do you think you have peaked?

163 words

Not even close.

30 years of programming and my best code has always been my most recent. I just keep getting better and better with no end in sight. And I love it. As far as I'm concerned, there's absolutely no reason to believe the hypothesis of peaking and declining. Not me, that's for sure, and not most of the people I know in their 40's and 50's.

In this way, we are not like athletes at all. I remember watching Michael Jordan when he played for the Wizards, riding the stationary bike to keep loose during timeouts. What a pity, I thought, to be at the top of your game, then a shadow of yourself just 5 years later.


Why do you program?

277 words

I'm not in it for the money. The money is a barometer of something else. If someone can make money in this business (not that hard to do), then something they wrote is successful at some level.

I can confidently say that 90% of the code I have ever had to maintain is total garbage. I am often stunned that it even runs and I used to wonder how it ever made it into production. (I don't wonder any more, now I know, hardly anyone QA's source code anymore.)

(Another example: Today I refactored 1200 lines of code that edits credit card numbers down to 46 lines, removing 4 bugs in the process. This has been running in production for 18 years. This is not a joke.)


What are your hardest learned lessons?

394 words

A few of my hard earned lessons:

Time spent working does NOT necessarily = amount of work completed. It's easy to get discouraged when you sense you're not spending enough time on something. Two days ago, for example, I didn't work much. But it was a very productive day! By the end of the day, I figured something out and the flood gates opened. That's just how it works for programmers sometimes. If you don't care anymore, that's one thing. But being frustrated about time spent is a signal something else is wrong, not your commitment.

Some experts think we are either preprogrammed with "moving toward" or "moving away" internal metaprograms. OK, whatever. I'm an optimistic person, so I just assumed I was a "moving toward" person. Wrong! I am HIGHLY motivated by that which I do not like, but I never realized it. If I see something I like, I think, "that's cool". But if I see something I don't like, I think, "That sucks. I can do way better than that." So I do. It may be one of the 7 deadly sins, but jealousy is a great motivator for "moving away" people. I'm older than every speaker at Startup Weekend, the Chief Justice of the Supreme Court, and our president. But I'm just as smart as any of them, and I haven't got mine yet. That just makes me angry! (See, it works, I'm ready to hack right now.) What about you? How are you programmed? What can you do to stoke yourself (or upset yourself)?


What have you learned from mentors?

170 words

The most important lesson my mentor ever taught me:

We went to a client to work on Problem X. He quickly determined that solving Problem X would achieve nothing. Problem Y was the real problem, but was way outside our areas of expertise.

So what did he do? He slept 4 hours a night for the next 2 weeks studying everything he could find about Problem Y. He reviewed reports, industry literature, called experts, and talked to as many people in the company who knew anything about that subject area. Within 2 weeks, he presented a brilliant solution that no one had ever considered but was instantly understandable by their experts. (That solution included work done by us and we had a great client relationship for years.)


Who are the real heroes of programming?

168 words

My customers.

My customers do great things. They often need my software, built and functioning properly for years to do these things. I love building stuff, but they are the real heroes. Just some of the things that they do:

- get the right drugs get to the right people



182 words

I try to approach not to change the world, not to build cool stuff (well maybe just a little), but to genuinely help people. For a business person, this thinking is difficult and counter-intuitive.

Why do I do this? Because of my first mentor (and cofounder).

He was relentless in everything he did. I learned to stay up all night, keep calling on customers, and stay with tasks until we got somewhere with them. I remember many nights with thousands of invoices spread across the carpet, watching the graveyard shift run their machines, or scanning reports on-line, looking for clues. He wouldn't quit and the reason was always the same, "These people need help and we can help them. So we do. Don't worry about how hard it is or how much time we spend. It'll all work out in the end."


What if I'm not as good as someone else?

178 words

"If you're capable of writing the best web framework in the world in your spare time, chances are you can also create a business at the same time."

Don't make the mistake of underestimating yourself.

I'm not suggesting that you'll go out and write Rails in 3 weekends. What I am suggesting is that the more I meet famous programmers and the more I meet people from this community (online and offline), the more I realize that there's not really all that much that separates us.


It's Never Too Late

131 words

Teen years - flipped burgers & partied

Age 21 - graduated college, flipped burgers, & partied

Age 24 - touched my first computer

Age 25 - wrote my first program


It Can't Be Done

368 words

"And in my experience when enough people are saying that 'you can't do that' there is an opportunity waiting for you that is proportional in pay-off to the number of people asserting that it can't be done."

Great thought.

Most of my most memorable successes were when others said that something couldn't be done. First you think, "Why not?" Then you think, "What would it take?" Then you figure that you'll never find out for sure unless you try. The reward is compounded by the initial skepticism.


How perfect do you have to be?

171 words

I can attest that trying to hit a homerun and hitting only a single or double is still great.

I tried to prove Ferman's last theorem (years ago) for my senior project. I didn't :-) But I turned in what I had and got an A+ and 4 invitations to grad school based on that paper alone.

I entered my fraternity into a contest for Chapter of the Year. I didn't care about the trophy; I only cared about what would happen to us by doing all the things needed to try for it. It worked.


Are good programmers born or made?

221 words

Smart. Motivated. Works well with others. Has passion. Good problem solver. Detail oriented. Able to focus.

In order to be a great programmer, how many of these are important? All of them.

How many are necessary? None of them.


Are programmers expensive?

88 words

"Hardware is cheap, programmers are expensive."

Mediocre programmers are expensive.

Good programmers are the bargain of the century.


How far from shore are you?

112 words

I have 2 signs above my desk.

One says, "It doesn't matter". This is for when I get so stressed out, I have trouble doing anything. It helps keep things in perspective.

The other says, "Jabez Wolffe". His guide boat forced him to abandon his swim across the English Channel because they couldn't see through the darkness and fog, and it was too dangerous to continue. What they didn't realize was that they were only 100 yards from shore, but they had no way of knowing.


What is "fear of failure"?

222 words

I had a friend in college (I'll call John) who would shoot hoops, play golf, or play table tennis with anyone at any time. But he would never play anything else. He wouldn't play touch football, softball, bridge, or even shoot a game of pool. I could never understand it until I finally figured it out: he wouldn't play anything unless he knew that he would win. How sad, I thought.

I just realized (to my horror) that years later, I am just like him. I don't push boundaries like I used to. I don't call on that extra customer, volunteer for that project, or apply to programs like yc if I think there is any chance I won't win. There's always a reason: the software is missing too much, the demo sucks, there are 14 other things that have to be done first,: You get the picture.

I never thought of this as "fear of failure". I just got so used to succeeding in everything I did that I didn't want to do anything else where I didn't succeed. I became John without even realizing it.


The Code is the Star

118 words

If you want to be famous, go be an entertainer, athlete, or politician.

If you want to be a programmer, check your ego at the door. The two biggest roadblocks to success in programming are incompetence and attitude. Big Ego = Bad Attitude.

I measure my success not in fame, but in the value gained by those who use my software, and the value gained by those they serve, and so on, and so on. I don't know them and they don't know me, but I'd like to think the world's a better place because of all the ones and zeroes I've arranged. They are the stars and that's good enough for me.


How can I be excellent with a day job?

193 words

"How do I get my mojo back and get that level of technical excellence back?"

You decouple your day job from your need for technical excellence.

You do something on the side. Maybe a pet project. Perhaps a little service work for customers you find. Contribute to an open source project. Or best of all, start your own business.


How do you put your skills to good?

164 words

Some of my day jobs have been to write software to ensure that:

- people get the right prescription medication on time

- firetrucks and ambulances get to where they're supposed to be

- parts that go into cars and planes are properly certified


Issues vs. Details

151 words

I have a simple guideline for real life interactions with others that carries over quite well on-line, "Deal with issues. Ignore details."

It's amazing how well this works in person, especially when trying to get something done. My number one question to another is probably, "Is that an issue or a detail?" We can almost always decide together which it is. Then, if it's an issue, we deal with it, and if it's a detail, we move on to the next issue.

This has also saved me countless hours and aggravation on-line. If I post something and someone disagrees, I quickly decide whether or not it's really an issue and only engage the other if it is. I realize that this is just a judgment call, but I'd estimate about 90% of on-line disagreements are just details. In these cases, I think it's best to simply move on.


How is an issue different from a detail?

255 words

Examples are everywhere. In fact, almost every human interaction is an example. Here are a few off the top of my head:

Quality Control rejected one program because it was indented 4 spaces instead of the standard 5, but accepted another, even though it had enough memory leaks to crash the server under certain conditions. The first was a detail; the second was an issue. It took me 2 days to get Q.A. to understand the difference.

A friend recently arrived for a dinner party an hour late and then complained to me that another spoke with her mouth full. As far as I was concerned, the first was an issue and the second was a detail. My friend thought otherwise about both.


Living in Two Worlds

208 words

Sometimes I think I'm living in two worlds, the customer world, where everyone is scrambling to get stuff done, and the startup world, where everyone is talking about what the customer world should be like.

Don't misunderstand me, though. I love the startup world. There is an underlying current of optimism that I rarely see in the customer world, where people are just too busy to see the possibilities if they hit them in the nose. Sometimes I have to grab my customers and yell, "Let's slow down for 5 minutes and think about a better way to do this!"

In the startup world, it's often too easy to lose sight of the definition of success. Success is not starting a business, getting into an incubator, or securing funding. Success is satisfying paying customers over and over again.


What are the biggest programming myths?

315 words

"1.- We're always wrong."

Sometimes We're Wrong + Sometimes We're Right != "We're always wrong"

"2.- If something can break, it will break."


Don't Pull a Teddy Roosevelt

240 words

Five minutes after winning the presidential election of 1904, Teddy Roosevelt vowed not to seek re-election in 1908. Six minutes after, he regretted what he had just said. He tried to return in 1912, but failed and regretted his hasty decision the rest of his life.

Why do I mention this? Because whenever I feel like I'm in a difficult situation (not all that much different from yours), I promise myself not to pull a Teddy Roosevelt and do something hasty that I'll regret forever. Neither should you.

For what it's worth, time is not slipping away. In spite of what you may think, 30 is not old.


Should I learn or build first?

177 words

"My goals with programming is to create web and desktop (mac, iphone) apps if that's relevant."

Then you have it backwards. You should be building, not reading.

Slow way: Read book, then apply what you learn


What's the big deal with startups?

176 words

1. I write software: business applications. I love what I do. I love getting something to work right the first time. I love seeing people use the software I wrote to do their jobs and run their businesses. I can't imagine doing anything else.

2. The software I have inherited in all 80 companies I've worked at has sucked. I mean really sucked. Nothing to be proud of. Nothing to want to work on. I think it's because business software is now where medicine was 100 years ago.

So I have a choice. Work on other people's crap or write my own. I have done both, but I have to write my own to be happy in this industry. If I could only work on other people's software, I think I'd rather work in a grocery store.


How do you find inspiration?

182 words

"Tell me about how you launched a billion-dollar company from your apartment with stolen office chairs and I'm there. Tell me how you really like pointers, and I sort of lose interest."

Thank you. I thought I was the only one.

95% of the time I program. 5% I conduct business.


How to Never Say "No"

149 words

I never say "No".

I just say, "Yes. And this is what it will cost you to do it right:"

- Projects X, Y, Z will all be pushed back 2 weeks.


Why I'm a Late Bloomer

272 words

My father taught me to read when I was 2 and from that point on, everyone encouraged my parents to fast track me. I was tested, examined, and prodded by psychologists, doctors, teachers, and experts. I even passed the preschool entrance exam before my older brother (he's been paying me back ever since).

Finally, one day, my father, of all people, said enough. I would mainstream with all the other kids because he didn't want me to be a freak. To this day, I don't know if that was a wise decision or a snap judgement.

So I sat in class, bored to tears for the next 12 grueling years. Looking back, I had no choice but to let my love of something pull me. So I learned a musical instrument, started several small businesses, made home movies, and published my own magazine. I excelled in everything outside of school and did poorly in class. I wonder what college admissions officers thought about a self-published C student with perfect SAT scores. I think my magazine did more for my future that anything from school.


How does one turn out the way they do?

156 words

The old town drunk died. His two sons, the bank president and the new town drunk were at his funeral. An onlooker, surprised at how different the two sons were, asked each one how he turned out the way he did.

The bank president responded, "With a father like that, how else could I turn out?"

The new town drunk responded, "With a father like that, how else could I turn out?"


How important to society is your software?

196 words

"Have you found a way to write software that has a real, tangible, positive net effect on society?"

Yes. Everything I do.

I (along with many others) write lots of software to help small and midsize businesses compete more effectively. They, in turn, provide value to their customers, jobs for their employees, and pay taxes to their communities. If that's not a "real, tangible, positive net effect on society", I don't know what is. Not everyone has to find a cure for disease or discover how to provide clean air and water for the masses. You don't have to change the whole world, just a little piece of it.


What is "Intellectual Horsepower"?

214 words

I used to be awfully hasty in judging others, "She is really smart," or "He is so stupid". Then I learned a lot from my first mentor. He taught that there often isn't much difference between someone who appears smart and someone who doesn't. Perhaps no one spent enough time with them. Maybe they have other challenges, like family, health, or circumstances. Maybe they're just a fish out of water, spending too much time on things that don't interest them. Or maybe they appear dumb because they actually believe that they are. They've been told so many times that they now believe it.

At first, he sounded like some hippie idealist. But the more we worked together, the more his teachings manifested themselves in the people we worked with. People who appeared dumb blossomed under different circumstances all the time. They were smart deep down inside where no one ever explored. (These people were mostly hourly workers who knew way more than their bosses about running the business.)

To this day, when I see phrases like, "intellectual horsepower", I cringe. We "smarties" aren't that much smarter than most other people, if we are at all.


The Disconnect Between Us and Them

379 words

I don't know about the rest of the world, but lots of us sure are in a bubble. There seems to be a real disconnect between what people want to build/invest in and what people in the real world actually need and want to pay for. Just as sample of what I've witnessed in the past few years:

- Ask HN: How do you like my file sharing app?

- Ask HN: How do you like my social app for niche x?

- Ask HN: How do you like my twitter app?


Weakness or Strength?

166 words

"Inability to absorb too many details verbally" = personal fortitude to insist that others show a modicum of discipline and occasionally write down what they want

"Inability to multi-task" = ability to focus

"Inability to manage or even to see certain classes of mundane details" = ability to distinguish the difference between and issue and a detail


Why use a framework?

204 words

Here's the dirty little secret that no one wants to talk about:

The purpose of "assisters" like frameworks and higher level languages is NOT to make good programmers more efficient. It's to make mediocre programmers more likely to produce something of value and to make poor programmers capable of producing anything at all. And if the bell curve tells us anything at all, it's that these tools target 90% of all programmers. But think about it, my fellow top 10%, do you really need all this stuff? If you're working alone or on a small team with a clear objective, haven't you always had everything you needed with low level tools? If you need any higher level tools or reusable components, haven't you already been building these all along?

Sure it's fun to play with new things and learn from others, but when it comes time to really produce, don't we all know how to (and need to) roll with what we know?


The Things That Go Without Saying

296 words

"1. Object Oriented code is less performant than procedural code"

Never forget, the primary purpose of OO is to help us, not our users. OO is a great way to get junior people thinking a certain way, set standards, and make maintainability a little more manageable (usually). The only thing it really does for our users and customers is help us help them by making our lives a little easier.

"2. The backend is the most important part of development"


How do you feel about competition?

243 words

One thing bothers me about this whole WorkHard / WorkSmart / BeProductive meme: it focuses too much on "the competition".

I know my approach is heresy in some parts, but bear with me:

I understand that there's always some potential competition, but I choose to not pay much attention to it. The only thing I compete with is another version of myself in another universe. "What would that other Ed have done?"


Levels of Upset

185 words

Level 0: You don't know that anything is wrong. You just think that's just the way it is.

Level 1: You know something is wrong, but you don't know what to do about it, so you just go along with the program.

Level 2: You know what to do about it, but aren't yet able to do it. So you stick it out, learning as much as you can.


My Favorite Business Quotes

722 words

Attitude determines outcome. - Jim McGraw, COO of Marion Laboratories

Be the first, be the best, or be different. - Jacyln Easton

Chance favors the prepared mind. - Louis Pasteur


no managers were harmed in the writing of these books.

all email answered.  edw519 at gmail  copyright © 2018 ed weissman