Skip to main content

Posts

Two Months

As a new technology executive, my biggest worry is whether I am focusing on the right issues. My prior roles primarily required technical work, but they mostly involved small problems and small teams. For my first executive position, I expected to focus on organizational issues more than technical ones. Two months in, I think my expectations and role reset strategy were about right. Here are some of the challenges I've been working on so far: Hiring. I'm shifting the organization from being mostly outsourced offshore to a more even onshore/offshore model. Sourcing and assessing engineers for senior roles has been challenging. I'm committed to building a great team. This is my top priority, and so far we've filled two of the four most senior roles. Our offshore people are solid, and I'm really excited about the new people we're hiring. Process.  We need a simple and unambiguous approach for software development. I've been pushing the team to use Jira a...

State Department Invalid SSL Certificate

There's been some buzz recently about Hillary Clinton using a personal email server for official state business. The Wired piece is an interesting read: http://www.wired.com/2015/03/clintons-email-server-vulnerable/ Probably the most surprising thing in the article for me is not about Hillary's email server at all. In discussing Hillary's invalid SSL certificate, the article casually mentions that the State Department uses a self-signed certificate, implying that their email could be compromised by a man-in-the-middle attack similar to what could target Hillary's email server. Here's a link that illustrates the invalid certificate: https://www.state.gov/ At time of writing, the certificate belongs to Akamei, and not not to the State Department. The certificate was issued by Cybertrust and will expire in June 2015. Does this imply that the State Department's email could be compromised? Probably not. It's unlikely they are using this certificate for ...

Role Reset

Two weeks ago I started a new job as VP Engineering at Recruitics . It's a great opportunity. The company is growing quickly and has a solid management team. This role is quite different from my last one as a software architect. Now I am designing people stuff, not software. I have read nearly twenty books to prepare for this role. One recurring theme from my reading is that people fail in new roles when they keep doing the things that made them successful in their previous role: the key to success is adapting to the new challenges. My background is in writing solid software systems, but the challenges I face now are different from the ones that brought me to this point. Resisting the urge to jump to coding is difficult. But code doesn't hire a great team, and code doesn't improve communication. I need to do it differently now, and I'm embracing the change.

Software Dissonance: Slow Migrations

This weekend one of my choral ensembles had a lesson in dissonance. The two bass parts hold a (dissonant) whole tone interval, which eventually resolves down to a (harmonious) minor third. We were having trouble getting the intonation right, so our choir director had us go very slowly and hold the dissonant interval so our ears would be accustomed to the sound. Just like music, over time software systems cycle between dissonance and harmony. One significant way dissonance occurs is during migration. In a migration, multiple valid domain models partly overlap. The dissonance is created because they embody slightly different assumptions, structure and capability - yet they share elements in common. When the old model falls away, dissonance resolves to harmony, and the cycle renews. Most software teams minimize the duration of their migrations, perhaps regarding them as unpleasant or untidy. In my current work setting, my team cannot risk an abrupt migration because there are too many m...

PhantomJS / POODLE

On Tuesday October 14th, 2014, Google announced the POODLE vulnerability for SSLv3. Engineering teams scrambled to remove support for SSLv3 on their websites, including our own system operations team. My team's data engineering system scrapes information from retail banking sites, which we have learned were heavily impacted by the SSL fix on Tuesday. It makes sense that banks would want to keep up-to-date with the latest security issues. When we scraped pages on Wednesday morning, a large portion of the sites we collect from came up blank in the PhantomJS browser, but without any obvious errors in our log files or in our log analysis dashboard ( Kibana ). We were puzzled at this behavior, and when we went to look at the URL's that failed to produce images, it was clear that they were all SSL-enabled and responding with a recent  TLS protocol. It turns out that PhantomJS by default only uses the SSLv3 protocol, and so it does not support any of the TLS protocols without ...

Solved: Unable to Locate Spring Namespace Handler

I attempted to run a Spring WebMVC application, and when starting up the application complained that it didn't know how to handle the MVC namespace in my XML configuration. The project runs JDK 7 and Spring 4.0.6 using Maven as the build system. The following is my XML configuration file: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:mvc="http://www.springframework.org/schema/mvc"        xsi:schemaLocation="         http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/mvc         http://www.springframework.org/schema/mvc/spring-mvc.xsd">          <mvc:annotation-driven/> ...

Picture Yourself Where You Want To Be

I recently received this marketing communication from LinkedIn, featuring a YouTube video . The video shows children talking about what they want to be when they grow up, and they are juxtaposed against images of successful professionals doing those things. The message is that you can follow your dreams and succeed. It's cute. LinkedIn marketing communication promoting http://imagine.linkedin.com The website accompanying the campaign goes on to explain how some of the professionals featured in the video use LinkedIn to do their current jobs. For example, a chief merchandising officer uses it to discover vendors for unique items. And that's it: end of communication. What I find interesting is that LinkedIn isn't set up very well for people trying to "follow their dreams". I've worked hard to grow my capabilities. I average two hours per day studying work-related topics to expand my reach. For my career, the signal-to-noise ratio on LinkedIn is mostly...