How We Onboard External Engineering Leaders by Having Them Be Software Engineers

I regularly get asked what my biggest challenges are or what keeps me up at night. For me, it’s making sure we attract and retain the right engineering leadership (who believe in our shared philosophy) so that they can support our rapidly growing team. When you are growing as quickly as we are, it is extremely important that you have leaders in place who can sustain the culture of excellence as we scale. A bad leader has a very high blast radius.


Understanding Thread Dumps

Your application slows down suddenly or maybe it just stops doing anything. What do you do? What can you do? Well, you can take a thread dump. In the JVM, all execution is performed via threads. The JVM executes commands on the host OS by running a JVM thread corresponding to a native thread of the OS. So whenever the JVM executes an instruction, it's always done via a thread. JVM threads have a stack of what method invocations have been called to reach the one they're currently executing. You typically see these printed as stack traces in exceptions, showing which line of code caused your exception to be thrown. But, a stack trace can be taken with jstack at any point during execution and will show you that thread's call stack. A thread dump is a list of all the threads in the JVM with a stack trace and some metadata for each.


What Does It Mean to Be a “Good” Engineer?

At HubSpot, we first defined and published our company values in 2013 with the Culture Code. Last year we published our Product Values to be more transparent, internally and externally, about what we value as a product and engineering organization. But one thing that’s become clear as we’ve grown (both in terms of size, scope, and global reach) is that candidates and employees alike want more clarity on what behaviors support those values on a daily basis. 

There’s a lot of noise out there about the importance of holding onto the fabled “10x engineer,” who exhibits superhuman levels of productivity (and subhuman levels of empathy). But we want to combat the notion that there’s only one way to be an effective engineer, and that traits like proactivity, kindness, and teamwork don’t contribute to making an impact.

Our values are only as real as the degree to which they are personified in the code we ship, the individuals we hire and promote, and the leaders we value and reward, so the more context we can provide for people on the front line about the behaviors that are meaningful to our team, the more likely it is that we bring our values to life every day in the work we do on behalf of our customers.

The initial internal draft for this post riffed off an old post by Ben Horowitz on good and bad product managers. While useful and illustrative in its contrast, it reinforced the idea that there are “good” engineers and “bad” engineers and that those are either badges of honor (in the case of good engineers) or shame (in the case of bad engineers). 


Introducing ‘Building Your First Web App’, an Online Course Built by HubSpot Engineers

Not long after I became a senior software engineer at HubSpot, I started running technical interviews. I was instantly floored by how much experience some of the students applying had. Academic computer science education generally stays in a theoretical world. Although the high level concepts are relevant to the problems faced in a professional setting, few classes are teaching the specific technologies that are used at tech companies. And, recruiters often notice this gap in experience when they review candidates applying to tech jobs. I had no idea when I was in school that there were students who were finding ways to gain experience in these technologies and present them to potential employers—and it was making them stand out. 


Building a Team of Growth: What I’ve Learned from Failure, Experimentation & Inclusion

When I started my career I couldn’t have told you what growth teams did, let alone imagine working on one of them. But as a founding member of HubSpot’s Growth team I’ve helped build and shape it from the ground up, and now I’m obsessed with helping customers solve problems by finding value in our tools with our growth strategies and data driven experimentation.

Here at HubSpot our Growth team helps people discover the value of the HubSpot platform, no matter what their software budget is. No matter who or where you are, it’s our job to connect our solutions to your business problems so you can become a better business owner, team member, marketer, sales rep, etc.


Customer Empathy Sessions: A tool for better understanding your users

If you’re a designer, engineer, or product manager building software today, you likely interact with users a lot. You probably run interviews with your customers to identify their wants and needs. You probably collect and analyze qualitative and quantitative user feedback on your product. And you probably conduct usability sessions in order to build useful, usable, and delightful software.


Subscribe for updates

New Call-to-action