Tomas Cordero

Making the Transition From Marketing to Engineering

Career, Web Development

Illustration of work on a screen transitioning from marketing to engineering related work

For my entire career I’ve been living in the wild west that is marketing web development. I’ve taken part in things of horror like live editing a prod file directly on the server hours before a global campaign launch because the client “didn’t like the ‘flow’ of this section”.

The Wild West of Marketing

The mind set in marketing has always been “get it done no matter the corners you need to cut” or “the client’s budget doesn’t allow for unit tests.” Just because there wasn’t a budget or corners needed to be cut didn’t mean me and my team pumped out bad work. That was one of the things that made being a web dev in marketing so great, we knew our stuff and did some great work within the constraints we’re given.

The other great part of marketing was the freedom I had as an individual contributor. In most cases, the most technical person was the ‘lead’ or ‘senior’ web developer. That meant large, impactful decisions were often made by just one or two people.

I’ve made code architecture decisions for Boeing or Avnet’s marketing campaigns, which typing that out now is WILD. That’s considered normal in marketing though, and almost expected. I can’t really talk for massive marketing departments for something like Disney or Coke since all my experience has been in the digital agency world or small SAAS companies but over all this has been my experience.

While that all sounds fun, and it really is fun, it’s also kind of frustrating when you feel like you’re ready to take your career as a developer to the next level.

The downside of moving fast and making the calls with a small team is that there’s no formal engineering process. While this is fine for building a social ad campaign landing page it’s not ideal when it comes to marketing operations or even larger properties like entire corporate websites.

You find yourself spending a lot of time chasing your tail, cleaning up code or sifting through “TODOs” knowing you should do the todo but you also know the campaign launches at 7am the next morning.

You find yourself hitting this career wall, where you kind of have to make the call, “do I want to stay an IC (individual contributor) or do I want to move into a ‘marketing manager’ role?”

The down side of staying an IC is your career and salary stagnate while you become less and less in demand due to AI site builders and the likes.

If you become a “marketing manager” you’re now a manager in a marketing org. This comes with all the marketing metrics and meetings being placed on you reduces the amount of actual dev related work you can do. Now if that’s your goal then great! That isn’t where I want to take my career though.

The Realization

As I started working on more and more large scale projects like the Buy Now Cart, I started to see how the stability and maintainability could be improved by following some more strict processes for both development and feature planning.

This led me down the path of trying to implement more of these processes while also trying to maintain the flexibility that was expected in marketing.

Quickly I noticed that these two worlds, engineering and marketing, couldn’t exist together. At least not in the current marketing environment I had become used to.

So what is one to do to further their career? Well, there’s a few options. You could start your own digital agency and work it the way you want it to run. This option, is great if you really want to grow something and don’t mind doing agency type work.

I tried this route, but I found that I was spending most my time managing clients rather than focusing on the actual development work that I loved. Which makes sense, since thats #AgencyLife.

The other option is to try to make the jump to a software engineering role on a legit product team. This is the option I ultimately took and think this is the best option for someone that wants to learn and grow as an engineer rather than a marketer.

The Transition

The process for making that transition was a hard one. I applied all over the place and heard nothing.

I foolishly believed that with my 11 years of experience, 7 of those as a senior full stack dev, that I’d land a senior engineer job no problem. Boy was I wrong. I spent the better part of a years applying around, interviewing here and there, and trying to learn some of the things that I knew I was lacking. I was getting frustrated thinking “whats wrong with these companies I more than qualify”.

Soon I’d find out why, with my experience, I still didnt fully qualify to come into a new org as a senior engineer.

Eventually, a position opened up at my current company, Keap, which was great since I had an in. I had already worked closely with some of the senior / staff engineers over in the and had built up a good working relationship with them.

They knew my abilities to program as well as my abilities to own projects from more than just a development standpoint. That worked out in my favor, as the word had spread to the managers in the engineering org who gave me a shot.

Now, the interview process was something completely different from what I’ve done in the past. In marketing the interview process, even for a senior developer position, is crazy easy. It basically consists of meeting with a non technical marketing manager then meeting with any other developer they might have on staff. The questions asked are usually about SEO and maybe some basic HTML / CSS questions.

From my experience, it’s always been a “vibe” interview where as long as you are sociable and know your stuff for SEO you got the job.

For an engineering role it was a lot more technical, which makes sense. That was the first of many times I questioned “can I really make this jump?”

Fast forward, through the interview process by a month, I ended up getting the offer!

Even with the offer, I had another “is this the right move?” moment. My manager sent me the required competencies for the SWE III position and it was a little intimidating. I knew, I could check a lot of those off based on my current role in marketing but I had that classic imposter syndrome feeling.

The New World

I ended up accepting the position and have since made the jump fully over to engineering. It’s only been a month so far but as early as day one I was able to see the VAST differences between marketing and engineer.

I could also see why it was so foolish of me to think I could just jump into a senior engineer position with no engineering experience. It turns out a lot of software engineering is the process, which deep down I knew but never fully internalized it. Learning the process and seeing the level of complexities that engineering teams have to work through really opened my eyes to why marketing teams usually require their own developers instead of keeping all code in the engineering team. While I had the coding and social abilities I really lacked the understanding that things are slow because processes need to be followed. Processes need to be followed because reliability and maintainability is more important than just “getting it done”.

The other thing that I realized is unlike in marketing where I can just say “I want to refactor this entire system” and just do it, in engineering there’s 100s of eyes on something and there’s a reason it is the way it is. Refactoring something might break something in another teams scope. No one person owns the entire project, it’s a team ownership with each team owning small areas of the project, all having to work together to make something scalable and stable. I also had to (and still have to) learn new languages which adds to the mental load but that’s not the hard part really. The hard part is learning new process and working with 100s of other developers.

Final Thoughts

I still have a long way to go in this transition but I think the shock is wearing off and I’m able to start focusing on learning my new teams systems and languages. The idea of being on-call still scares the crap out of me since I’ve never really been “on-call”. Marketing has always been “If I have time to fix a down site, I’ll fix it, but no promises”. Just another hurdle to get over though!

If you’re feeling like you’re stuck or that you’re ready to make the jump from marketing or some other web development role but feel like you’re not going to be able to keep up with the different process, take it from me, you can keep up. Sure, it’s a bit of a culture shock and will take some getting used to but the key thing to remember is (in most cases) the engineering manager hired you for the long term not to crank out landing pages day one.

Take the time to learn the team, the org, the systems and work with your manager on a 90 day transition plan. The thing that has helped me the most in this transition is really humbling myself and coming into this new role as if I was just starting my career. Sure when talking to my team members they explain things to me that I already know but I let them and actually welcome it because that builds trust and trust is the name of the game in the engineering world.

Hopefully, this post helps someone. If anything, it’s just me getting my thoughts out for my myself. If I can help someone make this same transition or just chat feel free to reach out!