Planning, coding, and research are the keywords.
Planning is obvious, i guess. Whenever we outline a new feature in words, i have to think through how this will work with the existing components, what new components or functionalities we need, up to (and sometimes including) some rough prototypes.
Coding is simply carrying out those plans. With the exception of some rare cases this is a very mundane task, sometimes even boring. Those exceptions, though… those are the moments when my rubber duck can shine.
Research is a somewhat different beast. I oft find myself looking around how others solve problems i have at hand. Not necessarily because iʼm clueless but because iʼm curious. I also keep my eye on the tech word, looking for buzzwords we can ride to make our service better or when pitching new clients.
Other than that, i often have meetings with the sales team and our CEO to decide which way to go. I also take a huge part from infrastructure management, and mentoring colleagues in our developer and data science teams.