You are not a developer. You deserve these tigers to rip you to shreds and turn you into a dinner. If you have no respect for your job or your worth then you deserve everything that comes your way.
This image depicts what is wrong about calling yourself a developer and shifting the blame when things go wrong from yourself on to everyone else's shoulders. If you see yourself in this position, I want you to quit your job right now and go find a job cleaning houses, or toilets. Seriously, I have a link right here.
It is the type of job you deserve.
I know the type of developer that puts this circle around themselves. They sit in the corner, take the spec sheet from their manager, check over the items and hang their head or beat it against the table.
They seek solace in the discussions with fellow developers who are in the same position, talking about their terrible colleagues and the mess that keeps befalling them.
You are not a developer. You are not someone who I would trust to code an xml document with two nodes. You are a turkey.
This happens because developers do not respect their jobs or their colleagues, or their clients. They do not respect themselves.
Know Your Worth
Years of coding or practicing your craft should help you to excel. Every day you make it through refines your skills. Every mistake you make is a badge of honour towards being a professional.
It should be said that the more mistakes you make -and learn from- increases the respect you have for yourself. It certainly makes you better at what you do and taking responsibility for your mistakes is the most professional "tool" you can add to your belt.
As things befall you they are forcing you to know your worth. Know what your time is worth, per hour or day. Respect the time it will take a task to be completed. Never settle to half-attempt a job. Always head towards Zero bugs.
Experience is key in knowing your worth. Make mistakes. Stick you head out. Let people know how to respect what you do. Never be afraid to ask questions.
Know Your Colleagues
Are you being forced to hit tight deadlines on a regular basis? Are you being pulled into projects with no previous thought to the development process? You can change this.
No manger wants to talk to clients a few hours before a launch to inform them that it will not go ahead. The deep-seeded dread of every manager is having to inform the client that the deadline will pass, due to "internal oversight".
Tasks take time. The more you do a job the better you will get at estimating it. Managers should not be estimating your time on your behalf - take responsibility for your own work (that is another rant).
If your managers do not know or understand development it is your job to teach them. To be an effective company you need to inform them of process and timelines before they turn into major issues at the pointy end of a project.
Be slow. If what you mention does not stick keep at it. Change the processes. Make sure your voice is heard. The reason why the development budget is not large enough is because you did not explain the issues - if you were not asked it is your job to inform them the numbers are wrong.
It is not your managers job to do what is required of you. But, it is you job to inform your managers when they have underestimated your job.
Damn it. You are a developer not a turkey. If people are chasing after you like tigers then maybe you need to think about how much you respect your skills and what you do.
Every time a developer sits and the corner and complains a Linux Kernel dies.
We spend hours in darkened rooms with loud music, coffee and Vim to learn and refine our skills. We spend time on StackOverflow to learn from other's mistakes or ask questions. If all that hard work is so we can get chased down by managers then it is all for nothing. We should have enough respect for what we do to know what it is worth.
If your client is expecting cheep prices you can inform them -polity- that they are wrong. You can teach them the process and why you are worth more.
If your manager is expecting fast turn around then you can inform them that they are wrong. Teach process. Teach roadblocks. Teach bumps. You do not need to teach them how to code, but teach them how to think more like a developer.
Missed deadlines and tight run projects happen to the best of us, but are you talking with your manager? Are you raising issues when they happen, or do you choose to leave them alone with the thought -or hope- they "will resolve themselves".
For crying out loud, do not sit in the corner sulking. If you are feeling like the turkey in the image then it is time to think about how others see you - easy dinner.
Turkey to Tiger
What are you doing to change your position from turkey to tiger? It is all up to you now, you cannot run anywhere else. If things do not change then you need to change jobs, we do not need more developers who hide from managers or their own responsibility.
A developer knows how to code. A developer knows how to put a value against their work. A developer takes their job seriously. A developer talks with managers, or clients, or friends with respect for their job. A developer knows the stress they are under. A developer will ask questions when they do not understand.
Being a developer is not shoving your head below the sand and hoping everything will end up going fine. That turns a developer into a turkey.