Home > Author > Edmond Lau
1 " When I asked Sam Shillace, who ran Gmail and Google Apps for four years, about the costliest mistake he's seen engineers make, his response was, "Trying to rewrite stuff from scratch -- that's the cardinal sin. "
― Edmond Lau , The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
2 " Their first task therefore, was to translate the original C# codebase into Java so that it could leverage Google's infrastructure. One of Schillace's co-founders argued that they ought to rewrite the parts of the codebase they didn't like at the same time. After all, why rewrite the codebase to Java only to have to immediately throw parts away? Schillace fought hard against that logic, saying, "We're not doing that because we'll get lost. Step one is translate to Java and get it stood back up on it's feet again ... [O]nce it's working again in Java, step two is ... go refactor and rewrite stuff that's bugging you. "
3 " Working extra hours can hurt team dynamics. Not everyone on the team will have the flexibility to pitch in the extra hours. Perhaps one team member has children at home whom he has to take care of. Maybe someone else has a 2-week trip planned in the upcoming months, or she has to commute a long distance and can't work as many hours. Whereas once the team jelled together and everyone worked fairly and equally, now those who work more hours have to carry the weight of those who can't or don't. The result can be bitterness or resentment between members of a formerly-happy team. "
4 " In his book Software Abstractions, MIT Professor Daniel Jackson explains just how important it is to choose the right abstractions. "Pick the right ones, and programming will flow naturally from design; modules will have small and simple interfaces; and new functionality will more likely fit in without extensive reorganization, " Jackson writes. "Pick the wrong ones, and programming will be a series of nasty surprises: interfaces will become baroque and clumsy as they are forced to accommodate unanticipated interactions, and even the simplest of changes will be hard to make. "
5 " To be effective engineers, we need to be able to identify which activities produce more impact with smaller time investments. "
6 " Thinking early in your career about how to help your co-workers succeed instills the right habits that in turn will lead to your own success. "
7 " To be effective engineers, we need to be able to identify which activities produce more impact with smaller time investments. Not all work is created equal. Not all efforts, however well-intentioned, translate into impact. "