I run the software development operation for a software-as-a-service (SaaS) company. The product is fairly young, and the thing that makes me most anxious is staying in front of the crazy high potential we have in front of us. That's not really a complaint, because honestly this is precisely the role I've been looking for since, well, probably the last decade. It could be a very exciting ride.
Our founder said to me the other day that, "Making software is hard." He was half making a joke, but he was also serious because it's true. There are a lot of little decisions that you make every day that often have a bigger context. Business rules change constantly. You minimize complexity but encounter complex problems. And because it's never really "done," especially with a SaaS product, it never really ends.
But today was a good day, because the feedback we got from one of our customers demonstrated that the product will pay for itself many times over. That's awesome. We're fortunate to have a core group of early customers who are bona fide stakeholders, so we're very much building the right thing. (Sidebar: This always takes me back to my second position at Microsoft, in a group that never shipped anything, where my manager insisted, despite my protest, that we knew better than our customers in terms of what they wanted and needed.) Software might be hard, but it sure is awesome when you're making life easier for the people using it.
I've known this for a long time, but to this day I'm still amazed at the impact that having the right people makes. One of my strengths is guiding the process, but that's just a framework without people who can kick ass. You know you're doing it right when you can challenge people and they own the task and exceed expectations. I see it every day. Another strength I have is mentoring, but that's also not useful without willing and motivated people. The whole horse-to-water thing holds true.
Making software is hard, but even with daily challenges, is sure is satisfying when you get it right.