Getting accepted into a top level CS program.
timf: "does the length of time I wait to apply matter?"If you are doing things that are not academia oriented, the longer you do those things, the less chance you will have at acceptance."I'm obviously going to continue the work that I enjoy doing."Careful, academia may not be right for you :-)"Publications, open source contributions, industry experience?"Publications will by far trump anything else for most departments.  And letters of recommendation (preferably from people the department has heard of...)."Should I take the time to find a research based position at a company like IBM or HP?"This is probably the only thing that would realistically help you.  You would need to stay at one place long enough to contribute directly to refereed papers, this will really help your application.  There are a lot of research positions at places that are not big companies, too, and those tend to submit more papers.  Often they are looking for staff programmers and you can "get in on" some papers over time as you work hard and make good observations etc.  Or you could be the assistant who is writing the performance harness, etc.The hard part would be getting in the door probably, in my experience anything CS related will usually accept CS graduate students into internships etc. but finding a full time job there with a BS and no previous CS research experience will be tougher.---Academic departments typically only care that you can code well enough to pass their classes.  You need to be able to program, for sure.The better you are, the easier it will be to get through school -- you will need all the time you can get in order to concentrate on algorithms, linear algebra, etc.  But it probably won't you help you too much at application time (unless maybe you have won programming competitions)."Does status in the software community affect acceptance into a CS program?"Probably not too much, unless the program is linked to a software product (like where I work, the University of Chicago CS department and the Globus grid computing community are intimately tied).