Saturday, December 29, 2012

What's So Great About Self-Driving Cars?

Self-driving cars.  Oh, man, the holy grail of the modern-day commuter.

As someone who survived a year of long-distance romance with my now beloved wife, and as someone who used to spend up to two hours a day in the car commuting, and who now spends at least an hour a day in the car commuting, I have to say that I've dreamed about nothing more (except the aforementioned lovely) than I have about the self-driving, or autonomous, car.

During may of these hours, I spent time fantasizing about something I felt was inevitable.  That someday, the car would drive me wherever I wanted to go.

I still do this, by the way.  Fantasize about the future of the driving car, I mean.

And over the past few years, I have been following the news of Google's self-driving cars with fascination.  I am so excited that they are making great progress.  I have even taken the trouble to write to my state representatives to urge them to make Illinois a trial ground for the cars.

Here's how I think the self-driving car can help us:

No more distracted driving
Life is busy.  We have fewer hours in the day to accomplish more.  We have alerts coming at us at all times.  To keep up with all of it, lots of people, right or wrong, have taken to driving distracted.  Especially when they face the dreaded Chicago commute, with so much time spent in the car, people feel the need to cram in a meal, read or respond to email, talk on the phone either for home or business, or even get a shave or put on makeup. All that leads to needless fatalities and injuries due to people not paying attention.

The self-driving car changes a lot of that.  If the car is able to take you fully to your destination, then you can read the paper, get in your meeting, eat your breakfast, do some work on a laptop.  Basically, anything you could do on the train.  The self-driving car basically becomes your personal train, going exactly where you need it.

Fewer Accidents
Remember, a self-driving car doesn't have blind spots.  It never forgets to check them.  Their reaction time is much faster than human reaction time.  I don't envision cars, no matter how they are piloted, ever being able to completely eliminate accidents; the situations that can occur on the road are far too varied.  But with tireless sensors and alert algorithms, it's a lot better than what a human being can bring to the table.

No more wasted time
While not as good as telecommuting, the self-driving car means that you can do other things during the commute.  You will be able to organize your day around having some tasks that you are able to do while commuting.   If you are needed for 8 hours of work a day, there may be no reason you can't do some of that work while commuting.  Editing documents, working on spreadsheets, sending email, communicating to clients, writing code, all those things become possible to do while on the commute.

Can you imagine how your life changes when instead of leaving your house at 7 a.m. to be at work by 8 a.m. and leaving work at 5  p.m. to get home by 6 p.m., you get to start working when you get in your car at 8 a.m. and stop working when it pulls into your driveway at 5 p.m.?  Two extra hours at home with your family is a prize we should all be working diligently toward.

No more vehicle ownership
Ok, one of the best benefits of self-driving cars is my favorite.  Tell me why, if cars can drive themselves, would I ever want to have one parked at my house?  Why would I want to have the extra square footage in a big drafty space attached to my home that is just there to house two or more vehicles while they sit idle?  Totally wasteful.  I can pay less for a house if I don't need all that extra space.  Houses that currently have garages can be retrofit to have a new great room for entertainment or can trade that extra space in for storage so they can refurb their basement.

Imagine having a standing order for a vehicle of a certain size/luxury with a service organization whose car comes and picks you up at a certain time every morning.  You jump in and it takes you to work and drops you off at the door.  You want a luxury car?  You pay a little more.  You fine with a little car that gets great mileage and has a low total cost of ownership?  You get a discount.  You pay the automobile bill at the end of every month, and only pay for what you use.

You won't have to worry about owning a vehicle - all that mess of when do you buy, when do you sell, depreciation, repairs, etc.  All those costs are spread out over the car company's vehicle fleet and included in the per-use price.

While you're at work, the car can be part of a fleet making more trips picking people up and dropping them off.  If a single car can fulfill the needs of three or four people through a single day, then there only need to be about a fourth of the cars in existence (note that because people still need to go where they go when they go now, that doesn't necessarily reduce the number of cars on the road at any given time, just the total number of cars needed overall).

No more parking lots
If a car drops you at the door of your work, your office doesn't need a parking garage to hold cars.  Or maybe it doesn't need such a large lot.  Certainly the cars have to be somewhere, but if they are out providing services to other passengers, fewer cars will sit parked all day.  This means that there's lots of useful land that can be converted into something more useful, or just into lush green campus for the businesses that used to need so many parking spaces.

No more drunk driving
I don't know about everyone, but I suspect the only reason people who drive drunk is that they don't want to wake up and have to go fetch their car.  If you don't own a car, the question is moot.  The car comes around and picks you up just as it would do if you were sober.  It's a similar situation to not wasting time, but I separate it out here because it's a very specific problem that this solution absolutely does away with and in a way that doesn't shame the person in any way.

Fewer moving violations and traffic stops
And with self-driving cars, what's the likelihood that there will be traffic infractions?  If the car is following its programming, it knows how fast to go, what the traffic laws are, and won't do things it's not supposed to do.  There won't be any speeding tickets. Check out this article on what it truly means to be self-driving, and how one gives a ticket to a self-driving car.

Better commute times
What the heck causes the commute times to suck so bad?  I am not a civil engineer, but I have my guesses.  Merging always sucks.  Any time three lanes become two, or two become one, or an acceleration lane merges into moving traffic, there's a little dance between the lanes.  I've seen people refuse to let someone in; I've seen people try to graciously let each other in, only to end up in a you first, no you first game.  Doesn't happen with self-driving cars (assuming they all are.  I can see people being jerks and specifically not letting a self-driving car merge), as they have no ego about who goes first.

Computers don't get apprehensive about traffic density.  When traffic density gets too high, people tend to hit the brakes in apprehension.  Self-driving cars behave consistently and would self regulate.  They might move more slowly with higher density as safety dictates, but they wouldn't be likely to set up a standing compression wave in traffic that can last for hours.  Check out this link for some amateur traffic analysis.

Autonomous cars mean no more gapers delays or sun delays.  The car doesn't need to slow down so the person can get a good look at whatever's on the side of the road (and remember, there would be fewer reasons for anyone to even be on the side of the road), and the car doesn't care where in the sky the sun is, if at all.

Ok, so I'm totally convinced.  Now what?
Where do we go from here?  For me, it's a foregone conclusion that this would be one of the greatest advancements our civilization can make, and I want to see this happen here in the USA at the fastest rate possible.

Thing is, I would love to be part of this solution, but I don't know how to help.  One obvious solution would be to try to get on the project at Google.  I'm a technologist with a lot of experience, so maybe one of the things I could do is try to go to work there.  That's one angle, but I believe they probably have all the engineers they need on this project.

I see one of the greater obstacles to adoption is going to be FUD in the public eye.  Despite the record of human drivers vs. the record of self-driving cars, there is always going to be worry that the programmers forgot something, some rare situation that may crop up.  That in that situation, the car won't know what to do the way a human would.  You hear about fatal bugs that crop up in software from time to time, and no matter how remote or infrequent the possibility, and no matter what the empirical data eventually shows, some people are always going to believe they are better than a machine.

Further, there's some buzz that a car must always have a "driver", and that the "driver" must not be drunk.  That kind of outmoded thinking comes in direct conflict to the Utopian vision I have for self-driving cars.

So how can I be part of the solution?  If you are working on these problems, or know anyone who is, I would love to be in touch with you or them.  You can get in touch with me through contact information found at http://www.kevinpdavis.com.  Even if it's to have a quick conversation about what it's going to take to make this happen over the coming years... What can I do to help?

Saturday, December 22, 2012

Thoughts on the Chicago Commute

I am a Chicago commuter.  Funny, when I was growing up, I said I would never live more than five minutes from my job.  Looking back, it was only because I hadn't yet discovered that the kind of job that I feel is worth having either wasn't available in a small town or that the places where I'd want to work were generally out of my price range that I made that proclamation.

I sat in Chicago traffic, traveling east in the morning, enduring the daily sun delay (from drivers that were unable to see as their vision was obscured by the giant fireball directly in their line of sight), and traveling west in the evening, with the afternoon sun delay as well.  I did this for years, spending countless hours of my precious life in the car that I can never get back.

Then, as now, I worked in one Chicago suburb and commuted to another Chicago suburb.  In cases, my commute has been a combination of tollways and back roads.  The number of variables made sure that most days, whether due to sun delays, congestion due to merging anxiety or traffic density, accidents, involved some amount of sub-par, non-optimal speed time in the car.

During many of the hours I spent on these long drives, I thought about the amount of time that was being wasted.  The amount of productivity lost.  The amount of family time missed out on by the Chicago-area families.  The amount of money spent on gas, tolls, car repairs.

I would estimate in my head.  Say, a million drivers on the road every day (I don't know how realistic this is. Best numbers I saw was this paper, and that just shows like three million commuters.  How many in cars?  Don't know, but I'm assuming a million).  Then assume they're on the road for an hour a day (lots are on longer, and I assume there are fewer.  Now assume that they are worth $50/hour.  Again, I have no idea how correct this is, but let's assume $50.  That's $50 million per day of time spent in the Chicago area.

Per day.  Assume 260 days a year (5/7 * 365) that this happens.  That comes down to $13 billion of unproductive time waste.  What would our country do if we could just capture that productivity?  What a colossal waste of our collective precious time!

Further, because of the delays, for many people, the daily commute is a stressful time.  They are tense from working all day and then have to drive home vigilant and tense.  Think that helps their interactions with their family?  They bring that tension home and it strains families and lives.

Why not take the train?  Well, I could get a job downtown most likely, and take the train in, but that has what I would consider to be worse problems.  I see the train as a 3 hour/day minimum commitment (15 minutes to the train, some time waiting for the train, 30-60 minutes on the train (depending on whether you can snag the express), then a 15-20 minute walk to wherever you're going.  And then if you're working in a high-rise downtown, there's a non-trivial amount of time just to get into the building and get up the elevator (Aon Center, I'm looking at you!)).  Then there's the freedom that you lose being bound to the train and the express train schedules.  I have talked to many Chicago commuters, and that way lies madness, I feel.

Working downtown makes the most sense if you can live there.  Then it's aces.  I loved that.  A lot.

No, so if you're in the car you make the best of it.  You try to figure out ways to make that time productive.  I like to read, so audio books were a no-brainer.  I subscribed to Audible.com, and they were good for a while.  Until I'd listened to everything I really wanted to listen to.  Then I discovered podcasts, and listened to those.  But if I wasn't commuting, I wouldn't necessarily be consuming this kind of media.  I realized that it didn't make the commute productive.  It just made it feel less wasted.

But I have always had the feeling that something would have to break through this wastefulness.  That there was a solution just waiting around the corner.  I thought a lot about it.  Would it be self-driving cars?  Would it be telecommuting?  Both seemed to hold the promise of, if not eliminating wasteful traffic, at least easing the congestion that multiplies its effects.

And I've always wanted to be part of the solution to that problem.  But what can I do?

No seriously, is there anything I can do to be part of these efforts?  Lobby the state legislature?  Join Google's self-driving car division?  Just find a telecommuting position or convince my current employer to let me work from home so that I can avoid being part of the problem?  I'm not sure, but one thing is certain, being part of the solution of this particular problem is always on my mind.

As a part of this line of thought, I suggest reading Mr. Money Mustache or watching I'm Fine, Thanks.

Wednesday, December 19, 2012

Finding Your Passion

I've read probably more about this than any other topic over the past few years, but I wanted to share my take and my notes on it, so that folks out there can see another perspective.

What do I mean by "Finding Your Passion"?  I mean finding the thing that really gets you going.  The thing that if you could figure out some way to do that right now, you'd drop your current work and pursue it.  Something that you believe in so strongly that you think about it even if you're not currently in the field and it's not really bothering you.  Something that you could talk and learn about for hours on end and even see yourself becoming an evangelist for.

Some say it's what you'd do if you didn't have to pay the bills (that is, they are doing their current job because they get paid more than they believe they could in their desired job).  Some say it's what you'd do if you just knew how to get there (that is, they are trained as an engineer, but really would rather have been a stage actor).

There's a perception that what you are doing currently has you trapped for some reason.  You've got a mortgage, car payments, student loans.  The job market sucks in your current field so you don't believe you should be looking for another job, believing that staying where you are is somehow a safer option.

I'd like to tell you I have the answers, but I don't.  I've been searching for my passion for a long time.  I have been in the financial services industry for quite a while now, and I really enjoy that domain, but I'm not sure if it's my passion (which is another way of saying that it isn't, I guess.  If you don't know if something is your passion, it's not).  Luckily, one of my passions is learning, so I can be happy and productive just about anywhere as long as there's always new information coming my way.

Probably the first book I read about finding your passion is Chad Fowler's The Passionate Programmer, a fascinating read, and something that helps keep me focused.  I've always liked computers, and having the ability to make them do stuff, so that's a pretty good start for me. I recommend it, especially for the programmers out there.

I saw a great talk at That Conference by Sharon Cichelli about being intentional in your career.  Really driving towards what you want to do instead of letting things happen to and around you.   This is another form of finding your passion, and crafting your career around your passion is a good thing.

I've often even heard "Do what you love, and the money will follow."  I think this only gets you so far.  Depending on your desired lifestyle, you have to make choices about what pays and what you truly want to do.  I think this causes the biggest struggles for folks in Corporate IT.  There's the feeling that what you want to do won't let you continue paying your bills.

That's where Mustachianism comes in.  I've recently switched from my former crazy consumption habits and downshifted a bit to enjoy a far more frugal lifestyle.  The idea is, if you can ever save up enough money to begin living off the interest in your investments, you are freed up to do what you love no matter what the income it brings you.  I recommend you having a look at this blog from the first post and read it through.  You may have a very big revelation, and I would be curious to hear about your reaction.

Oddly enough the only time most people have this freedom is before, during, or right after college.  Before they get anchored to a place or people or buildings or whatever keeps them in place.  But when you think about it, really the only things that typically change is that people build up a need to have more money (based on the lifestyle they become accustomed to) and that they are older and figure out what matters to them more.

Sounds like that's what the mid-life crisis is all about.  You finally figure out what you like in life, just about the time that you're too immobile to do anything about it.

I'm here to tell you that those feelings are only perception.  You can be free.  You can pursue what you want to do.  You are free to find your passion.  It may take a little more planning than it used to.  It may take a little more looking than it used to.  It may take a little more patience than it used to.  But if you figure out what your passion is, you can make a plan to get there.

First step, make your passion known.  Let people know what you are interested in.  Find people in the industry you want to go into.  Talk to them.  Find out from them what it would take for you to get involved.  Maybe you already have a skill set that is a natural fit to something tangential that would give you the exposure an the experience.  I'm a firm believer that if you put yourself out there, you have a much better chance of finding the opportunities that you want.

No one can help you if you don't tell them what you are interested in contributing.

Tell someone.  Tell everyone.  Find that passion.

Sunday, December 16, 2012

Having a Flat Headcount


I hear this a lot:  “We’re not raising headcount!  We’re already too heavy in <one department or another>!”

You hear this from heads of industry.  You hear this from upper and middle management. 

And it’s an absolute crap idea. 

If you've read my post on technical debt, you know that it’s possible for companies to get themselves into trouble to the point where all their people can do is keep up.  This happened to a lot of companies in 2007/2008 when the economy tanked, and businesses shed employees to “keep the lights on” levels.  As the economy stabilized a bit, business appetite grew faster than staffs, and those “keep the lights on” employees were tasked with putting more stuff out there, usually just adding to the technical debt pile.

So here we get to why flat staff is a crap idea.  Eventually you get to the point where you can only handle the interest payments (maintenance) on your technical debt.  Once you get to that point, you now have no staff to take advantage of business opportunities that come up.

And come up they do.  They’re out there, even if you’re refusing to look at them.  Places where your IT technology group could be helping you make more money: know your client better, streamline your middle/back office operations, virtualize and automate processes, move applications or entire functions to the cloud.

But if you are swamped in technical debt, and are unable to pay principal on your old debt, you don’t have any bandwidth to take advantage of any profitable opportunities. 

So anyone saying that they have to stay with a flat or declining headcount no matter what the situation is indicating that they are willing to pass up present improvement or investigate possible improvement, no matter what the return on that improvement investment would be.  And that’s the real rub.

That’s like having all your money going out to the interest expense of credit debt and being unable to move when someone comes up and tells you about a great investment opportunity.  To take advantage of investment opportunities, you have to have cash on hand (or liquid investments with lower return).  By the same token, to invest in technology projects that improve your company, you need to always have people that are working on things that can be delayed or postponed temporarily.  You simply can’t afford to have no human capital on hand. 

I am aware you can get staff-aug with consulting services; that’s like borrowing a little money to invest, and that can be a winning strategy, too.  The point is, though, that you can’t get new work done if your staff is always paying unavoidable technical debt.

Ultimately, what I'm trying to say is that any business leader who says that staffing needs to stay flat is basically saying, "No matter how lucrative the opportunity to use new human capital is, we will not even consider it."  When put that way, I doubt any business leader would agree with that statement.  As such, when you are working with short staff, ensure you are able to articulate the value of new projects to the business.  Put the right way, pretty much any constraint can be worked around.

Paying Down Your Technical Debt


Technical debt is bothering me lately.  Spurred on by this article, I was doing a lot of thinking about how to pay back some of my technical debt.

A little scenario background, as I observe it in Corporate IT shops.  In the type of shop I'm thinking of, IT builds applications for the business, and doesn't always get to set the deadlines, creating a scenario in which potentially weak-willed IT managers cut corners to meet increasing business manager pressure to "get things done."  What that results in is a lot of manual maintenance; for example, data updates to production systems by IT where a user interface would put both the responsibility and the ability in the hands of the users.

And this goes on for years, until someone looks out over the IT group and proclaims that the IT group is too big for the organization, or that it’s not producing enough value for the business units.  And both may actually be true.  Because over the years, IT keeps building applications, and each of those applications has a little bit of this manual maintenance associated.  Eventually the maintenance cost - which is the interest payment on the technical debt – becomes all the IT department can do, since the business wants to remain flat in staffing.

When they get to this point, many businesses look for the big kill.  “Outsource the lot of it,” they might say.  “Let’s spin up a program to rewrite everything that's currently wrong and costing us maintenance work,” is another approach.  They spin up a big expensive effort to fix the mess they find themselves in.  It’s a form of declaring technical bankruptcy, or at best an attempt to pay off the largest pieces of technical debt first (in the guise of “bang for the buck”).

I've think that both these approaches are bad.  They are often big and risky.  The big efforts often fail, collapsing under their own weight, or they might involve a huge, expensive bandwidth increase in the form of consultants who don’t know the company history, why the bad decisions were made, and what dark puddles of sticky ichor lie in wait in the legacy codebase(s).

A while back I paid off a lot of my personal financial debt using the snowball method of debt reduction.  That method suggests you pay off your smallest debts first while paying only the interest on the other debts.  If you have a couple credit cards, a couple student loans, a couple car payments, and a mortgage, don’t start by paying off your mortgage first.  Pay that $500 credit card bill off first.  That will give you some momentum and cut out some of the debt as well. 

In the case of IT projects then, this method would suggest that you stop development to the extent you can on all but the smallest creator of maintenance noise.  Do something (give the user the power to fix the errors, automate something manual, perform automated cross-checks) that eliminates that noise.  Then look for the next smallest piece of maintenance noise that can be silenced, and roll the resources from not doing the manual maintenance into fixing the next noisy thing. 

Soon, your whole team will be working on paying down some seriously large debt.  Especially since you’ll be able to see more clearly through the noise (if you have ten noisy applications, it’s hard to work on one, but if you have three noisy applications, it’s much easier to concentrate without loss due to context-switching).

Another mechanism for paying back real financial bills is to pay off the highest interest obligations first.  That is sound advice, and in the IT world, that means work first on the highest maintenance/smallest effort work to get better bang for your buck.  That’s a fine approach as well.  Often, however, you can’t always get permission to work on this type of effort.  Or naysayers say, “Well, we should just add in a little more effort, and then we’ll quiet down things more.” And the scope creeps and creeps and then the project gets too big to get done (remember, we need to work on little things first because we only have staff to pay down very minor debts).

In general, though, just don’t go for the biggest project because it will allow you to quiet the most things down (don’t pay the mortgage first).  Do whatever it takes to get momentum.  Refuse to participate in manual processes.  Be adamant about the need for change. 

Be adamant.  Be the change.