Coders at work is a book written by Peter Seibel that interviews Computer Programmer who have made significant contribution to the profession/craft by coding. My thoughts/takeaway/commentary on Jamie Zawinski’s conversation with Peter Seibel “That was kind of getting thrown in the deep end. It was like the Zen Approach — the master hit me with a stick, now I must meditate.” Jamie is explaining how in his formative years he learned when he thrown into deep and had to crawl back on this own. I can recall how I was assigned to work on this multi-threaded module called TDC – Traffic Data Controller. I was learning and wrestling with syncronization and threads in c while writing the code. “There was a bug in GDB” Jamie ends up finding a bug in GDB that was diagosning his problem incorrectly. On Perl “Oh I despise it. It’s a horrible language.” I couldn’t agree more. On C++ “C++ is just abomination.” Having coded in C++ for 4+ years and Python too, the problem is C++ is it offers everything under the sun. It’s bloated and there are more than one way to do things. Something that goes with Perl as well. Positive is C++ run time execution is amazing and also the libraries and frameworks at disposal. Perl on the other end has CPAN. Question is how long will these language be popular, I can’t predict. “Second System Syndrome” “We were so focused on deadline it was like religion” “It’s not so much that I was proud of the code; just that it was done. In a lot of ways the code wasn’t very good because it was done very fast. But it got the job done. We shipped — that was the bottom line.” On being asked What he enjoyed about programming ? “Just figuring out how to get from point A to point B — how to make the machine do what you want. That’s the basic element that the satisfaction of programming comes from” On need to refactor one’s own code “I don’t remember too many occasions where I thought, “Oh, I did this whole thing inside out. I’m going to have to move everything around” That does happen sometimes.” On developer-level tests like unit tests “We never did any of that. I did occasionally for some things” Next I will be reading Brad Fitzpatrick conversation with Peter. See you then.
“Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle.”
Got some X no of vested share at one of the startups I worked for and they announced their first buy back program to accommodate new investors. What make me sit up was the multiplier factor. It’s HUGE. Not that I am going to be some corepati or a millionaire. But this is quite an eye opener. Someone with 2000 shares can take a break for two years and not work. I am still to decide if I want to sell or not. Personally I want to hold them further and not sell out yet. All in all what a pleasant surprise. Problems with ESOP’s in India are a) Regulatory process for granting ESOP’s are not followed as per norms by many if not most, b) Most recruitment in terms of number is with Mid and Big size companies, which are mostly public companies and employee are only aware of discounted share purchase programs not ESOP’s. c) Unlike US we don’t have volume in Merger/Acquisition/Public IPO’s of startups happening. Home grown companies like Infosys, mindtree did give away lot of ESOP’s and there are stories of lot of employees getting their share of success alongside the company. Mot many are aware of such stories.
Joshua Schachter is the guy who created Del.icio.us. Below is the text that caught my attention. Joshua had quite few web app sites that lead to del.icio.us. He maintained a text file with like 20000 bookmarks. On being asked Why did del.icio.us succeed ? “First of all, because it was not a venture to start. I was building a product and that’s it.” Joshua also realized a bunch of projects that did not work out for him. Both pre and post del.icio.us. On being asked What is your favorite bit of advice you’d give to a technical person who wanted to start a startup ? Reduce. Do as little as possible to get what you have to get done. Do less of it; get it done. If you’ve two things that you want to put together, take away until they go together. Don’t add another thing. Because you can understand it better, you can analyze it more cleanly. The UI will be easier. Doing less is so important.
Really looking forward to this fight ….. My money is on Rigondeaux … Freddie roach Manny Pacquaio’s trainer called him the most talented fighter he has ever seen. He had to leave his wife and children in cuba i.e. he fled the communist regime leaving his wife and children to pursue his dream of fighting pro boxing. Nonito was last year’s boxer of the year so this is going to be an insanely competitive fight. Rigondeaux’s is just too good to watch in the ring.
Who are you ? A Business Guy or a Tech Guy. Can you read a piece of code and understand what it does ? No, then don’t pretend to understand it. Get someone who understands coding to help you assess and hire the right candidates. Don’t fake it when hiring. If you are a technical guy who has never ever sold a thing in your life don’t pretend you understand sales when you are hiring a Sales Head. Bottom line – Be Real, get expert advice and help. Hiring consultancy firms and recruitment software Hiring means a lot of resume searching, downloading, screening resume, calling and scheduling interviews, interviewing, dispatching offers and seeing most of them rejected. Get a recruitment firm they don’t cost much and some give an option to pay them when you hire a candidate. That too after 3 months of them joining you. Believe me it saves you a lot of time. If you intend to do all of this yourself spend a little money on recruitment software. Don’ t use a spreadsheet to organize yourself you will waste a lot of time. Quality vs Quantity Don’t seek refuge in numbers, seek experience. I see many entrepreneurs inclined towards hiring freshers by the dozens and having few Technical Leads in the hope to keep cost down and get more work. It rarely works out that way. Too few mentors for freshers doesn’t result in work output you hoped for. Also there is obvious difference in quality of code written. Get team composition correct. Try to hire experience programmers first and then empower them on hiring freshers they will mentor. $$$$ Money makes the world go round. I know founder who are charismatic and can persuade people to work on less then what they were drawing at previous jobs. Senior Management Guys are more willing to accept ESOPs and stay for whole vesting duration. Like they say if you pay peanuts monkeys work for you. If you have a tight budget. Hire few, pay them well. It usually takes 2-3 years for a product code base to reach a mature stage. Best is if your original employees stick with you. There is a invisible penalty to pay every time an employee leaves and new one joins. Design Design Design UI == Product. It’s what the customer uses. Most technical startup founder run the firm on stringent budgets and tend to think of design as one of the last to-do item. Most of the time hiring an experience UX Guy with Masters in Design [ Interaction/Visual/Product ] from NID/IDC as full time employee is out of reach. Worse even if you hire them sooner or latter you will realize that once the product is out you don’t have much work for them. Big design firms are awfully expensive. Search on behance and coroflot for freelancing designers in India and abroad and get quotes from them. You need to pay by the hour later which works for everyone. If you are making a physical product then you need a designer whom you can meet face to face often. The Pitch Most Entrepreneurs are pumped up about their venture. For them it’s THE THING worth doing. However you want to spend considerable time educating the prospective employee on What the company intends to do ? Who are the founders and their background ?. How is the company funded ?. What the role and responsibilities are ?. Get your pitch in place. Perception is important but if you lie you reap what you sow. Infrastructure Make sure your workplace is clean and neat. It makes a intangible impression on the candidate. Specially Senior Employees who have worked at large. Yes you cannot match MNC when it comes to How big the workplace and facilities are ?. However you got to compete, so invest in good chairs, desk, water cooler, air conditioner, sanitizer. Put some nice pictures on your walls. Make the workplace no matter how small pleasant. I once interviewed at Vmware and in the final round HR offered me some biscuits. I told him I cannot consume gluten and upon knowing that I have immune disorder towards gluten HR promised me that if I join he will make sure the pantry / canteen will have gluten free meal options throughout the year. He also took me to an meet an employee who had some dietary health issues and told me How they helped him out. I was blown away. I am sure they have all the money in the world to do extend such help while a startup founder doesn’t. But point is most founder don’t put thought into How their workplace looks like and is it comfortable for employees to work ?. Be Trigger Happy My first company I worked for despite everyone’s disapproval the founder hired this one guy for GUI work. Turned out he couldn’t write a for loop, which was also found after we interviewed him. Founder is a very kind person and ended up taking lot of time to ask him to leave. If you hired the wrong candidate you need to ask them to leave asap. Many founder get desperate and hire people because many offers get rejected. Be ready for rejection. Hiring is very tough for startup then for big companies. I heart startups and everything about them I hope this is helpful for someone.