views:

203

answers:

5

Two (somewhat separate) questions I have are:

  1. Is it a good approach to put performance optimization as a separate skill-set backed up by line items (instead of just 2 words in "skills")?

  2. Do the items i put as examples below sound like useful/braggable data to distinguish oneself to a hiring technical manager (whether I put them on a resume or just mention them on interview), or are they just another reason for said manager to yawn? (I'm talking average company, not Google/FogCreek where stuff like this is probably done by flying monkeys or interns on daily basis).

E.g., in my current job, I have what I consider fairly worthy accomplishments that are nevertheless not directly part of my job function nor of main resume-able projects (in part because most were not even remotely related to my own projects/software - I was acting as a hired gun for other teams):

  • Redesigned a query which was in the enterprise's top 10 worst resource users on the dataserver to decrease IOs by 97-99% (Detail: it was a search for tree's leafs and I implemented very neat BFS solution without even needing to tune the indexes)

  • Redesigned another query that was, again, on the enterprise's top 10 worst (and also accounted for 90% IO and DB CPU usage of a very heavily used application) to improve performance 95%

  • Redesigned a company-wide report generation API to reduce memory consumption 99% (easy to fix - the bloody moron of a module was building 500MB+ XML strings in memory!)

  • Re-wrote a large reconciliation software to go from 2GB memory usage (and crashing) on 200k rows of DB data to 80Mb constant memory usage on unlimited amount of rows.

  • Improved throughput of a very complicated custom trade loader 99% by redesigning it to accept and optimize batches of trades. This was done in 2 days dev->staging, after the client was originally quoted 7-week estimate to fix the bottleneck almost causing them to terminate a major contract.

One worry I have is that these aren't really very special (e.g. enough to distinguish from other candidates), and as such will be just white noise on a resume.

Another worry is that they will seem as a slam on the software I was fixing (which in reality wasn't all that bad, just somewhat dated and thus not designed for incredible growth of data the firm had 3 years later. And I'd rather avoid giving the impression of putting down other people's software.

Thanks for any feedback, especially if you write it wearing your "hirer" hat.

+2  A: 

What you have written and how you have written it is almost a book example how to describe your accomplishments. Of course put them into your resume.

As for the yawning manager, well, you're not applying for public comic position, right? It is technical work and you have technical achievements. However in the hirer position is not prepared to hear just that should think of a different line of duty.

Regarding the length it is just fine, maybe make it a bit shorter to keep your resume compact.

In general, it is good content for a resume many programmers would want to have themselves.

Developer Art
+3  A: 

If you are able to improve the performance by 99% ... it's more likely that the original code was written absolutely terribly in the performance point of view. So I don't know how much of an achievement it is to optimize that kind of code "by 99%". In reality, you almost never get anywhere close to such numbers (considering the original code isn't absolute garbage at first place..)

99.9999% of code is improvable by 99%.
soru
It at least shows you are able to recognize and fix garbage.
Vinko Vrsalovic
70% of expected functionality is considered acceptable in software, and mind that requirements change as people actually use the software (assuming the requirements gathering was any good - I have seen ~6 months wasted because the biz contact had no clue) so don't be hard on predessors.
OMG Ponies
@opc - the original code was often written with completely different expectations about scale it will be deployed at. E.g. designed for 1000 of funds where it ended up running 50x as much. So it was, while not necessarily stellar, a quite adequate code for its original requirements (e.g. the trade loader was designed to specific client req of 10 trades every couple of mins, not 1k trades in 5 mins).
DVK
@opc - also, the whole point is that I **optimized**. I didn't re-write entire software from scratch. I pinpointed weak point and executed minimal needed changes (sometimes as small as <1% of entire code).
DVK
+5  A: 

When putting accomplishments in a resume, always present the business benefits. Sure, you improved that query's performance, but how did it benefit the company? Did it allow you to run it on one computer instead of four? Did it save costs? Did it improve the bottom line, and how much? These are the sort of things that an employer is interested in.

Robert Harvey
Robert - +1 for overall good advice re: always take business benefit angle, but come on, if a technical manager can not see the business benefit of taking enterprise's top 10 heaviest query and slashing 97% off its IO, you probably don't wanna work for him. This info is not for HR screeners but for technical managers.
DVK
DVK - I'd include a short presentation of the business benefits nevertheless. Optimizing just for the kicks is in the same league as gold plating (http://c2.com/cgi/wiki$?GoldPlating), so if a TM sees that your effort resulted in tangible, measurable benefits you at least avoid being wrongfully classified as maybe qute smart but hard to manage.
fvu
A: 

1. Does the accomplishment have anything to do with the position?

If the answer is no, it shouldn't be on your resume/CV.

Redesigned a company-wide report generation API...

Should be replaced with:

Designed, estimated, coded, documented and maintained in-house report generation API

I don't see much value in the first two bullet points about query optimization. Remember that most HR/recruiters/managers are usually only looking for keywords like particular technologies/etc.

OMG Ponies
+1  A: 

Having done a lot of interviewing and hiring in my previous job, I can tell you that the resumes that show actual accomplishments are few and far between and they tend to belong to the better candidates. You do still need all that keyword junk to get past HR though.

HLGEM