My first job out of college saw me working as a health coach/technical support lead/operations coordinator at a startup within a Fortune 100 company.

My next job saw me working as a product owner/user experience designer/technical support lead at a small software company.

The job after that saw me working as a digital product manager/user experience designer/content consultant/professional crafter at a moderate sized publishing company.

In all of these jobs, I was coding. As a technical support lead, I wrote macros to automate time consuming but rote tasks for the customer service team. As a user experience designer, I hand coded SVG animations to use as loading animations. As a digital product manager, I wrote media queries to make our websites responsive. In my spare time, I created websites for myself, friends and family. I learned CartoCSS to style a map for my own (and friends’) wedding website. I badgered my developer friends to help with intractable problems. I googled up a storm. I learned a lot.

Every time I started on a new project, I’d find myself at 2am, eyebrows deep in code, exhausted and elated as I solved the problem layer by layer. And every time I took a new job, added a new responsibility to my pile, made a transition, I thought: I should be a developer.

I love to learn. Being a health coach/product owner/user experience designer/content consultant/technical support lead is a great opportunity to pick up new skills. Adding new hats is an excellent way to be constantly learning, but wearing so many hats can make the adage ‘Jack of all trades, master of none’ feel all too true.

Being a developer is the ultimate opportunity to learn, to add layers of skills that complement one another and allow my love of learning to help me go deep into a topic, to not only add hats, but to build expertise.