I have been having problems with my boss and don't know how to deal with them. I have already gone to my boss's boss and we may have a meeting later today to discuss my boss and I's interactions, however, I'm not 100% sure about this.
To give a little background, I am a software engineer working under a manager. I have been with the company, on contract, for less than a year. I am the only person this manager (my boss) manages.
My boss has been with the company for 20+ years. My boss's knowledge of the systems that are in place in my group are what, I feel, give my boss their value to the company. I'm pretty sure my boss is the only one that knows how a lot of stuff works.
My boss never gives me complete details on any assignments because it seems as if as soon as something hits their desk, they immediately tell me about it, even though all of the details haven't been worked out yet. This makes for A TON of extra work for me.
The most extreme example:
At the end of February my boss didn't have much for me to do so they gave me a task with no deadline. I work on this task for two weeks, taking my time and refactoring (making things better) things that aren't completely related to what I'm doing along the way.
After two weeks have passed (and I haven't finished yet), I get another assignment that takes precedent. I work on this for 2 weeks.
After those two weeks pass, I get another assignment that takes precedent over the previous tasks. I work on this for 2 weeks.
I get another assignment that takes precedent, but it didn't seem too urgent, so I got some stuff done on the previous task (but didn't finish it completely) before starting the new task. The following Monday, my boss tells me that this new task HAS to be done by Friday. I tell them that this is a giant stretch and end up working overtime everyday. Friday comes along, and wouldn't you know it, it doesn't need to be done until the beginning of next week. At this point I'm 95% done so I decide to get the last 5% done on Monday.
Monday comes around and I realize that I haven't turned in anything for two whole months. Literally a whole month of that 2 months was wasted on assignments that I still haven't touched to this day.
I tell my boss this. I tell them that we could have avoided this waste if we had planned properly.
Boss's response: That's the way things are done around here.
Most recent example:
I've been working on an assignment for a month and its almost done. I go on vacation for a week and decisions are made and everything I've done is trashed and I have to almost completely start over. I tell my boss that this could have been avoided with planning and asking the right questions. (Literally this whole waste of my time could have been avoided by asking a single person a yes-or-no-question). I tell them this.
I get the same response.
My boss goes on vacation for a week and a half while I work on this assignment. Before my boss leaves, I tell them this assignment is literally pointless (for those of you who know techy stuff, it is a web service that can be reduced to a couple SQL queries). Today, the first day my boss is back from vacation, we get into a disagreement about this latest assignment. Here is the conversation:
BOSS 10:44 AM:
hi
ME 10:51 AM:
hello
BOSS 10:51 AM:
what is the status on the webservices for the patch string?
ME 10:52 AM:
Its never going to be as quick as it could be if it were a query
especially for a product
I am in the process of creating another entry point for the service to get just the patch string
because it seems like thats all [other team] needs
I still believe that this web service is unnecessary and everything should just be a query by the way
BOSS 10:54 AM:
did the DB update complete? (*this question ignores my previous statement*)
ME 10:54 AM:
what do you mean
BOSS 10:55 AM:
[other person] was planning to update the DB with the latest changes?
ME 10:56 AM:
He hasn't said anything to me about it
I'm pretty sure he was out of office last week
I seriously think that we need to just forget about this web service and let people read our tables
BOSS 10:58 AM:
no
ME 10:58 AM:
why not
Having this web service means we need to maintain it
which means more work whenever a dB change happens
we could just get rid of that need for maintenance and just let other teams query directly
If a dB change happens when we don't have this service then the other teams can decide if they even care about the dB change. They might not even care
Not having this web service means less work for everyone
It also provides faster query times for everyone who would need the data
I don't see any drawbacks
Also, there is no security concern with allowing people to read our data
We will not give them write permission
And I'm pretty sure we can also control which tables they can view
Also, let's say we make a change to this web service some time down the road, everyone who consumes the service will be required to make a change to their program that consumes our web service whether or not they even want/need the change.
It is also worth pointing out that the queries that could be used to replace this web service are not complicated. I could easily write a query or two that other teams could use.
It's not like there are a bunch of tables involved in the data, there are 3
maybe 4
if they want other information then a couple more
its not complicated at all
Another thing to consider is that when we were in the meeting many months ago with quentin and hanu and another guy, I forget his name. The question was asked "Why can't this just be a sql query?"
[10 minutes pass]
I would appreciate for you to at least acknowledge that you have read these messages. I would also appreciate (even more) any counterpoints you have.
BOSS 11:22 AM:
I have already indicated that there will be webservices
ME 11:22 AM:
That doesn't mean that we need to provide one
BOSS 11:22 AM:
you keep repeating the same thing
let us focus on the webservice and complete it
that is all
ME 11:23 AM:
no
You haven't provided a valid counterpoint to anything I just said
BOSS 11:23 AM:
I have explained it already
webservices it is
ME 11:23 AM:
You have explained what already?
BOSS 11:24 AM:
before I left for vacation
BOSS 11:24 AM:
there is no need to go back and forth on this
BOSS 11:24 AM:
please complete the webervice
ME 11:25 AM:
This is not how to properly handle a disagreement. Just because you are my boss doesn't mean your opinions are better than mine
And what you said before you left was that we need to not expose our tables because that's what we've always done in the past
That is your only counterpoint I can remember
BOSS 11:26 AM:
what else do you expect?
ME 11:26 AM:
I expect rationality
BOSS 11:26 AM:
if you are having issues with implementing this let me know
BOSS 11:26 AM:
I need to talk to [boss's boss] about it
ME 11:27 AM:
I do not appreciate you repeatedly implying that I don't have the ability to complete tasks when I don't agree with you about them
I have told you my view on this web service and all you have said to me is "No, just do it"
BOSS 11:28 AM:
sorry that is the process
ME 11:28 AM:
Just because something is the way it is doesn't mean that it is correct
BOSS 11:28 AM:
it has to be completed soon
ME 11:28 AM:
I would like to point out that the web service works and was working before you left for vacation
You are on the email thread where this was pointed out
The only problem is that its not instantaneous
Which, like I said, it won't be
BOSS 11:29 AM:
it need not be
ME 11:29 AM:
yes, it does
That's what [stakeholder] needs
BOSS 11:29 AM:
that is the point of the webservice
BOSS 11:29 AM:
it is a parallel operation when the build is compiled and patchstring generated
BOSS 11:30 AM:
[other] team has given bogus arguments like this before too
ME 11:30 AM:
I'm done talking with you about this
BOSS 11:30 AM:
good
ME 11:30 AM:
We need to have a meeting with the stake holders or [boss's boss]
This is a single example of our interactions. I have a lot more conversation histories. I have already had a meeting with my boss's boss about my boss and I's interactions, I just feel some outside advice will help.