Working in an engineering team environment has all sorts of benefits. After I moved to my next gig, I think I learned more about dev in my first 3 months at product team, than I had in my last 4 years at previous gig, all thanks to simple code reviews and pairing. It's amazing to hear the thought process of other developers and how they would approach a particular problem.
Enjoy it. Learn everything you can, but keep in mind that you're not getting the full picture. Full software product lifecycle might be very different beast than what you're doing right now.
You're entirely right that you get used to delivering working solutions that are ultimately one-off fixes, but at the same time you also discover how to use technologies that speed up your production in a more pragmatic fashion. It's definitely not a product lifecycle, it's a project lifecycle – different but not any less valuable.
Although, it is unfortunate you have no coworkers. The thing I miss most about working at an agency is being able to poll my many developer colleagues to research and discover different approaches to problems. The fast pace of an agency often means that you aren't the first to discover a problem that occurs on a project, and your colleagues are a highly valuable commodity that you don't necessarily get at a product.
Communication: Keeping both the recruiters and management in the know about what is going on. This means I need to be decent about planning, bug tracking, tool choices, etc.
No one else is really technical here at all so occasionally you run into the hurdle of "It doesn't look like anything is getting done!". It really means I have to be very good at communicating complex topics to the layman. Not a bad skill to add the repertoire by any stretch of the means though.
Building a small team: There was a fresh grad on the social media team with a Comp Sci degree from NYU. "What's he doing in social media" I exclaimed! Get him over here!". I guess he focused on music instead of computer science at school but he's picking things up.
There's a lot to being a one man team.
I'm in the same position, it's really lonely being the only technical resource. Just someone to bounce ideas off of. On the other side, everything works and when it doesn't I know exactly why within moments because I wrote it all.
There's no need to show upvote points; just order it so I'm more likely to read the things that other people think are worth reading. I can judge it myself without seeing N "this" comments or upvote points beside it.
(Not saying you do it, I see it all the time).
If you want to talk shop you are more than welcome to contribute to one of the open source projects out there (I'm sure you have a few in the stack). I will say it isn't the same as having a partner in crime at work, but you can get your self exposed to new ideas and thinking if you so choose!
At the same time, I really miss talking shop with other devs. And given my extremely young age (only a few years out of school) sometimes it can be hard to be sure I'm making the most efficient choices. There's a lot of times I ask myself...why is this stupid and what am I going to break?
It definitely has its ups and downs. I think the most valuable lesson has been self reliance. No one is fixing this, it's on me. No one is going to refactor this, except for me.
edit: spelling :(