Sometimes looking for work in SQL Server can feel like you're trying to plan a train robbery, especially when you're new to the industry. Simply trying to get your first interview can feel like you need to get on the good side of some criminal boss. You might be wondering if you need to do some shady things to get noticed. Getting accurate and useful information can be even harder, as you sift through job after job on <insert your preferred search engine here>. Even those who have a lot of experience but haven't gone job hunting recently may not be sure where to start.
Let's see if I can't help straighten some of that out in this article. A large portion of this article is aimed at people trying to break into the SQL Server industry, but I hope some of these points are useful to everyone.
How do I prepare to look for work in SQL Server?
Finding a job with SQL Server will require different approaches depending on your skill level. The first thing you need to do before approaching others is get yourself in a position to market yourself, which will completely depend on your experience. Please note, I'm not saying how long you've been in the industry.
The first thing you need to do, when looking for a new job, is to take a realistic assessment of your abilities. If you've worked on reporting services for 5 years, pulling data off SSAS cubes without actually touching the cubes themselves, you're not a BI expert. If your job was setting up backups and restoring them as success tests or for Dev/QA work, and doing new server installs for the last year, you're most likely not ready to take on SQL optimization. Seriously examine your skills. Decide where you'd like to go next, both location- and career-wise. Figure out how you can leverage those things you can do to get closer to the place you want to go professionally. If you're not sure how to approach this, ask people for advice (perhaps posting on www.sqlservercentral.com/forums).
While you're preparing, get your resume cleaned up in a nice straight-text format as well as the pretty MS Word version. While online job sites usually have resume loaders, you want to make sure the loader doesn't chew up your resume formatting. Nothing makes a document harder to read then bullet points split randomly on two lines or the spacing being completely screwy. Your resume is your marketing document. It's usually your first, and sometimes only, impression on a possible employer. Spend some time on it. Then spend some more.
I'd like to extrapolate a little on the content of your resume. You will, of course, want to do a little boasting about the things you've done well. A number of people who've I've seen look for work forget to downplay any work that they're looking to avoid doing in the future. If you're looking to get out of administration work and into development don't put in the bullet points about how you consolidated 50 servers into 2 and saved the company a million dollars in licensing.
About that boasting, however, there's a few more points I'd like to clarify. Make sure you can back those boasts up, and that they're appropriate to the task. A good example here of a worthy boast would be: "Graduated with 3.9 in all CS core courses" or "Initiated a project that allowed for 50% faster processing of trouble tickets". You can prove this on paper and your references. A poor boast would be something along these lines: "Saved the company by keeping system running inside contract SLAs." Well, you might have, but can you get any of your references to back it up? A better boast, saying the exact same thing, is: "Optimized overnight load processes to run in half the time, allowing company to avoid penalties in SLA agreement." This is a provable skill, applicable to a SQL Server position, and doesn't assume that your skills alone kept the company afloat. For those unfamiliar, an SLA is a Service Level Agreement, a usual requirement in contracts for companies that provide technical support to other businesses.
You also want to avoid being too generic. I have read the resume and then interviewed many a person who has a resume with a statement like: "Helped the company save 30% of overhead over 2 years." If you've saved them space in the janitor's closet overhead, that's useless to me. If you can't describe explicitly how and why money was saved because you were merely the end coder taking instructions and couldn't see the big picture, this will actually work against you. You'll get labeled as a con artist in the interviewer's mind, and that's not going to help.
I've just finished course xyz and abc, and I've studied the "SQL for Dummies" book until my brain has bled. Where can I start?
SQL Server is a large community, but there are only so many positions available locally. To add to the problem, it seems everyone wants a DBA that can tune petabyte sized databases while setting up instantaneous multi-country disaster recovery that while building out your reporting system on cubes just humming along with no overnight maintenance and just toss that multi-stream SSIS package together on your way out for the night.
That's a bit of a run on sentence there, as you can tell. So, you're not Superman, you don't have 25 years experience on a 6 year old product and, like the rest of us, you're still trying to puzzle out if Einstein was a god or just insane. You've cracked books by people who have built the database engine, and from other authors who have studied the SQL Engine to the point of sometimes knowing it better than the creators, and you're not sure if you can even compete. Don't fret, you can.
First, you have to understand that SQL Server is widely used, and there are hundreds, if not thousands, of jobs out there. Secondly, you can't be looking for the top of the line jobs just out of the gate. At any time, there are companies are just getting started with SQL Server using Express as a backend, doing upgrades from MS Access or other lower-end database engines. Another item in the favor of SQL Server is that from an affordability standpoint MS SQL Server is cheaper per installation compared to Oracle. This leads to a number of starter positions becoming available regularly. If you'd like to know more about the cost of SQL Server, poke around the web for Total Cost of Ownership (TCO) articles.
So, knowing that there's going to be work for you out there somewhere, let's get back to finding ways to get you the interview. Since you're just breaking into the industry professionally, you're going to find some resistance, primarily because you have no proven experience in a high pressure environment when you can prove your education but lack experience. Getting this experience should be your first step to help ease your transition. You need it so that when you walk in to talk to your interviewers you're not frazzled at the simplest of questions, and can hold your own when the work actually starts.
The trick to finding work that will accept you is knowing that you're not ready to take on everything at once, but still need some growing time. Problems in a book can't prepare you for the unexpected requirements a real business will have. That experience comes with different positions and time using the software for real solutions. However, you're going to need to have the experience to get the jobs that will get you experience dealing with the unexpected. You've got to love those Catch-22s.
To find work in this situation, you'll need to look for some middle ground between yourself and your potential employers. What you want to try to find is a company, or even just one manager, who's willing to invest in you as you invest in them. That means you're going to come in with a lower salary requirement, most likely in an entry level position, and work towards providing more value to them, while showing that you know how to learn to do the job more efficiently as they invest their money in you.
A good example of how to gain this experience is from Brandie Tarvin. An article she has posted is Changing Career Gears. The article describes one path to getting more professional experience with SQL Server. Her path required a lot of volunteer work, but it's definitely effective. Another method would be to build a website using SQL Express as your backend, which requires any number of other skills, including web programming. However, if you can build your own site, it shows real-world usability and it's an excellent discussion point for an interviewer to use to understand what you've learned and implemented.
Neither of these pay much, if anything, and are very time consuming. Many people, even when trying to get into a new industry, have a lot of pressure on their time. They still need to work, are probably studying just to learn more about the new career, and have other pressures on their free time. What's a SQL Server person to do so they can still pay rent and make time for their kids?
The most direct solution is to talk to your current employer, and ask if you can apply for an entry level position. Managers and Executives (usually) love to grow employees within their own company; it's good for morale and looks good on paper since there's less turnover. You might even be allowed to split-shift, working some time in your regular position and also time as an entry level DB Developer/DBA. This means your current employer uses SQL Server or you won't have access to even try this route. Working at an isolated store in a large chain probably won't open this opportunity up to you directly, either, because they won't have a local instance you can work from, those servers will be up at the corporate office. You also won't have easy access at an isolated store to your existing peers and mentors. In this case, you'd have to compete against standard internal job postings and change working locations If this isn't an available option to you, there are yet more alternatives I'd like to review with you.
Many people who get started in SQL Server end up "growing up" into it from MS Access. There are (almost) always positions out there for MS Access programmers. While MS Access is less powerful from a multi-user concurrency and data throughput standpoint, working in MS Access certainly encompasses a number of the design skills you'll need (normalization, querying, etc) going forward. Getting familiar with the display and organization of data to end-users and reports those end users desire will add to your value as well. It will get you used to working with technical requests from users who aren't familiar with the software. The reason this will be important to you as a SQL Server professional is that an Access database that becomes popular usually grows out of the limitations of the software, and will require a SQL Server backend. Here you can start letting your SQL Server skills shine, as you're in the perfect position as the SME (Subject Matter Expert) on the Access application to get directly involved in the upgrade of the database to SQL Server. It's also a great opportunity to get your feet wet in a little bit of everything that SQL Server has to offer, from SQL Agent automation to reporting services.
Another possibility for showing your value is getting Microsoft certifications. They're certainly not considered the be-all, end-all of knowledge, but they can open doors that your lack of experience might have left closed. By having those certifications you've shown that some basic knowledge of the system has, at worst by osmosis, been absorbed by you. It also shows some commitment to your new career, always a plus in the eyes of an employer.
Another way of getting involved in all the aspects of SQL Server from the beginning is to look for a smaller shop running SQL Server that's looking for a DBA or a DB Developer. You'll need a passing knowledge of the entire SQL Server suite so that you can decide if the skills you have are a match with those features in SQL Server that the company is using, but smaller shops usually have a higher tolerance of small mistakes. Format the production system's drives and you'll have problems, however if you don't optimize a query quite so well or have a job crash overnight, and it's unlikely to be devastating to the business. You can make mistakes here, but you will still need to avoid carelessness. That's a good virtue to have as a DBA forever anyways, so it can't hurt to start practicing it immediately. Small shops are great places to get your sealegs in SQL Server, though. A downside to working in small shops is you'll spend a lot of time at home studying to catch up, and small shops rarely have the resources (free training, existing library, etc.) to ease the learning curve.
Getting involved with the local headhunters and consulting firms in your area to do subcontracting work will also help you find a long term position requiring a lot of experience. You'll probably want to look for short term, concentrated contracts utilizing specific skillsets you have actually have studied relatively well, so that you can get some time under your belt at the beginning. Short term contracts (1 to 3 months) usually fill specific tasks that the regular employees are overloaded with, such as optimization problems or a major ETL project launch. This is the perfect opportunity to utilize cheaper juniors by savvy managers. Working on subcontracts is an excellent chance to meet a wide variety of SQL professionals in your area, as well. It's a perfect chance to find a mentor or two.
Speaking of mentors, and using networking to find entry level positions, join your local SQL Server group. There is usually one around in one form or another. Go out of your way to network with the existing members and let them know you're interested in entry level positions. Most of the time, they'll keep their ears to the ground for you if you're affable. It can't hurt to ask them (politely), but it will take some time and patience. Don't expect miracles here, they're humans too, and they have other challenges placed on their time and effort both for the user group and personal lives. Remembering your resume offhand may not be one of them. Many usergroups also have an online forum of some kind that you can participate in. In the worst case scenario the user group may just pass around job postings amongst themselves.
The final recommendation I have for you start looking for entry level positions is to contact companies who advertised for more experienced employees, and inquiring directly about open low-level positions. If you're taking this approach, I recommend being incredibly polite and upbeat. Most of the time you may not even get past the HR department. When you do, you might not reach a manager with either the budget or the interest for an entry level position. At least, that manager may not have one at that time, but may find himself with an opening some time later. You'll have to market yourself, and try to avoid sounding like a telemarketer. You're soliticing individuals that you're trying to make into a possible job contact. Speak to them as you would talk to a friend when you're asking them for a big favor. If you approach using this technique with the understanding of planting seeds to flower later, and you will eventually see something useful sprout up.
One last comment. A willingness to move will help you find employment. Certain areas of the country that rarely have good SQL people available in the local market. These are SQL hotspots, if you will, where an experienced person can find work easily and the local market is desperate. This provides a window of opportunity for the greener professionals to find more challenging work. For example, at one point for about a year, I saw a new position open up in West Virginia once a week. If you can go to the work, that will certainly help you. You can always come back "home" once you've "broken in" to the industry. And who knows, maybe you'll like it there.
How about the rest of us? I've been in SQL Server for ...
For the rest of us, we need to go job hunting. We've got proven experience in the industry, some projects under our belt, and dealt with the insane project manager at least once. So, where do we go?
Well, if you followed the advice at the beginning of this section, you should have a better idea of where you're trying to go. You'll know where in the following you'll want to look.
Your local newspaper will usually have the smaller shops/local businesses who need SQL help. If you want a small place where you can make a huge impact, that's a good place to start.
If you're wanting to get into the larger companies, pick a website: www.monster.com, www.careerbuilder.com, and www.dice.com are the usual suspects. The majority of headhunter and contracting firms will advertise here, both for contracts and permanent positions with larger companies.
Now, if you're interested in looking for specialist work, you should get in touch with some of the SQL communities, both locally and further away. If someone needs an optimization god, and you feel you're it, it's time to prove it. Get involved in the community helping others. Then, when someone contacts the community looking for that person, you'll be one of the names they're fed. Good consulting firms and headhunters can help on this too. Once you've got history with them, they'll know you've got proven experience in this area and they know they'll look good recommending you.
This could become a very long list of ways to find jobs, but that's a solid starting point. If you're one of the gurus in the industry, I have seen some postings on www.ladders.com that cater to you. But like the gurus, the need for those positions can be rare, and usually are distributed more by word of mouth.
I do hope that helps, and I'll be happy to answer anything I didn't clarify well enough in the forums. Good luck to you. I'll see you out there... right after I finish cleaning up the overhead rack in the janitor's office.