What do we look for?
We are looking for a well-rounded front-line DBA to protect, maintain and manage changes to our core 24x7 OLTP production server. Deep knowledge of availability groups and performance tuning is essential as is demonstrable experience in dealing with an incident. We expect you to take ownership of our environment and together with the rest of the data team handle any incidents that are escalated.
What can we offer you?
We are fast adopters of new SQL tech as we often find there are problems waiting to be fixed e.g. temporal tables, clustered column stores, In-memory tech, auto plan correction, distributed availability groups, managed backups, clusterless AG’s etc. We are on SQL2017 right now, and you can be sure we will be on SQL2019 when it comes.
Example Recent Projects
We are a small team so a dislike for firefighting or spinning plates and a love for building automation and brains into our system is desired. Here are examples of proven projects that have successfully added to our stability and scalability. Some were open source, and some are internal projects we have open sourced on GitHub.
- Managing scheduling of SQLAgent jobs gracefully in the face of failovers with an availability group – we built and open-sourced tsqlScheduler to handle that. As an added bonus it also allows us to source-control our jobs and deploy them to dev/qa/production.
- We took the shock absorber idea and implemented it, providing us with a massive throughput boost for data ingestion
- Automated infrastructure testing with PowerShell, open-sourced as the SQLChecks library.
- Auto rogue session management system. Built to police the report infrastructure. Power users often perform custom analysis over the large, raw datasets. But sometimes their queries can take the server to its knees. Our system identifies these queries and warns the user. The user can then choose to proceed with their query, or the system can terminate the query.
- Rotating log Ring Buffers, a low maintenance way to keep the size of our logging tables under control
- Powershell functions for developers to send SQL code review requests to the database team. The powershell functions will take a dev and production copy of the SQL objects, pull them into GIT and send a PR to the database team comparing the two.
- Auto data archiving to Azure using data factory. In trying to find that perfect trade-off between cost and performance, we keep data onsite for as long as possible and then it is automatically archived using a rolling window.
What would your role be?
In addition to planning and executing on larger projects designed to push some or all of the entire team forwards, you'll also be responsible for the following kinds of work:
- Reviewing SQL pull requests - both we and the development team see PRs as an excellent learning opportunity, and we'll expect you to help educate and work with the wider team to deliver the 'best' (most appropriate) solution
- Triaging and reacting to alerts - whether automating them away or reviewing the true exceptions that bubble up, you need to keep our servers running with a clean bill of health
- Performance tuning specific SQL or applications - sometimes the perfect v1 design doesn't scale to v2 data volumes, and we have to roll up our sleeves and optimize appropriately (wall clock, CPU, memory...)
- Review our baselines and plan any work required - whether space, performance & scalability (CPU/IO), or security - our business doesn't stand still, so neither will any of our baselines. Your job is to figure out when and what action needs taking.
- Work closely with the product team when developing new solutions to ensure they are scalable and manageable.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.