In my organization, I started out as a senior software engineer. Through my work, I put together a number of detailed architecture designs and was given people to help build our product over time. As the definition of the architecture and implementation came along, I was given more and more responsibility and duties, to the point where I'm helping to set the direction and schedule for major parts of the software organization. At this point, I've even been given allocated headcount for a large team to help build it all. I don't really have a manager, as I report directly to the VP of software, and mentors are far and few between.
I'm still personally tasked with building out the architecture, writing code, training newhires, handling the HR-side of management (PTO, sick leave, etc), hiring plans, work estimates, gap analyses, bizdev relationships and so on. I've asked for training, but so far haven't actually received any. I don't have a college degree, learned everything I know about software engineering myself, and have no experience or training with the business-side of things.
How have those of you in similar situations dealt with the stress of it all? I find myself overwhelmed with responsibilities, and some of the political pressures from above are starting to take their toll.
Break down all the tasks you are doing and are supposed to be doing. Every task that you can see yourself doing for more than 8h/week needs to be done by somebody you hire.
Before you jump in and go on a hiring spree, make sure to list the top 5 outcomes (with measurement) you want to achieve by hiring this person. It also helps to list the personality traits/skillset you think they will need to achieve those outcomes. Using this approach you know what you are looking for and frankly, this approach has helped me bring in people that completely own their domain and almost need no guidance (beyond the initial onboarding). Ironically the goal you should have as a manager is to make yourself obsolete.