Public Void - Programming Blog (Beta)

A programming blog covering C/C++, Java, Perl, PHP, Python, Ruby, Ruby on Rails, and UNIX/Linux shell scripting.

Sunday, February 18, 2007

Measuring Programmer Productivity

I am currently taking a Statistics class—a subject I was not at all thrilled to have to study. Typically, when I have to take a class that I don't enjoy, I force myself to find some personally applicable good in it so that I not only perform better in the class, but in order that I find the value in the subject. I told myself that Statistics is a subject heavily applicable to Computer Science and that I should look for ways that I could apply the general concepts I am learning to specific problems in Computer Science. So, over the past six weeks I have attempted to look for those things, I am surprised (though I shouldn't be) to find just how many times I find myself stumbling over Statistics in computing without even looking.

I happened upon this Google Tech Talk today and I ended up watching all 50 minutes of it. Two students from UC Santa Barbara give a presentation on a project they have begun to statistically measure programmer productivity—specifically in MPI and UPC, programming languages used in HPCS.

While the presenters, Viral Shah and Vikram Aggarwal, admit that the project is still a nascent effort, they were eliciting the suggestions of those attending in the hopes of building a "better mouse trap" and perhaps writing some tools that could be used for statistical analysis of programmers elsewhere, using additional programming languages.

And indeed, there were a number good points addressed. One listener addressed the questions asked of programming students in the study. This lead to interesting ideas regarding the comparison of how a programmer perceives their productivity versus how productive the statistical data shows them to be.

There are a number of fascinating issues related to this idea of programmer productivity, not the least of which is the age old debate of which programming languages are more efficient than others for human productivity or for computing productivity. I hope to see more on topic this in the future.

Labels: , , , ,

2/18/2007 02:16:00 PM | Measuring Programmer Productivity

0 comments

Tuesday, February 13, 2007

So you want to code for Google?

I've always been interested in what it takes to work at Google, specifically as a programmer. So I decide to do a little research to see just what Google is looking for in a Software Engineer. Below is a Google Spreadsheet containing a list of search results from Google's Job Search engine.

I must preface all of this by saying that this is a very informal analysis. The precision of the information is subject to a number of factors including the scope of the search engine, the search terms themselves, and the time the searches were performed—to name a few. Search terms that yielded no results are not included.

What is interesting is the amount of Free Software included in this list. Searches for proprietary technologies yielded virtually no results, or results that did not apply to Engineering. If you were paying attention, you noticed that the URL for Google's Job Search is a "py" file. So even it is written in a free programming language (Python).

Top 10 Skills for a Google Programmer

  1. HTML
  2. Bachelor's Degree
  3. Master's Degree
  4. Linux
  5. UNIX
  6. C/C++
  7. Java
  8. Python
  9. Perl
  10. Ph.D.
  11. SQL (Mostly MySQL)

So if you plan on working for Google someday, well, there's your hit list. Stay in college—particularly a Software Engineering/Computer Science program—and learn to code programs that integrate with databases for POSIX systems.

Labels: , ,

2/13/2007 07:28:00 AM | So you want to code for Google?

0 comments

Google Groups
Subscribe to treehead.net
Email:
Visit this group