How to Fix Your Company's Hiring Problem

Hiring is among the most challenging aspects to running a company. If done correctly, it can propel growth and success that you never imagined, but if done poorly it can lead to festering infections in culture and process that will be nearly impossible to get rid of. Unfortunately, there is no single technique, or even selection of techniques, that will be a silver bullet. Furthermore, each technique will have aspects what will eliminate candidates who might have been great, while letting others through that are not. Engineers present a unique challenge due to to the above-average density of introverted candidates when compared to other types of positions, like sales or human resources.

It is important to understand and focus on your hiring process for what it is – the future of your company.

A bad hire will not only slow down their own project, they will champion unwise changes or oppose logical changes that will slow down the company as a whole. They will even fight against you when you need them to fight beside you. To compound the problem, if they become more entrenched (which hopefully doesn't happen, thanks to effective review practices), they might become a part of the hiring process and start green-lighting even worse candidates. This can start the downward spiral of your company. Good engineers don't want to work alongside bad engineers, especially if there isn't a clear indicator that the good engineers are appreciated more than the mediocre or bad ones. Look for a more extended piece on identifying and retaining talent as well as the feedback and review processes, because those are both critical to keeping the right people, which can (but isn't guaranteed to) help add more of the right people.

So how do you identify and hire the right people?

Since there is no "sure thing" here, you have to take measures to improve your odds where possible. It is crucial to identify people within your company that will best serve as the core of the interviewing team, they should meet each of the following qualifications:

  1. Effective communicator with candidates of all types, and crucially able to identify the candidate's personality and their learning/communication styles
  2. Humble and genuinely interested in finding the best possible candidate for the role, not interested in seeing if they can make the candidate "fail"
  3. Able to demonstrate the value that your company offers and the value that your company is seeking
  4. Has a good track record with past hiring recommendations

Furthermore, it is also worthwhile to identify those who will not be valuable contributions to the interview process (either by choice or resulting from poor co-interviewer feedback). It should be made clear that this doesn't indicate that they are a bad employee. It is perfectly reasonable that a valuable employee is not a great interviewer. 

Effective Communicator

It isn’t the interviewers’ job to demonstrate their own technical prowess or to make the candidate fail, it is their job to determine if they are a good fit for your company.

An effective communicator will be able to read the candidate to determine which aspects of the person they are seeing are true, which result from nervousness, and which are embellishments or lies. A large portion of communication is nonverbal, but it is crucial not to let bias and prejudice slip in here; there needs to be a tangible reason to think someone isn't a good fit. This person should be technical enough to be able to question the candidate and probe to determine their exact skill set and previous roles on teams, but does not necessarily need to out-rank them (it is good to have at least one interviewer at or above the candidate's expected level, and avoid having too many that are well below).

As the interviewers build rapport with the candidate, they can tease out the nuances of their style to get them to open up and be themselves. Some candidates are nervous talkers, while some just love to hear themselves talk, this isn't to say either one of these is better (that's a decision for you and your company), but it is important to be able to know the difference. Other challenges include finding someone that is proud of any number of large contributions to a project that can simultaneously demonstrate the value they added while being humble enough to share in the success with their team and not take more credit than they deserve, but keep in mind you have no idea how much credit they deserve. A reference check might be able to corroborate some of the story, but in my experience it is often the engineers who battled through the project together who can really say what the candidate did, not always the manager who lead the effort (but is likely listed as the reference).

The learning style comes into play during the pair coding exercise whether it is on a laptop or at a whiteboard. When explaining a problem, it is your job as the interviewer to make sure it is clear and unambiguous. This should be tested out on current employees at the relevant level, not necessarily to test their answer, but to make sure you asked a clear question. Few things make me cringe more during an interview than when another interviewer asks a "question" that is meandering and without substance, then takes a negative note that the candidate didn't answer it "correctly." It is your job as the interviewer to make the candidate understand the question as clearly as you do, one method for confirming this is to have them state the problem back to you if it seems like they're struggling. A failure to understand the problem is rarely a failure on behalf of the candidate, but rather a failure of the interviewer to prepare properly and communicate clearly. A candidate who knows what they are doing will take note of this and lose confidence in your company's ability to mentor or bring them up to speed.

There is one undebatable point that each interviewer should understand – it isn't the interviewers' job to demonstrate their own technical prowess or to make the candidate fail, it is their job to determine if they are a good fit for your company. Each person has strengths and weaknesses, the interviewer is tasked with determining exactly what those are for the given candidate and then balance those with the desired skills to fill a given position while considering how their weaknesses will impact the team and business. 

Focus on Company's Best Interest

The key is identifying new hires given where your company is headed, not where it has already been

The interviewers should either be in the position that is in need of an employee, thus defining the role to be filled, or they should be clear on what exactly the hiring manager does need. There are generalists, there are specialists, and there are candidates on a spectrum in between. A smaller company requires at least some generalists because usually people wear multiple hats. At larger companies, it is far more common to see specialists excel at a given field for 30 years and then retire. As a company grows, the ratio of generalists to specialists should shift toward specialists at a pace that meets the needs of that particular organization.

The key is identifying new hires given where your company is headed, not where it has already been, while making sure you are not focused too far into the future and hiring someone who won't be valuable to a company at your current and near-term stages. It is really easy to get caught up in the mentality that something that has worked historically will continue to bear fruit if you just stay the course, but that's a dangerous pattern to fall into. Take measures to avoid getting stuck in a loop where you keep looking for the exact same type of candidate with every job listing, though you should find common traits that will remain fairly constant (ex: self-motivated, strong curiosity, willing to put in the extra effort, etc.). 

Sell The Position

When a candidate speaks with employees from a company, the tone is often that the interview is one-sided. The candidate is usually given a chance to ask questions, but the answers are often disingenuous for many of the "real" questions, if those get asked at all. For example, "How many hours do you typically work and what about during a busy period?" is usually met with some generic "we respect a work life balance" response when the reality is that you might be able to work from home or not have to use sick time to go to the doctor, but you'll be expected to work all night and on weekends; the fact that it is "flexible" when you work 60-80 hours per week doesn't qualify as "work life balance" to most people. The kicker is that by lying, the company is setting the employee up with false expectations, which is a recipe for failure.

If you want someone committed and enthusiastic and willing to work 70 hour weeks, say that up front. Seek out that kind of person. Then explain why the job is so fun and addicting that they will want to work 70 hour weeks. There are plenty of people who crave that kind of career, by being up front about it you will only get people who actually want the kind of work you are offering. If that's the position you have open, the person conducting the interview needs to be the best salesperson you have to explain why the candidate should want it.

If someone asks a question where you are embarrassed to give an honest answer, then that is an indicator that this is something your company should be looking to address and you can be up front about that. If you were to reply with, "Well right now, most of us are working 60 hour weeks, but we've got a hiring plan in place to grow the team then a training and mentorship program to get new hires up to speed. This will help to handle the work and get that back down toward 40." It is honest, it shows them you have a growth in business, and it shows that the leadership is invested in their employees and the new hire. There is no perfect company, and this shouldn't be where employees are airing dirty laundry to candidates, but you'll find that a more honest conversation will get you better candidates and will likely uncover a few improvements that your company can make to better serve its employees.

Track Record and Feedback

After each candidate, the interviewers should each fill out a standard evaluation form. This form should rate the candidate across several categories. As an example: relevant industry skills, technical skills/programming, natural curiosity/self-driven, easy to communicate with, and a final "Hire" or "Do Not Hire" recommendation.

These evaluations will help to make the hiring decision for the candidate, but the record should be kept on file. Over the longer term, after each new hire has six or twelve month reviews, these metrics can be used to indicate whether you have someone on your interview team that is regularly recommending hiring inadequate candidates or rejecting those that end up getting hired who are some of the best. This isn't an indication that the interviewer is a bad employee, just that they don't have the ability to read candidates in that short of a time period and they should not be part of the interview team.

This honest conversation with the interview team is very important, allowing someone to remain on your interview team who is not a strong interviewing asset is the human equivalent of using an antiquated firewall to protect your digital assets. While it is unavoidable to never hire someone that is a bad fit, each one takes a toll on the company, so measures should be taken to minimize the odds as much as possible.

Book Recommendation

Predictable Success by Les McKeown

Predictable Success is an excellent book that helps walk the reader through a dialogue that identifies the stages of growth for a business, the types of people that excel at each stage, and how leadership can identify their current stage of business and work toward the "predictable success" stage. It is an excellent guide to understanding and to avoiding getting stuck in the "let's keep doing what we did in the good old days" mentality that can be so dangerous. It is also on Audible.

Before, During, and After the Interview

There are specific things that should be done to enable your interview team and interview candidates for success, these people are ultimately your company, so this enables the company for success.


The best interview I have ever had threw me a curveball before I even scheduled my in-person interview. It has stuck with me as one of the best techniques for programming jobs, and likely will have parallels in other professions. They sent me a coding exercise (one that was as similar as they could get to some of the basic tasking I'd end up working on, built on the same platform).

Now sitting on the other side of the table, I have seen people who are put off by this, even some who quit the interview process because of it, and that is okay. They aren't a good fit, and this shows it. On the other hand, how often do you get to actually do a test run for a job? I got to see what kinds of projects I'd work on, what platform I'd be working on, and how well I was able to communicate with the team who recommended (and genuinely meant it) that I ask questions. I got to work with this team before I had ever met them or stepped foot in the building. Not only could they see how I worked through a problem based on my questions and my submitted code, but I could see how they would work with me to bring me up to speed and field what a new hire always feels are "dumb questions," but really aren't.

I recommend finding a coding exercise, or create three or four of them for various levels of seniority, and keep these in a code repository, then create a branch for each candidate. The code should be reviewed and critiqued like any other code review. As a side note, a fun measure of a persons curiosity and desire to improve is if they get hired and go look at the comments left on their own code they submitted during the interview process and use the feedback there to improve their coding mistakes or style going forward.

Note: I am assuming you have done phone screens at this point. The same holds true that phone screeners should fill out evaluation forms and there should be some consideration to make sure you have the right people for the phone screens.


The face-to-face interview should align with your company style. Keep in mind that the interviewers need to get a read on the candidate and tailor their communication style or even level of formality to create a better rapport with the candidate. You might have a quiet genius on your hands; this can be valuable if there is a place in the company for someone who maybe isn't the best at communication but is incredibly efficient at architecting large pieces of software. Though I will note, that even the best engineers in the world are frequently less desirable to work with if they cannot communicate, but I digress.

Start with offering something to drink and offer the bathroom, you would be surprised how many candidates will either have nervous bladders or got stuck in traffic and their "show up early" buffer disappeared. These also provide moments of alone time for nervous candidates to collect themselves. Afterward, in order to allow the interviewers to get to know the candidate and vice versa, they can open up with a general introduction to the company and industry, talk about some of the main products, and probably even give a demo. This helps to avoid the all-too-common occurrence that someone is hired not really being too sure what the company is doing. After the company introduction, transition to questions about the candidate, their history, and their working style. These kinds of questions work well because they build confidence with the candidate since they know these answers better than anyone, it also helps give the conversation momentum as the people get familiar with each other. 

Since most companies won't have a single person with the candidate all day, it is good to appoint someone as the liaison and have this person do a lot of the up-front work, spend as much time in the interview room as their schedule allows, and to check in with the candidate between sections. 

Ideally, the interview would only last for half of a day. Start at 8:30AM and finish with taking them out to lunch. This provides another less formal setting to get to know the person and has the added benefit that they'll be more comfortable now. I have seen interviews both sealed and broken during this stage; make no mistake, it is still part of the interview. I have also seen interviews carry on for another 4 hours after lunch, this is really unnecessary in my experience and usually just comes across as an intimidation technique.


Before the candidate has left, make sure they have two things. First, give them contact information for someone (probably the liaison and/or HR) if they have any follow-up questions. Second, make sure they have an understanding of what your company's timeline and process looks like, then stick to it. If you need more time, be honest with them, tell them you need more time. As much as your company needs to fill a spot, this person is possibly uprooting their entire life for this, they don't deserve to be kept in the dark.

After the candidate has left, sit and discuss with anyone involved in the process, plus a few who weren't, if possible. Go around the room and discuss things you noticed or things you weren't able to get a read on. The people who didn't participate in the interview will be able to ask completely unbiased questions about the candidate and this will help uncover whether there was something that was missed. When things get missed, the interviewers need to learn from the process and improve it. This is why it helps to have a fairly constant interview team, they will get better with each iteration. 

Trial Period

If a candidate seems like a perfect fit for some reason, but imperfect for another, consider a trial period (usually three to nine months, depending on the role). Set them up as a contract or paid internship position. This can be advantageous to everyone, the company might end up extending an offer that is rejected because they learned this isn't the right company for them.

While this can be a useful technique, there are some crucial things to keep in mind. First, it can come across as insulting because they didn't get the job outright, be honest with the candidate as to why you are offering what you are. Anyone who is not willing to take constructive criticism and work on their shortcomings probably isn't someone you want around anyway. Lastly, make sure they have a rubric that will ultimately guide the decision to hire them. This rubric should be presented on day one, and should be updated monthly. This will leave no ambiguity as to whether they are on track to get the job or not.

Closing Thoughts

The right hiring process can breathe fresh life into a struggling company, it can get a team back on track, and it can be one of the most fruitful investments that a company will make. Once you reframe the interviews toward finding a puzzle piece that fits and away from trying to make the candidate fail, you'll find a much more representative version of the candidate will come out, and this will give you a much better sense of who you will potentially be working with. Do not let the word "process" scare you, an investment in your hiring process is an investment in your company.


How to Lead An Engineering Team

It doesn't matter if you are a tech lead for a small group of developers or a manager of a large team of engineers, there are a number of practices that will drastically improve the results you end up with. Naturally, this can't capture every aspect of good management, there are hundreds of books that do that in a more exhaustive way than I ever could, but I have personally seen each of these be the difference-maker with regard to how a team is able to execute.

Intelligent Communication

It seems so obvious, but it is still far too common to see over-worked leads declare that they're too busy to help ramp up a new engineer, or a manager fighting a fire that's too busy to give an adequate summary of the program, the goals, the deadlines, and the expectations. The heading is "Intelligent Communication" because this shouldn't be a static, one-way, experience. Important things need to be communicated, such as the aforementioned timeline, expectations, roles and responsibilities of team members, etc., but that ignores the benefits to be gained from a more dynamic exchange between the employee and leader.

Some engineers can get sufficient answers from a quick email and have plenty of relevant past experience to just hit the ground running, but that hasn't frequently been my experience. It is the responsibility of the manager or lead to understand how to most effectively communicate with this new asset (also, don't forget, a human), because if the communication is done well, and if the person is a good hire (more on this below), then an investment in this early communication will yield compounding returns on the investment. For example, just because you assert, albeit correctly, that communication bandwidth decreases as you go from face-to-face, to video, to the phone, to Slack, to email, doesn't mean that the highest bandwidth solution is always the mainstay of optimum communication – some people don't learn well or retain information provided to them verbally. 

Now, with that said, an in-person meeting has the advantage of making it easier to identify whether the current communication style is working and enables you to switch on the fly from a casual chat, to a whiteboard discussion, to a prepared presentation, or even to hands-on working an example problem together. This is harder to achieve remotely, especially without video, because it is harder to read the body language of the new employee.

Being able to identify these communication styles and then being able to adapt to them is why I launched the Speaking section on my website, this is something I feel very strongly about, and I have seen successes and failures underscore the importance. 

Adapting to Learning Styles

Perspective is one of the great biases that everyone struggles to overcome, but some are more successful than others. It holds true in everything from politics, to relationships, and it most certainly applies to leadership. There are two main ways in which perspective can prevent a leader from being a great leader – letting prior knowledge distort the their view of where the new employee will start from, and the inability to abandon the leader's learning style and adapt the communication to the new employee's style.

Prior Knowledge

A person that has been working on a project for 1, 3,  or 5 years (and the problem only gets worse with time) doesn't have a great understanding of what it is like to start fresh. It isn't only that they have already setup their computer with the right tools, made sure the code compiles on their machine, knows they have access to the internal Wiki/Confluence page (if it exists, and it should exist); the problem is deeper than that.

The product has been developed and matured in a way that corresponds with how the experienced person thinks and works because they were the one building the product. There are standards for structuring code or building bridges, but there is always a personal touch, so even something as simple as where to find the heart of a piece of software logic seems so obvious to someone who has been doing it all day every day for years. Can you remember what it is like to not know how to tie your shoes?

This is one reason it is so critical to document your trials at each stage, but especially ramping up on a project, on a Wiki/Confluence page so that as each person goes through the start-up process, it gets gradually easier because the documentation improves. The person before them has documented everything they struggled with, same with the person before them, and with each iteration the sharp corners get sanded down and ramp time is decreased. This does two key things: it builds institutional knowledge within the team and it gives the leader the appropriate "rookie" perspective when they look back through what was documented. They will see all sorts of information that seems so obvious ("well of course that's where the code is saved, duh!") and it will help them realize the perspective of the new engineer.

Learning Styles

There are seven learning styles, and each of us has strengths and weaknesses when it comes to what works for us. One of the biggest mistakes I see, after the perspective issue we just discussed, is the failure to recognize learning styles and adapt to them. A leader's job is to enable and guide their team toward success (and to clearly define success, among other things). It is ignorant to think that simply dumping a pile of information in front of a new employee is sufficient to get them started.

How would you feel if a tax expert just dumped the IRS rule book on your desk and just walked away? If you're a person who learns well from books, what about having no literature at all, but instead having a quick 10 minute phone call to get spun up on a new project and the notes you're franticly taking on the phone aren't sufficient? There is no way to replay or revisit that phone call to see what you missed (unless you record it, which, if is clear to the other party, can be a valuable strategy). This is why having training materials and procedures for each learning style is so valuable, and this isn't nearly as daunting as it sounds. No one expects seven copies of training material, one focused at each learning style. Instead cover the basics, then adapt the delivery and mentoring process to cover the rest of the gap.

Most managers fall victim to the bias we all start with – our learning style works great for us, therefore it is a great method for teaching. I have seen instances where two equally capable engineers with different learning styles were placed on a team together where one succeeded and another struggled; eventually a good engineer will find the path to success, but if that takes an extra six months, that isn't just six months of productivity lost, it is six months where your compounding returns are applied to a much smaller principle investment. And we have all seen how crucial early investment is when it comes to compounding returns.

Identify their learning style up front, then adapt. If they don't know their learning style, help them figure it out, it will benefit you both. When you encounter a learning style that is entirely foreign to you, you can either use it as an exercise to grow or you can find another engineer on your team who might be better suited to mentor this person. This is where having a diverse team is so powerful, you cover your bases on past experience, perspective, learning styles, and everyone sees the benefits.

Hiring Intelligently, Then Trusting Them

Hiring intelligently seems obvious, yet the reality is it doesn't happen as often as we'd like and it always feels like you're rushed to fill a position. All too frequently, hiring decisions are rushed because suddenly there is a need, or because your job opening might get pulled out from under you if you don't move fast enough. There is a huge difference between hiring the right person for the job and hiring the best person you were able to find that month. There are realities that come into play, often there is absolutely nothing you can do about the fact you need an employee immediately and the talent pool you're drawing from isn't as full as you'd like. If you're in this position, it is already too late for this hire.

I plan a more thorough dive into hiring in another post, because it is a fascinating topic with extraordinary challenges, but this quote captures it beautifully.

Steve Jobs has a saying that A players hire A players; B players hire C players; and C players hire D players. It doesn’t take long to get to Z players. This trickle-down effect causes bozo explosions in companies.
— Guy Kawasaki (summarizing Steve Jobs)

It is so important to hire A players, because those are the people who will do the next round of interviews and hiring. I have seen this play out more than once, and there is truth to it. Now, it bears mentioning that not all A players are good at hiring, the interview process is a deeply challenging problem to solve, but let's assume you've got a good process and you're finding good people. Keep in mind that "A players" aren't defined in the same way everywhere, so make sure to define what an "A player" is for your team. (See update.)


Now that we have the yelling out of the way, I'll say it again, trust your team to do what they were hired to do. Despite the best efforts of many intelligent people, often engineering managers became managers because they were the best engineers who had been around the longest when there became a need for a manager. This is a bad practice for a lot of reasons, one of which is that these "best engineers" usually think they know exactly how to solve a problem and their way is the best, so when someone on their team tries a different approach, they pull executive override, or they micro-manage. This is not a recipe for success.

Employees need guidance and leadership, so this doesn't mean you should just let them roam free, but you either trust the engineer to do their job or you don't, and if you don't, you should not have hired them. If that trust never comes, they need to be let go. It is far more toxic to keep around an employee that managers and colleagues cannot trust to have their back than it is to let them go.

When there is an employee that other team members cannot trust, you have a choice, and the result will send one of two messages.

  1. I trust my team at large and I have your back, I will make the hard choices to enable my team for success, or...
  2. I don't have your back, I don't value my team over how hard it is to let someone go.

You should be able to trust everyone on your team up to their current level of responsibility and be looking to grow that trust up to their next level of responsibility. If this is ever untrue, or the trend line is pointing in the wrong direction, it is time for a hard decision, that is an unavoidable truth of good leadership.

Closing Thoughts

This post ended up being longer than I expected, I just wanted to touch on each of these topics briefly because of how crucial they are to being an effective leader. Most of these principles hold true for all types of managers, not just engineering leadership, but I figured I'd try to keep this within the realm of my own experience or that which I have personally observed.

Please feel free to get in touch if you think this struck a chord, we can get a cup of coffee to discuss a strategy to bring this up to a wider audience at a board meeting or with engineering directors, depending on the size and structure of your company. I guarantee satisfaction, so if you're interested, check out more about my speaking engagement offerings.


I have published a piece on hiring and interviewing where I clarify what was alluded to here, but for the sake of clarity, I will highlight that there is no causal relationship between being a good engineer and a good interviewer, nor vice versa.

OpTech is Now Using HTTPS!

It is long overdue, but given the nature of the website (not asking for any of your personal information) I hadn't found the time to set it up. That said, OpTech now defaults to HTTPS ensuring you have a secure connection.

Please contact me, via Twitter or the Contact page, if you're seeing any issues or getting any HTTPS warnings from Chrome or another browser. Warnings like the one shown below are NOT expected.

SSL Certificate Warning

Why Can't Americans Vote Online?

Many ask the valid question of why we cannot vote like we live in 2016 – online. We bank, shop, work, talk, and do just about everything else online, so why not voting? Some smaller countries do it – Chile and Estonia, for example, but in general there is a substantial risk to hacking.

The unfortunate truth is that our online banking and email are only as secure as they are, which depending whether you have two factor authentication and complex passwords might not be too secure, because most of us aren't important enough to be the focus of targeted hacking. It is often called 'security through obscurity' – we blend into the crowd.

A United States election online would not be secure by blending in, there are too many parties (both internal and external) with vested interest in the outcome of the election. The election would be a major target to hackers from every corner of the planet, and it would bring out the best of the best as private bounties are offered for anyone who can generate a return on that investment. Consider how incentivized a single hacker would be for $10M (I made that number up) and how trivial that sum would be to the person/group offering if they could place investments such that they'd benefit orders of magnitude more than that with a controlled outcome.

The biggest hurdle is in verifying the identity of who is trying to vote. You can either make it really challenging and risk violating privacy as well as prevent a large number of (generally lower income) people from voting, or you can make it less challenging and almost guarantee it is compromised. 

So let's dive into what those might look like. If you made it more secure, you could verify fingerprints which would require the entire nation to be fingerprinted (expensive, time consuming, and a major imposition on privacy). You can do ID scanning which would require having an ID (many don't), a good enough camera to scan it clearly (which many don't have), and this still doesn't address the issue that, as many 19 year olds will attest, IDs are relatively easy to fake. The website would have to be encrypted, of course, but on places like college campuses a bad actor on the network could spoof the SSL certificate and intercept, decrypt, and change, all voting traffic that takes place on that network.

If you made it less secure, then there is nothing to stop people from voting en masse for the millions of American's whose personal information is readily available for sale on the darker corners of the internet. It is unsettling, but nearly everyone has some amount of their personal information for sale somewhere, and if you use common passwords or predictable security questions, it would be trivial to submit a vote on your behalf before you even figure out who you're voting for.

I'm sure this is just the tip of the iceberg. Suffice it to say that even with strict identification practices, it would be a challenge. All of this ignores the nontrivial portion of this country without a reliable internet connection, computer access, or technical wherewithal to actually vote online even if it is an option.

It will be interesting to see what they come up with, but unfortunately the most secure scenarios I can think of will really upset the libertarian-minded citizens, as they'd basically require submitting biometric data to the government (never mind how expensive that effort would be).

Vote To Support Science, Technology, Truth, and Facts - #ImWithHer

There are a lot of things to consider in an election, and this isn't a political blog, so I'll spare you an extended piece on this... unique.... 2016 United States Presidential Election. That said, technology relies on science and facts bound in reality to exist, so therefore I have to defend the spread of science and facts.

Only one major party candidate believes that climate change is a real thing. Science and technology tell us with certainty that climate change is real.

Only one major party candidate believes that telling the truth (as much as any politician does) is important. 

Only one major party candidate believes in treating people of all walks of life fairly and humanely.

Only one major party candidate proposed or supports major constitutional violations, more than any presidential candidate in recent history.

Only one major party candidate is facing charges for committing sexual assault (with multiple witnesses) and is accused, again with substantiated claims, to have raped a 12 and a 13 year old. [Update: While the claim was "voluntarily" dropped on November 4, 2016, the history of the case explains why. Repeated death threats, being terrified of exposure, up against a billionaire (and soon POTUS) is an insurmountable set of circumstances.]

Hillary Clinton is not perfect. She has committed sins, the worst of which (in my humble opinion) were done while defending a man she loves and with questionable drone policies, but to convince yourself of a false equivalence between these two candidates is to abandon truth and facts.

To be clear, there is a defensible position for voting GOP because of taxes and financials, but doing so at the Presidential level this election would lead to a death of morality and science for this country that would almost surely* bring about a downward spiral worse than any 4 years worth of left-leaning policies. So instead of voting in a tyrant, focus on finding and promoting a more intelligent and truthful candidate that represents your values in 2020.

I'm not one for strong political stands, I see deep flaws with both parties, but this isn't a political stand. This is a human stand. As if Trump's policies, which (if they exist at all) are ill-informed, non-scientific, and closed-minded, weren't enough, he is a genuinely terrible person that has really helped to bring out the worst in a lot of people. That is not the type of person who should be running this country.

#ImWithHer and I hope you are too.

*I understand the irony of using such a subjective claim in a post promoting voting for science and truth. It is a challenge to completely ignore the immeasurable human element of this election, though. I admittedly have no sources to substantiate this particular sentence.

An Engineer's Hippocratic Oath

For all of modern history, engineers of many disciplines have needed a certification to practice their trade. This makes sense — you want bridges to withstand wind, you want a city's sewage system to work correctly, and you don't want airplanes falling out of the sky. In most cases, this is the Professional Engineer (PE) License. It requires industry experience and a rigorous test; the result is that your bridges, cars, and cities are safe.

Computer engineers and developers do not have a similar certification, or at least not one that is required to ship hardware or software that can drastically impact millions of people. This has pros and cons. The pros include no bottleneck in the system, a much lower barrier to entry resulting in a wider range of more exciting ideas, fewer opportunities for corruption or prejudice to preclude someone from participating, and more. 

There are cons, too, however. These include a hijacked botnet of Internet of Things (IoT) devices being used to effectively take down the internet.

People will follow incentives, this is unavoidable when looked at on a macro level. When people have the choice of spending nontrivial sums of money or getting what they perceive is the same value from a cheap (or free) alternative, the masses will opt for the cheaper version. To make matters worse, some of the decisions are largely out of consumers' hands. In the case of a set top box from your cable company (hacked DVRs were behind a sizable portion of the DDoS attack), you might not even have any real alternative choices (yes, there is TiVo, but most people use the cable company's setup process/services). Companies follow incentives just like individuals, so if they can save a few bucks per DVR unit their margins on your rental go up substantially.

As with cheaper options of nearly anything, the similarities to the more expensive choices are all skin deep (if that). The security is a joke, in many cases these hacked DVR units had hard coded usernames and passwords, or ports are left open, or there's a public pinging back to China to check for software updates without verifying the response is valid, or any number of other glaring instances of engineering negligence. Not only are products of half-assed engineering proliferating, no one knows what to do about it and most consumers don't even know, let alone care.

This attack didn't cost lives. Not yet. But as more of our lives moves toward having internet enabled components like cars, pacemakers, thermostats (imagine a thermostat being disabled overnight and a baby or very old person freezes to death in a bad storm), this lackluster security can and will cost lives.

It remains true that you get what you pay for. If you know how to telnet into your cheap IP camera and close the ports that were left open by the manufacturer, then by all means, save $20 on the device. Otherwise, anyone else should really consider spending a bit more money and putting your trust in a company with a solid reputation whenever possible. The responsibility lies with consumers, and while liberating for those that know what they're doing, this is damning for those that don't.

There isn't an easy solution on the engineering or product side, unfortunately. The best one I can come up with are optional certification tiers for connected devices, but history has shown that consumers will still choose the free uncertified version often enough that there will always be enough hackable devices to perform a similar attack. At least with certification tiers, we can try to proliferate knowledge of the risks of buying a lower tier of device, though this is far from a cure-all solution. A engineer's oath, synonymous to the hippocratic oath, is wonderful in theory, but in practice, mandating such a thing is at odds with the very free and open nature of the internet that makes it so incredible. 

Update: Paul Sadauskas points out that a set of requirements akin to the UL Certification requirements could be imposed on the software and firmware loaded on hardware products imported into the country in question (I am writing this from the perspective of an American in the continental United States.) This isn't foolproof, since hardware or firmware can be changed after the fact, but it would make a sizable dent by making the default "this will never get updated or configured" devices less susceptible to more commonplace vulnerabilities.

Not Your Father's Bubble

For several years now, a sizable portion of the technology investor and news dialogue can boil down to "There's definitely a bubble!" and "There's definitely not a bubble!"

Far be it for me to weigh in here, I'm no investor, and feel far more comfortable giving my money to Betterment (not an ad, I just really love what they do) than investing (all of it) myself. With that being said, I do think I've got enough of a hold on the technology side to participate on the periphery of the conversation.

I am NOT declaring that there isn't a bubble, let me get that out of the way right now. Startups have been getting scooped up for 100s of millions or billions of dollars for several years now, and sometimes it feels more like people with money to burn desperately trying to get their ticket on the next gravy train. Is it sustainable? Who knows. Is it reasonable or justified? I think that's a mixed bag. Since I'm not sitting on a mountain of billions, I don't think my two cents means much here though.

It seems like a continual case of, and I almost hate myself for saying it, FOMO. With how fast technology can scale right now, a hot new startup can become a behemoth of industry a hell of a lot faster than ever before. A few thousand percent return is a good incentive to write a check; I'm sure it only takes missing out on one or two Facebooks or Ubers to realize that. 

Anybody with a a few weeks to throw together an app can go from a nobody to printing tens of thousands of dollars per day, consider Flappy Bird. So while he didn't go on to get millions of VC funding to stock a $10,000/month office with $4/bottle coconut water, he probably could have. It demonstrates how these ideas are, whether by design or as a result of current VC strategy, lottery tickets for the ultra-wealthy. (Side note: this is not a statement on income inequality - no one should feel entitled to anything and should expect to work hard for everything, anything extra is a bonus, but I realize I'm fortunate to be able to hold this privileged position.)

The last dotcom burst had some startups with good ideas – grocery delivery was introduced and everyone was sure that would be the next frontier; it failed spectacularly with so many losing sums of money the rest of the world only dreams to know. Digital entertainment, music and video, were attempted and we didn't have high resolution cameras with us every second of the day with high speed internet to connect people. Others attempted digital currencies, and again fell short of realizing their dreams. TNW put together a fun list to look through of 17 failed dotcom companies and their modern counterparts.

So why, when valuations appear to be based so heavily on someone adding some zeros to their just just so they don't miss out, would there be any argument that there is not a bubble?  

To oversimplify, it is the first time in human existence that we've had this kind of reach and instantaneous market. We have over a billion potential customers throughout the world on any given platform, double that (or more) when you go cross-platform. Furthermore, the access we have isn't to a shared home computer, it is to the most personal device that this world has ever known, with the extra upside that we carry it with us at all times. The experience of ordering groceries by logging into a website, finding a store, placing an order, typing in your credit card information, and waiting, is vastly different than having your phone on you, know your location, have an app custom designed for doing exactly this, algorithmically determined options based on purchasing patterns, a near-instant Apple Pay transaction, and city infrastructure that is designed to fulfill the order. 

To be fair, the website would also be designed for this task, credit card and location information can be saved, and the hundreds of millions of dollars were being invested to overcome the last mile problems, but that difference matters. The smartphone enables speed and convenience to go from an idea to an order which ultimately provides the escape velocity for these ideas this time around. Think of Uber without the phone, think of social without a good camera and location capability, it just doesn't add up to the user experience momentum that we're currently experiencing. 

Lastly, we now have the computing power and data collection capabilities to really take this to the next level. Location awareness and a rich browsing and purchase history give retailers a much more accurate view of what we want. Retailers can now view these patterns and anticipate things then tailor our experience to drive higher sales. A lot of this existed, or technically could have existed a decade ago, but it either didn't exist or didn't exist at the "hit the ground running" scale that was required. That difference matters. All of these differences matter. They add up to, as only hindsight will be able to confirm, what appears to be the perfect storm for this to be real, and not a bubble.

I don't know if this time will crash and burn like last time, but it is plain to see that this time is different. The phone changed everything, and so it stands to reason it will be sufficient to prevent the fallout we saw in the first bubble. 

Managing Endpoints in a Connected Life

I first noticed a few years ago that as more items are getting connected, the management of that connection becomes a burden. You've got companies putting SIM cards in watches now which seems unnecessary today, but soon we'll look back at it and wonder how we ever lived without it. There are SIM cards in phones of course, but also tablets, cars, home security systems, and more.

Do you manage each of these individually with their own account? Maybe, but probably not. It's a bit scary to think that if the devices are all on one account, a hacker could obtain power over all of the accounts that connect and secure your entire life; but realistically this is only one entry on a long list of horrible things that could happen if you don't take security seriously.

Unfortunately, the billing methods haven't really caught up to our demands on the carriers. For example, I want a SIM card in my iPad for travel, but I don't travel often so I don't enable it most of the time. If I put the iPad on my Verizon account with my phone, I share my phone's data and I have to pay $10/month for something I rarely use. As a result, I have a separate account for my iPad. Then you've got family sharing issues where there's a single primary account holder, how would one of their children add a device to that plan without being a burden on the parent? They can get authorized on the account, but even then the power is limited.

The solution isn't crystal clear yet. Though eventually carriers will have to take a big step forward with much more clear online accounts with easy permission controls so that each user can add/remove devices at-will. The billing needs to support flexibility and non-permanent device additions – even though the carriers have a large vested interest in you adding your iPad to the account then never using the data plan on it.

Another option is for each endpoint to be it's own account with the carrier and carrier billing being invisible to the user. For example, imagine a next generation Nest thermostat with a SIM built in (to guarantee remote control capability in either a vacation home with no wifi or when wifi is down at home). Perhaps I can just pay Nest $25/year for that capability (it is a negligible volume of data, after all). They handle the carriers on their end and the user doesn't have to worry about it.

This is only going to get worse in the short term, and I don't think the carriers are properly motivated to really solve it. People are complacent by their nature, so if you can lure them in, the odds of them ever proactively seeking change is shockingly low.

Next of Kin in the Digital World

There are few things more challenging for a family than losing a loved one. Historically, that person's digital existence was of lower importance relative to everything else going on during the painful transition. However, as more vital processes move online, the problem of a next of kin in the digital world will need a cleaner solution.

Right now, your best bet is to use a password manager and make sure your partner or chosen family member/friend has the master password. This isn't the worst choice, but most people don't even do this much. Furthermore, it does nothing to address the wishes of the deceased. Do they want accounts deleted? Ignored? Made into memorials?

A more thorough thought experiment would be required to design a complete solution, but this is touchy territory. Aside from the dark nature of the topic, there is risk in any single company's solution here. If someone provides a "take care of your digital existence" solution, what happens when they don't get that last payment? What happens if they go out of business? That risk holds true any time, but when the originator of the request for services is no longer available, it passes the burden to someone who might not be equipped to handle it or fully understand the nature of the situation.

An open standard might be the solution here. On top of the standard private companies and services can and should be built, but this would allow you to not get totally locked into a single service for example. Companies could try their various sales models, "free", cheap but minimal, expensive and full featured, subscription, etc.

It's an interesting discussion to have and I suspect will eventually be a thriving industry. Only time will tell how this problem is solved and what services flourish to meet the needs.

Look to the Wealthy People, But Not For the Reasons You Think

Wealth is frequently mistaken for success because they often go hand-in-hand. So when I say "look to the wealthy people" I am not giving life advice on attaining success. I simply mean to look at the wealthy people in the world today and consider the fundamental advantages they have. If you're able to distill these advantages and learn how to streamline them and decrease cost with technology, you might want to start picking stitching for the leather on your yacht. Still not following? 

Since hindsight is 20/20 let's take a look backward in time and extrapolate. 

Not long ago only wealthy people had phones in their cars, they were available around the clock and could get business done while on the move. Now you and a few billion of your closest friends have a super computer while you're in the bathroom. Similarly, only a few years ago, having a luxury sedan at your beck and call 24/7 was only for those who wouldn't waste time to pick up a $100 bill if they dropped it. Now we've got Uber and Lyft in most metropolitan areas on the planet.

You can pick any two points in history and be able to find this pattern emerge. Cars, trains, huge televisions, medical care, air conditioning... the list goes on. Yesterday's unattainable comforts are tomorrow's standard for living.

Smart homes are exciting, but I think there's a bigger one looming in our not-too-distant future. What does every wealthy person have instantly available to them around the clock to take care of anything they need, yet the average person couldn't hope to afford? An assistant. The biggest gain to be realized in a successful instance of this pattern emerging is when technology can scale for next to nothing and replace an otherwise costly human resource. 

Interestingly, the biggest problem with this breakthrough might not actually be the technology. I suspect it will be the public perception and acceptance of this technology. An assistant knows every detail of their boss's life. They know their most personal information, they know intimate things, they know where they are the vast majority of the time. Most crucially, a good assistant can piece all of this together and make logical inferences to anticipate the needs of their boss. Therein lies the power of the dedicated assistant.

When this assistant is a person, there is an opportunity to develop a trusting relationship. There is accountability. If something is leaked, you've got a human being to point the finger at and that human being will take responsibility. This doesn't transfer well to the digital realm. When a leak takes place some executive might get fired, but that doesn't repair the personal damage done. You can't easily develop a trusting relationship; instead to fully realize a digital assistant you will need to to relinquish your most intimate information while accepting the associated risk.

Taking this leap will not be easy, and there will be many people who refuse to do it. There are still people who disable location services on their iPhones so they can't realize the immense power in maps or any number of the thousands of location based services.

There will be several options when it comes to how this sensitive information is handed over. This discussion is too nuanced to cover here, but the over-simplified version is that you will have the Apple version where you pay for the service directly or through "costly" hardware, then you'll have the Google version where the services are "free" and the ways in which your data will be used for Google's profit will be detailed in legalese on page 182 of the Terms of Service that we each read so thoroughly. Neither one is right, neither one is wrong, but a choice will have to be made if you decide to opt in at all.

I know three things for certain: 

  1. I will be opting in.
  2. I will be willing to pay a modest price for a service I consider worthwhile.
  3. If the depiction of wealthy people in movies is a preview of where we're headed, then I am particularly excited having seen the Iron Man movies.

A Few Thoughts On Jony Ive's Promotion to CDO

I want to preface this that I hold Jony Ive in the highest regard and his work is what gave me an appreciation for beautiful things. These are just a few "what if's" and thoughts that went through my mind on the news of Jony Ive being promoted from Senior Vice President of Design to the extraordinarily rare (for Apple) C-level Chief Design Officer.

Work and Family

I don't know Jony or his family, but if there is any family pressure to return to the U.K. then he is in a really tough position. The number of people that count on him, the number of people that directly benefit from his work, and the overall impact he has is profound. How do you balance that with a family who (hypothetically) want's to move? Of course, this "move to the U.K." is all rumor at this point. If the world is lucky, it is nothing more. 

I believe it is right to pick your family over your work, but as a beneficiary of his work, I can say I will be deeply saddened when he leaves Apple.

On Replacing Jony

You can't replace Jony Ive. Just like you couldn't replace Steve Jobs. When Steve passed there were two strong rails for the Apple train to run on: the culture at the core of everything Apple does, and Jony Ive. That is how it looks from the outside, of course I don't actually know. So what happens when Jony leaves? Without Jony or Steve I think the culture will remain on autopilot for a while. It's tough to say if that will be a year or twenty years, but I think somewhere in the 3-5 year area with no un-Jony product changes is a very safe bet.

Over time culture adapts. The culture of Apple is even to adapt at its own short term expense (think iPhone cannibalizing the iPod). Inevitably the nuanced impact that both Steve and Jony have in the seemingly irrelevant details will fade. I suspect this will lead to changes in directions akin to going from skeuomorphic to flat design, and that is a good thing, this evolution is necessary.

Let's hope the rumors are wrong so that we can be selfish and bask in the benefits of a Jony Ive designed life for at least a little bit longer.


Again, this promotion could very likely have nothing to do with him leaving any time soon, but when the notion was brought up I couldn't help but consider it. I am eternally grateful for the work Jony has done and wish him nothing but happiness, whatever that means for him. 

Android vs. iOS: Revenue Per User Won't Catch Up and That's Okay

The metric of choice for comparing iOS to Android is average revenue per user, or ARPU (spoken phonetically exactly as you'd guess). This is fine, it is certainly technically accurate, but it isn't exactly relevant for most of the discussions where it is used as ammo. It's like comparing the average revenue per user of all car buyers vs. only Ferrari* buyers – it tells you what you already know.

Notice how I didn't say Hyundai vs. Ferrari, that would be a hyperbolic falsity, I specifically said all cars because that's much more aligned with the reality of Android. You need to understand the Android spectrum to fully appreciate the volume, human impact, and glory of what they've pulled off.

This graphic shows the ARPU comparison between the platforms, it is interesting data, but remember to keep perspective on the topic (source article).

Android vs. iOS ARPU vs Deepak Abbot on Medium

Now some considerations and perspective:

  • Note the ARPU difference and relationship in app sales vs. ad revenue. 
  • Android has been installed on a lot more phones than iOS. I am basing this on data that is getting old, but I don't think enough has changed to change the blunt fact that Android dominates on pure install base – Android had (Q4 2013) 78% market share to iOS's 18% worldwide. The data above shows a 74/26 split purely between these two platforms. Before you get angry at the mention of install base metrics...
  • Install base doesn't mean much of anything for any discussion aside from install base discussions.
  • There are many millions of Android device owners that don't own a computer or have another source of Internet in the home, the phone is their first and only computer and their connection to the web.
  • There are Android users who don't have running water, plumbing, or electricity at home. Communities have communal charging stations on the side of the road. Benedict Evans does a great job of tracking and tweeting (or retweeting) data and anecdotes about this. Can you imagine walking a day or more just to charge your phone?
  • Android devices are connecting people from the third world to services and communities that allow them to catapult their communications capabilities forward by decades.

There isn't one smartphone market. You can make it look like a single market on paper, but the reality is there are several markets. I would love to see data on premium device ARPU broken out by region, this would be a more valid comparison to make. There are hundreds of millions of Android devices that are in the same premium segment as iPhones, and there are old hand-me-down iPhones that are in a similar segment to lower end Android (though I don't believe even the bottom of the iPhone spectrum reaches the price points/capability of the low end Android phones). These devices have changed the world overnight unlike anything most of us have ever seen.

Next time you pull out your device of choice and think that you can't live without it, remember that there are millions of people for whom their smartphone is fundamentally changing the entire trajectory of their family's livelihood. Apple and Google have enabled extraordinary things with their platforms and there is no question about our love for and dependence upon our phones. However to compare the two platforms outright as one market is a fool's errand without maintaining perspective on the extraordinary differences between what the platforms (or even subsets of each platform) enable.

*I picked Ferrari because I originally picked Audi and then started questioning whether the revenue from super cars would actually be enough to offset the lower end cars and render my analogy dead in the water. Rather than picking Audi and doing the math, I went with a car I knew would represent a huge ARPU that the car industry as a whole couldn't touch.