Legacy Code Base Challenges

Continuing with yesterday’s post 90 Days of GitHub Commits, jumping back into software engineering has really driven home to me why it’s so hard for successful software companies to keep up with new upstarts. Once a product is working, and the startup starts scaling, all the engineering efforts are focused on keeping up with growth, not with…

Creating a Great Environment for Software Engineers

Continuing with yesterday’s post on Recruiting Software Engineers, Kevin Strasser of TribeBoost offered a great comment that software engineers are looking for more than just money — the environment must also be attractive. Here are some thoughts on creating a great environment for software engineers based on Kevin’s thoughts and others: Autonomy, Mastery, and Purpose – Encourage autonomy,…

Recruiting Software Engineers

Just this past week I’ve received two separate requests for help recruiting software engineers. I think it’s a sign of the times with technology continuing to be hot and the corresponding shortage of software developers becoming more acute. So, as someone who’s trying to recruit developers, what are some best practices? Here are a few…

Year of Code

Back when Adam and I started Pardot in 2007, I spent the entire first year writing code full-time and it was awesome. We were blazing a new trail with SMB marketing automation and adding new functionality every week. As the business grew, my software engineering efforts slowed and I focused my energies on ways to best grow the…

Reduce Friction to Improve Product Adoption

Recently I was talking to an entrepreneur about his product. The market already had a couple of inferior solutions to the problem he was solving, each with their own pros and cons. His new product provided a more elegant platform, but also increased the friction for product adoption. Product adoption is a major challenge to…