You may have an interesting opportunity here, actually, though it may be tough to perceive this opportunity through the pressure you feel. Why?
- You are in a position of real responsibility, in essence serving as a lead developer.
- You may have more influence than it seems.
- You recognize your current limits and know that you have more to learn.
These factors add up to the next three weeks being great real-world experience you can use both in this job and when interviewing for future jobs.
Now: most managers, in my experience, do understand that your time comes with tradeoffs. In other words, if you are spending time on one task, you are not spending that time on another task. You seem to characterize your current workload as:
- Production support ("we have just released on production our new internal website and we are constantly running on bugs related to it"); and
- Creation of two websites in a rapid timeframe ("I have been given the task to complete two websites in twenty-one days")
Are there additional tasks in your workload? Make a quick list. For this answer, I will presume that the list above represents your complete workload.
Given that spending time on one task takes time away from other tasks, it is important to the business that the most important business priorities are delivered the fastest. In an abstract sense, the task with the highest business value (highest profit, regulatory benefit, cost savings, etc.) and the least cost (delivered in a shorter timeframe, purchased off-the-shelf versus development in-house, etc.) is the task that should be accomplished first. Usually -- as I believe is the case here -- the value vs. cost is not entirely clear. Fortunately, you don't have to rank all your tasks this way, since business priorities change all the time. Just rank the top few.
In a more practical sense, I would recommend:
Organize your thoughts and tasks.
Look at your task list. Are there tasks (such as lower-priority defects with the internal website) that can be delayed until after the launch of the two websites? Are there parts of tasks that can be reused, especially between the two websites? Are there libraries (free or paid) that may solve parts of your problem for you? Don't spend much time on this effort, but even a few minutes organizing this list will help you have a conversation with the business stakeholders.
Get agreement on business priorities for your tasks
Now that you have a list, find out which tasks in your workload have the most business value from the perspective of your management. This means asking your manager -- and anyone else your manager believes should be involved -- to decide which tasks in your workload take priority over the others. In your situation, the two questions I would most likely raise are:
- Which production support issues have a higher priority than the two websites, and which production support issues can wait? It helps if you can help to identify temporary workarounds for more minor issues. It also helps if you have anyone else in the business who is able to triage the production support issues for severity so that you don't have to do it yourself.
- Of the two websites, which one is more important? Yes, yes, they're both important. But, pretend that only one could be done. Which would it be?
From these questions, gain agreement on which work is to be done first. If production support issues are the most important, they get done first. If some production support issues can wait until after one website or both websites are done, work on the websites first.
Important: "agreement" does not mean "set in stone." Business priorities can and do change all the time. As long as you recognize and the business stakeholders recognize that changes come with a cost, if your manager (or other "boss") changes your priorities, and you have advised the business on the cost, then your priorities have changed.
Keep the business updated at least daily on your progress
This doesn't need to take long. A quick e-mail should suffice. Raise any new issues that someone else could reasonably help you resolve.
If you are waiting to get a question answered, work on your next priority
That way, you are continuing to make progress.
Don't push yourself past your level of productivity
You have a job that requires you to think -- or at least, we hope so. It does no one any good for you to keep working when you are too tired to continue. Get some rest and come back the next day, rested and ready to work.
You are in a tough situation. You may or may not get everything done that the business wants. But -- the business is almost certainly better off if you deliver something usable. If you can get your first website done in a little under half the time allotted -- or at least the most important, usable parts of that first website -- you are in a great position to reassess the situation with the business.
Good luck to you. Many of us have been in situations like this, and while you cannot and should not constantly work in crisis mode, know that you can survive this ordeal and maybe demonstrate more worth to this employer -- or a more reasonable, future one.