4,726 reputation
922
bio website sites.google.com/site/…
location Pittsburgh, PA
age 35
visits member for 3 years, 6 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.


Sep
27
comment Is there a symbol or shorthand for “and is increasing/decreasing”?
My workplace uses HTML comments in code and HTML email as the standard, so for us it's allowed...
Aug
30
comment Where to look for challenging jobs with a relaxed atmosphere?
Be aware that in the US most employers will not provide benefits for part timers. If you're doing 30-35 hours, you might be better off just stepping up to 40 hours for the benefits of 401k, group health, etc.
Jun
14
comment Who is responsible for defects found during development?
@Matthlieu: I should have clarified this as "negative financial incentives" (i.e., client sues us and we go bankrupt).
May
6
comment What kind of bug is this?
@Rein: If you follow the various deals sites (like SlickDeals/Fatwallet), you will regularly see users reporting on (and exploiting) these sort of errors (e.g., double application of coupons). Unfortunately, most companies have learned to cancel orders when these sort of things happen.
Apr
22
comment Do employers hiring for software jobs care about the classes you took in a Computer Science Masters program?
@Dunk: You can't always tell much from titles. My advanced courses (in a software engineering program) included: "Software engineering methods", "Models in software engineering", "UI Software engineering", "Software Design". "Software verification". What do I really know ? :)
Apr
22
comment Do employers hiring for software jobs care about the classes you took in a Computer Science Masters program?
@Job, why would being from CMU make me biased? My experience is that course names are so general (e.g., Data Structures, Algorithms, Software Engineering, Intro to AI, Project Management) that they tell you little about what the student actually learned.
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
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
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
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
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".
Mar
14
comment Will Java still be relevant in 5 years?
I'll second that Google is pushing a lot of its internal tools and libraries (e.g., GWT, Guava, etc.) to the community, so it does have external impact beyond just the X number of engineers using it.
Mar
13
comment Computer Science vs. Game Programming
Read about life in the gaming industry. Think of yourself when you're 40 with kids. Make the right choice. Lots of game programmers studied CS, not many game programming graduates get to work in non-game companies.
Mar
10
comment Blocked Sites at work (that aren't even bad)
You can't fight these things, usually. But now that most people carry smartphones and/or tablets, there are often alternatives :)
Mar
6
comment Why isn't Java more widely used for game development?
I used to hear the "Java not fast enough" argument from the algorithmic trading industry, which used to prepare C++, and now you see more and more Java there. Something tells me that speed is no longer the issue.
Mar
6
comment Why isn't Java more widely used for game development?
@JustinC: That's a good point. I haven't realized that the 360 had a .NET runtime, I thought that it predates the popularity of that platform.
Mar
5
comment Why isn't Java more widely used for game development?
Interestingly, Minecraft is Java based.
Mar
5
comment How to make an app more intuitive?
@mhazen: It has nothing to do with software, that's the whole point. As software people it's hard for us not to think of things in terms of software and engineering, rather than how people see the software - as a tool. That's why some schools have it as the first reading in the curriculum prior to any HCI studies.