4,728 reputation
922
bio website sites.google.com/site/…
location Pittsburgh, PA
age 35
visits member for 3 years, 3 months
seen Oct 4 '13 at 14:54

I am a software engineer at the cluster debugging group at Google in Pittsburgh.

I received a Ph.D. in Software Engineering from Carnegie Mellon University. My dissertation focused on the usability of API documentation and on memory and knowledge sharing in collaborative development. My studies demonstrated that developers often fail to learn the most important details about methods they invoke even if these details appear in the JavaDoc. As part of my work, I developed an Eclipse plugin named eMoose that decorates calls with important associated information to attract the reader's attention.

I hold an M.S. and B.S. in Computer Science from the Technion in Israel, and have previously worked for IBM research, Intel, and Thomson Reuters.


Apr
21
answered How viable is a PhD in software security research?
Apr
21
answered Can you choose your tools or do you take what you get?
Apr
21
answered What should I expect as a C++ software engineer in a company that develops python web applications?
Apr
17
comment Do GUI programmers have an undue advantage over others?
Having to work with layouts (whether Swing, GWT, HTML, CSS.) is such a torture that not having to deal with it is an advantage...
Apr
17
answered Is it a good idea to take a dev job knowing you'll be leaving shortly?
Apr
15
answered Background education of software engineers: academic or on the job?
Apr
13
answered Importance of learning to google efficiently for a programmer?
Apr
12
comment How do you represent container classes in UML?
Michael, years ago I spent a significant portion of my Ph.D. work observing how people use UML in the real world and how they mix notation. A lot of the photos are in my dissertation, you might find them reassuring.
Apr
11
answered How do you represent container classes in UML?
Apr
6
comment Must strong developers carry the weight of the world on their shoulders?
It doesn't have to be a Google sized company - I've met great programmers in small companies and even in non-software companies. People "bubble up" in every market. For example, I work in Pittsburgh, and many of my fellow workers had worked for local companies. Dallas is probably smaller, though I guess that much tech goes to Austin.
Apr
5
awarded  Nice Answer
Apr
5
answered Must strong developers carry the weight of the world on their shoulders?
Apr
5
answered Do job postings exaggerate their requirements?
Apr
5
answered Where does this concept of “favor composition over inheritance” come from?
Apr
5
comment Where does this concept of “favor composition over inheritance” come from?
IMHO that concept has never been fully adjusted to the variety of languages that support both interface inheritance (i.e., subtyping with pure interfaces) and implementation inheritance. Too many people follow this mantra and don't use enough interfaces.
Apr
4
comment Quick update of what's new in Java in the last 5 years?
The sad thing about Java is that it is in fact possible to give a quick update about its evolution in 5 years. Much harder to do that with languages that don't evolve as glacially.
Mar
23
comment From Programmer to System Admin?
At Google there's a position called a "Site Reliability Engineer". A lot of the people I know in that role have CS degrees and come from a programming background, but were interested in having more sysadmin and debugging related positions.
Mar
18
answered Why is Software Engineering not the typical major for future software developers?
Mar
18
answered How do I transition from physics and math to programming?
Mar
18
comment Why do ads for s/w engineers always say they “offer a fast-paced environment”?
"Fast pace" is the corporate culture equivalent of a "Dynamic" worker from the job ads of the 90s. It's also code word for "if you're past 35, we don't want to hire you but can't admit it".