know what you can tolerate
if you don't think you could put up with being a sysadmin every day, don't ever apply as one; regardless of skill; you won't get the job unless you interview at a dysfunctional company that you won't want to work at. know what role you would be willing to put up with and apply strictly for those positions.
getting an interview
resumes are important, github is more. you are pitching yourself, over email. silence isn't a problem. keep trying until someone explicitly says no. remember you are talking to humans and not grammar professors. be cordial but formal; assertive, eager, and well-mannered.
smile, agree with everything, answer slowly and clearly, make eye contact, laugh at their jokes, gloss over their mistakes, don't bring in any baggage, and don't worry too much.
after the interview
it's critical to send an email after about 4 but less then 24 hours later. repeat the same pleasantries.
understand what you need to leverage before it comes on the table. you should make the first offer, always. do it at the point of accepting the job after the employer has vested in you as a future employee. make it implicitly but not explicitly clear that you will quickly back out if conditions aren't met.
remember why are you working
most programmer I know would rather be working on their pet project (which is The Next Big Thing) full-time instead of for a company. If this is your goal, remember this at the negotiation table; 5 day work weeks, coming in around noon, leaving at 5 strictly every day; all of these accommodations are best set at this point.