Hacking with Jacob Nielsen

I’m super excited to announce that SitecoreHacker has brought on board Jacob Nielsen as a regularly posting guest author! Many of you might not know of Jacob, but if you’re deep into the Sitecore stack trace, or frequent the #exm channel on Sitecore Slack or Sitecore StackExchange, you know that Jacob was the lead Sitecore architect on the Email Experience Manager component of Sitecore and responsible for many of the great changes that I’ve been posting about over the last month!
To introduce Jacob, I’ve put together a short Q&A with him, interviewing him about his experiences at Sitecore, with EXM, and why he was motivated to join SitecoreHacker!
Meet Jacob
PETE: Jacob! Welcome to SitecoreHacker! I have to admit that I squealed like a little girl when you sent me the message asking if I would have you on as a guest author. You’ve been a mentor to me for a few years now. What motivated you to reach out?
JACOB: Aww, you’re too kind. As you know, I have been the lead developer of EXM for the last 4 years or so, but I have recently decided to leave Sitecore. You have been an enormous help during my time at Sitecore, helping me understand some of the pain points people are seeing in the wild, and I for one really appreciate all the help and guidance you have been providing to the Sitecore community in the form of blog posts, answers on the Sitecore Stack Exchange and on Slack. I had an idea for a few technical topics on EXM, and I thought what better place to share them than on your blog 🙂
PETE: You had been with Sitecore for quite a long time! Tell us a little bit about how you got started with Sitecore? What was it like as a developer working on such an interesting platform?
JACOB: Hah, good question. I have been doing web development since primary school and, as was the norm back in the days, I have created my fair share of content management systems, but I had my first look at Sitecore all the way back in 2004. I then spent several years in school, focusing more on real-time graphics, but I preferred web development and ended up doing consultancy. Primarily on Episerver, but I also dabbled a bit with Sitecore. After 5 years I got a bit fed up with the consultancy role and decided to move into product development, and after a year spent doing software for pension companies.. I came full circle and ended up in Sitecore!
Working on Sitecore has definitely been interesting. The company has changed a LOT during my 4 years, and although it may not always appear so from the outside, there are a lot of very passionate people who truly care about their work and take pride in it, and who pour a lot of blood, sweat, and tears into each release. It is certainly challenging though because you only work on a small subset of the platform, and decisions made by other teams can and will affect your area. You do have the chance and opportunity to influence other teams, but Sitecore is a big beast, and things take time, so sometimes you’ve got to lower your own ambitions for the greater good – which I feel can be a difficult lesson for many developers.
PETE: Oh man, that Email Experience Manager. I have had quite the love/hate relationship with it over the past several years, but currently in the honeymoon phase with Sitecore 9, which was an incredible advancement in the product. What was it like working with Email Experience Manager?
JACOB: I honestly don’t know whether to laugh or cry. When I joined Sitecore, I only had one condition. I did not want to work with the “email product”… but ‘lo and behold, that was the team I was assigned after a week or so of onboarding. At the time, 3.0 had just been released, and when I started looking at the team dynamics, the development processes, not to mention the codebase, I knew I either had to run away screaming or strap in for a long haul. I like a challenge, so I went for the latter.
I do not regret that decision, but I have questioned it many, many times since. You do not change something like EXM overnight, and as it is a live product, you need to continuously release new versions, as well as get on calls with external and internal people who all just want the product to burn in hell. That has been difficult, and it has not always been easy for people to accept that it can only be improved in increments, starting with HOW the team works together, and only afterward, focusing on improving the code.
Without making any excuses, because there have been grievous bugs in EXM, also after I joined, but I also think that one thing that many people do not get is that EXM is not a self-contained product. EXM builds on pretty much the entire Sitecore platform, and as such, is extremely susceptible to misconfigured installations and bugs elsewhere in the product.
That being said, I am very proud that I helped turn EXM into a working product that people, like yourself, are happy to present and recommend to our customers. It makes all the many, many days, nights and weekends spent pouring my energy into it, all worth it!
PETE: You know, we have a mutual friend. That Steve McGill guy. What was it like working with him?
JACOB: Friend?! I thought you said we just stopped recording? Only kidding of course 🙂 Steve was a huge asset to the team, both in terms of his personality and his passion for Sitecore, but for me personally, it was awesome to have someone who knows so much about Sitecore to spar with.
PETE: Haha, Steve if you’re reading, We ❤ you! So welcome to SitecoreHacker! What kind of topics or themes can we expect to see from you?
JACOB: I monitor Slack, Twitter, Stack Exchange etc. for what people are saying and asking about EXM, and I have a few ideas for some technical posts focusing on lesser-known EXM APIs. I am also happy to take requests.
PETE: Oh man, that’s awesome. I can’t wait. Well, Thank you so much for being there all these years and for signing on to SitecoreHacker! I look forward to blogging with you periodically!
JACOB: Thanks so much for having me, and once again, thanks so much for all your help during the last several years. It has truly been invaluable.
Leave a Reply