The Corporate Programmer Survival Guide: 250 Essays from the Trenches
"Check out Ed's book if you haven't seen it before; he has posted some incredibly insightful stuff over the years, one of the best programming reads I've ever seen." - Jacek Zlydach, Programmer, Krakow, Poland
"Ed Weissman curated his collection of tips and advice for programmers. It is amazing stuff. It is loaded with gems for folks making a living as a programmer. I highly suggest reading it." - Darren Newton, Software Engineer, The Groundwork
"This book from Ed Weissman is a unique book with a unique style, a nice, readable book. Ed is a titan. I hope that everyone, after some training and practice, can be half as productive as he is." - Bartek Filipek, Software Developer, Cracow, Poland
"Read Ed's book, jump out of the bed and start learning." - Kiss Gyorgy, Python Developer and Sysadmin, Budapest
"Follow Ed's style and break down the problem mentally before coding anything. Maybe sketch psuedo code. This will help the interviewer understand how you think." - Joshua Valdez
"I liked reading about programming habits from Ed, especially about reading and analyzing code everyday. His way, I can reproduce much of my entire codebase from my memory." - Akshat Sharma, Independent Consultant, Gurgaon, India.
"Ed Weissman scripts a hilarious (and unfortunately typical) scenario where a critical 1 line change takes 6 days to ship due to complicated and inefficient processes." - Herding Cats Magazine
"Not to forget another gem from this book that I ardently recall when it comes to self-doubt: 'Don't make the mistake of underestimating yourself.'" - Shubham Jain, Developer, Blipmetrics, UTM-Builder, Whistlerr
"How do I find a 'good' recruiter? Ed Weissman sums it up pretty eloquently." - Steve Buckley, Founder, Hacker Jobs
"'I believe that there are two ways to get good at anything, push and pull.' - Ed. This is a great way to describe different ways of learning. I'll be using these terms again. Thanks." - Matt Chew, Software Developer, Wichita, Kansas
Who am I?
My name is Ed Weissman and I've been programming professionally for almost 40 years.
I've done work for many companies, both enterprises and small/medium businesses. I've functioned as an employee, a contractor, and a vendor. I've worked in many industries, almost always on business systems.
I started out on IBM mainframes, moved to mini-computers, then to PCs, and finally to web-based technologies.
I've started three businesses, two with partners and one alone, selling both services and products.
I've worked with hundreds of people on over a thousand projects and encountered over a million lines of code.
I've witnessed a lot of business and technology, some great, some good, and some not so good. I've always loved what I do and can't imagine doing anything else.
I've formed lots of opinions and freely shared many of them on-line. So I decided to compile my favorite Hacker News contributions back in 2011 as "The Best of edw519". This is the second edition, a continuation of my original project. I've removed some things, added others, and cleaned up the rest.
I never get too technical. There are plenty of other resources for that. Inside you'll find the opinions of someone who's been in the trenches for years and isn't afraid to say what he thinks. Whether or not you agree, understand, or even care, I hope you find something of value. That's the best I could hope for.
Why did I write this book?
Because you asked for it.
I started commenting on Hacker News when I discovered it ten years ago. For a computer programmer, it had lots of cool articles, interesting commentary, and most of all, like minded souls. It became my on-line home - the location may have been virtual, but the results have been all too real.
Little did I know where this would lead...
Thanks for all the interesting discussion and encouraging feedback, both on-line and by email.
Lots of people claimed benefits from my comments and suggested that I do more, either by blogging or writing a book. My response was always, "I do write. I write software." I was always afraid that devoting time to writing prose would take away time from writing source code. It took a while before I realized that this wasn't a zero-sum game; different kinds of writing can compliment and even enhance each other.
The feedback that finally got me over the hump was this comment from an anonymous poster:
"Seriously, have you ever thought about writing a book? I learn something new and valuable every time I read a comment of yours, since your comments almost always contain really good tips. I for one would buy that book for sure." (Thanks, Mom.)
My comments have visited far more interesting places than I ever have:
"Harvard Business Review"
"mixergy" by Andrew Warner
"SKMurphy" by Sean Murphy
"allExceptTech" by Ketan Khairnar
"FundFindr" by Bret Conkin
"University of Washington Orthopaedics and Sports Medicine" by Jonathan Jacky
"Why does everything suck?" by Hank Williams
"Sixteenth Letter" by Melissa Chang
"Back of the Envelope" by Mr. E
And finally, some of the nice things people have said about the comments of my on-line persona:
"...edw519, most of his stuff is thoroughly thought-provoking..." - Matt Mazur
"The Best Comment Ever (No, I Didn’t Write It)... by edw519, writing an incredible comment on an otherwise unworthy Hacker News story." - Mark O'Connor
"...another great comment from edw519..." - Sigit Nurseto
"...an excellent follow-up comment at HN by uber-poster edw519..." - D. C. Toedt
"...Ed Weissman (edw519 on HN) had another great comment recently on Hacker News...and he offers a great list of reasons why..." - Sean Murphy
"From Hacker News commenter edw519 comes this gem..." - Andrew R. Freed
"...Hacker News reader edw519 makes a great observation..." by Rams
"And then there are the folks who have such an intelligent and unique voice that you can tell who the comment is before you see their username (patio11 and edw519, to name two)." - Ryan Waggoner
Thanks to all of you. I hope to pass on your positive energy to others in some way. This book is my first step.
How did I write this book?
I built this book the way any self-respecting programmer would: with lots of shortcuts and software.
Notice I said "built", not "wrote". The contents were already written, as contributions to Hacker News, a large on-line community for computer programmers.
What I did:
First, I scraped the interwebs for every comment I ever made on Hacker News and put all 4,000 of them into a hashed database on my c: drive.
Then, I converted the text into something more presentable, removing formatting, control characters, and cuss words. For example, whenever you see "crap" in this book, you can bet that it was something much "stronger" in the original.
Finally, I wrote a program to turn those comments into a usable book. Some of the things that program does:
1. It displays the comments, one at a time or in groups, enabling me to cruise through them very quickly, using only arrow keys.
2. It sorts the comments five ways: by descending number of words, by descending points, by descending date, by descending weight (a secret formula), and in output sequence.
3. It enables me to quickly classify any comment by suitability, chapter, and sequence.
4. It filters the comments by classification.
5. It enables me to drop down and edit any comment.
6. It automatically classifies unread comments based upon similarity to classified comments and some rules. (The idea was to classify the first 300 comments and have the software classify the remaining 3,700. I realized this capability was unnecessary when the book would only contain 256 entries. Oh well.)
7. It cuts the book in multiple formats, ready for distribution.
Like a typical programmer, I often got confused about what the real product was. I spent more time on the software than the contents of the book. Then I decided to get the book out and finish the software later.