I'm going to let you in on a secret: I don't actually have a boss.
Not having a boss is key to being happy in your workplace and has a side effect of forcing you to be a better than average employee.
Disclaimer: This article won't help if your boss is a chronic micromanager, if you're in a stranglehold of red tape, or if you're being herded by an agile cattle prod and measured on a HR enforced bell curve. You must have some amount of freedom over your own workplace destiny if you want to fire your boss.
I should point out that my company does have an org tree and there is one individual who has weekly meetings with me and fills out my annual review, so you could call him my manager as a technicality.
Anyone I Can Help with a Project is my Boss
The reality is this: Anyone who I have the capability to help with a project is my boss. High level projects roll down from higher up the food chain. Developers want my opinion on how we should scale something. A DBA wants me to do a code review. QA wants to learn SQL. An intern wants to know how a certain stored procedure works and how to execute it without blowing anything up.
All of these people are my bosses.
See, I look at my job simply. I have a predefined (and growing) set of skills. If you want a database solution, I'm your gal. My boss doesn't have to tell me what to do. Anyone can come up to my desk and ask for something, and it gets done. What happens when you have too many things to do? What happens when people get pushy? Easy: tell them what you're doing, who you're doing it for, and let them prioritize.
"Floyd, I understand your SSRS report needs to be fixed. Cory got to me first right after lunch so I'm working on one of his stored procedures that's throwing an error. Do me a favor and talk to Cory and you two decide who gets me first and I'll be happy to drop what I'm doing and work on your SSRS report."
What's the one thing that most often causes people to go over your head? Answer: if they feel like you're ignoring them. If you are a great communicator, people will not feel the need to go over your head and complain.
"Well, Floyd. Cory's proc is going to take longer than I thought. He's ok with me putting it aside for a few hours so let's work on your SSRS report now."
We try to give estimates but there are a LOT of surprises in the database world. I try to give honest time estimates for requests (Equation: if it should take 20 minutes, quote 40 and delight them when and if it's done early!), but in cases where I don't know, I'll draw an analogy as a last resort ("I did something like this last quarter and it took about 2 days, so if your system is similar that's a ballpark guess."). If you really, really don't know, say that! Tell them you don't know, you'll research it, sleep on it, and let them know ASAP. In this way your customers are generally happy, feel in the loop, and are cared for. Bonus: you elegantly manage your priorities without being given a directive.
View Everyone You Work with as a Customer
As I said: I don't have a boss. Everyone I work with IS my boss because I view each and every one of them as customers. Working in this paradigm of total openness means I can also start and drive my own projects and seamlessly integrate it into company priorities. Database is angry and needs better indexing? Tell the product owner, developers, and fellow DBAs and toss that in.
I jokingly say, "I serve at the pleasure of the developers," but it's the truth. If and when I say "no" to something, I'll explain why it's for our collective good and offer an alternative. I'm taking care of them. I understand urgent "fly-bys" and fit those in as best I can, too. I'm also a steward of the database and the data, so you could consider it a customer itself.
We're here to guard, guide, fix, create, design, and improve.
Fire your boss and treat everyone with equal importance.