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.

Thursday, November 1, 2012

Toward a More Helpful and Civil Discourse

There is a poisonous phrase I hear often, a phrase that seems to immediately and negatively affect any calm, reasoned discourse.  Over the past couple years I've been tracking it, both in my speech and in that of others.  I find that more often than not, this phrase is the turning point of a discussion.

Usually, this phrase is used when you’re at your most vulnerable.  You’re trying to solve a problem, and just as you get the description out, you’re interrupted.  Interrupting is bad enough, but this particular phrase, said this particular way, can be devastating.

And I’m not pointing at specific family or friends.  I’m not pointing at specific work relationships.  This phrase seems to be baked into our collective culture, now just part of the standard language we use to communicate.  Once you notice it, you’ll see and hear it everywhere (sorry about that, but it’s for the best, I assure you).  You’ll hear it while watching TV.  You’ll catch yourself using it.  That’s the best, because then you’ll know what it means and feels like when you say it.

Well, kpd, couldn't you just tell us what that is?

And that’s the point.  Introducing “couldn't you just…” into a conversation is one of the more harmful, insidious things a speaker can do.

It’s not the entire phrase that condemns it to being so awful.  It’s that word “just”.  In this context, it’s synonymous with “simple”.  It’s demeaning and insidiously so.  It’s the same as calling the other person stupid or simple.  It’s saying to them that something is really obvious to you and that they should have thought of it themselves.  There’s a judgment there that what the speaker is about to say is simple, and that you’re making your problem more complicated than it needs to be.

What’s worse is that the people speaking often shake their head while saying it, as in disbelief that you didn't think of something so obvious.  And often their tone and inflection conveys the incredulity that they can even be talking to someone who didn't think of that approach or solution themselves.

And the worst part about this phrase is that anyone who says it to you means well.  They really do.  They actually are trying to help.  And they may have insight you need.  The obstacle to communication that it introduces is the immediate reaction you have to defend yourself.  “Well, of course that was the first thing I tried, but that didn't work.”  “Well, if I was an idiot, I wouldn't have thought of that, but since I’m not, here’s why your ‘simple’ solution doesn't work.”

So here’s the fix.  Catch yourself saying it.  And you will – we all seem to.  Catch your inflection.  Catch yourself shaking your head.  Feel the judgment and disbelief that someone right in front of you missed something so obvious.  And you won’t be able to help yourself all the time.  It’ll just come out.

But if you manage to catch yourself before letting it out of the bag, change what you say.  Make it a new habit.  The problem is that judgmental little “just”.  Consider the following:

“Couldn't you have just tried to work out a sharing schedule?”

“Couldn't you have tried to work out a sharing schedule?”

The second is less harsh and less judgmental.  There’s an improvement here, however, that you can and should try:

“Could you have tried to work out a sharing schedule?”

The last works well, and avoids the negative contraction.  It’s amazing how much nicer a simple rephrasing that loses no meaning can sound!  There are other ways to ask the same questions and ensure that ideas get exchanged:

“What solutions have you considered?” – doesn't offer a solution; lets the listener get the simple ones out of the way on their terms
“What about trying a shared schedule?” – offers a solution, but puts the emphasis on the solution, not the speaker.

I’m sure there are other great ways to phrase these same questions, too.  If there are ways, I would hope you’d find some way to tell me.  Couldn't you just leave me some comments?

Tuesday, October 2, 2012

Sometimes, I just get a tune...


Every once in a while, less as I get older, I get a tune in my head.  Not one I’ve heard, but one my mind makes up on the spot.  Then it adds lyrics.  And then it’s stuck there for a while.

Today the words go:

And the color of my pee tells me
“you ain’t drinkin’ enough, you ain’t drinkin’ enough”

And the state of my liver tells me
“you ain’t drinkin’ enough, you ain’t drinkin’ enough”

And the pounding in my head tells me
“you ain’t drinkin’ enough, you ain’t drinkin’ enough”

I thought that was fun enough to share...

Wednesday, August 15, 2012

Opening Up The EMX Development System

Any idea what this is?  I had no idea. I won it during a session on open source hardware at That Conference.


Turns out it's called an EMX Development System (it does say that right on the bottom, see?)  It's a programmable board.  It's a really nice one apparently.  

I've always wanted a little board, thinking maybe it would be nice to try out an arduino, or maybe a netduino.  This thing is a monster compared to those.  It's got five onboard directional buttons (lower right) giant touch screen display, compatible with XBee, USB port, SD card, and a whole lot of things I don't even understand.  

So yay for me.  

To be honest, I'm a little intimidated, but I'm going to tackle this board.  Time to get reading... 


Commit to Something Crazy

I just returned home from an awesome inaugural ThatConference.  What a complete gas!  Incredible speakers, incredible community, incredible energy.

Full disclosure, I helped organize ThatConference.  I did a lot of the communications to the community, the speakers, the volunteers, etc.  I worked with a group of amazing people who put together an amazing event.

And I do mean amazing.  I was talking to one of the other organizers after it was all over and I was on my way home.  It was always my assumption that events of this magnitude were put on by professional event planners, not by a team of (admittedly smart and talented) software developers like me.  

What we turned out was a world-class event.  It was a first year conference that ran very smoothly, like we'd been doing it for years.  We had help and inspiration from other conferences (Codemash, from Sandusky, Ohio, for example).  Everyone appeared engaged.  They were connecting, and I heard many say that they would be coming back next year.  ThatConference is something that's been needed by this portion of the Midwest for years, and I think we really opened some eyes to how awesome a conference can be.

So how did we do this?  On the long drive home, I was thinking about it.  It was crazy to me to think that we could do it.  But what if we could pull it off?  It would be a great thing.  Actually, I realized, it happened because Clark Sell and Scott Seely committed to doing this two years ago.  They committed to doing something crazy.

I like that idea.  Great things happen when we commit to something crazy.

I never really thought of it much.  But everything that someone has created, no matter how great or small, has been done because someone was committed to that idea.  I used to believe that those big crazy things were done by other people.  People that knew what they were doing.  People who had experience in... I don't know...  doing big things?

With That Conference, I realized that a relatively small group of people, surrounded and motivated by an awesome community, put all this on.  I realized that the people who build things could be anyone.

Someone like me.

Better still, someone like you.  

I met Hersh Ajgaonkar at ThatConference.  He told me that he made the commitment to run an ultra marathon.  You know, the kind that's even longer than 26.2 miles?  Like fifty?  To me, that's crazy.  But when he's done it, it will be a great achievement.

Sharon Cichelli gave a really awesome presentation on Crafting Your Career.  She mentioned a technique in which she wrote her New Year's letter for five years from now, talking about all the awesome achievements that year.  She let her imagination soar and came up with lots of great ideas, some of which were pretty ambitious, possibly crazy.  And yet if she commits to something crazy, she will make great things happen, for herself and others.

Could it be that extraordinary people are ordinary people who make great things happen by committing to something crazy?  Possibly.

Do yourself a favor.  Commit to something crazy.  Write it down.  Then write a blog post about it and have the community keep you honest.  And tweet it to me @kevinpdavis.  What crazy thing do you want to do?

(Note: I didn't say commit to someone crazy, though that can make life fun, too.)

Thursday, June 14, 2012

Speak Up, Part 2

I read a lot of management books.  Management books and self help books.  How to get ahead.  How to be more effective.  These books help me see things from the perspective of management.  These books help me to remember to first change myself when I want to see change.  I look to these books for advice on how to effect change effectively.  Some people seem to just know these things, but I love to learn from other people's mistakes.

The most recent book I'm into is Crucial Conversations Tools for Talking When Stakes Are High, Second Edition. This book was recommended to me by a dear friend of mine that is employed in the field of organizational development.  From what I understand, this field  is basically organizational engineering, focused on improving the effectiveness of a corporate structure.  It's at the core of some of the things I enjoy.

One of the tenets of the book is that to have a difficult conversation, a crucial conversation, the kind of conversation that changes the direction of a company or a life, it's important to get everything on the table. All the information has to be available to make the best decision.  Hidden information tends to lead to suboptimal decisions.

So that brings up a really good point.  How many times have you been in a situation where you're talking with a colleague about a new plan, program, or project from upper management, and they list off the reasons why it's not going to work.  These same people, when put on the project however, do what they're told, work on the project as much as they can, and then when things go south, they shrug it off.  They say that they predicted this eons ago.  I've known people like this in every organization I've been in, not just work situations.

Why not say something?  Speak up!

I've written about speaking up before.  That context was about getting involved, especially to learn efficiently.  Here, the context is a little different.  Speak up so that others learn more efficiently, too.  That project might have gone better if those folks brought up their concerns in a positive way.  Get the issues out there.  What obstacles do you see?  What problems have you seen repeat whose sources haven't changed?  Problems that no one hears about rarely get solved.

If you have material insider information, speak up!

Why doesn't everyone speak up?  The answer inevitably seems to be fear.  Fear of reprisal?  Maybe.  Fear of being fired?  Sometimes.  Fear of being told you're wrong?  Sure.  But having hidden information means that whatever organization you're part of means that you believe they're making the wrong decision.  And you're okay with that?  Where's the integrity?  You're willing to spend your time working on something you don't really believe has a chance?

Speak up and let that information flow!

Another book I finished recently was OOPS! 13 Management Practices that Waste Time & Money (and what to do instead).  (Seriously, I'm not pimping these books.  I'm just trying to share what I've read and if any bit of it helps guide anyone else, I'm happy.  I'm not in any way affiliated with these authors, though I wish I were).  One of the mistakes that this book asserts that management makes at some point is that management underestimates just how much impact the enthusiasm of the front line workers have on their initiatives.

We are not cogs.  How we work matters.  Our enthusiasm matters.  Flog us, and some of us will let our morale shrivel up.  Like Office Space taught us, we may work just hard enough not to get fired.  That's sad.  It's not good for the employe, and it's not good for the company.  No one wins.  Those employees sit and wait until the job market picks up and bonuses are paid and then leap to a new company.

Better: if you hear people speaking up, listen!

If you are in management, you need to make sure that everyone has a voice.  That everyone can chime in during a Crucial Conversation and not be shot down.  That you take individual concerns seriously and not just push them aside.  That there is nothing to fear for bringing up concerns, even if they are un- or ill-informed and their concerns have been mitigated.  If your front line workers still care enough and take the time to tell you despite having some fear about speaking up (and many of them do), know that they're really trying to help the company.

Most of all, recognize that fear is poison in the office, and that trust is the lubricant that oils the gears of your business.  Not enough trust and too much fear can grind the mightiest businesses to a halt.

Better still, ask for their feedback.  Get in there and talk to the leaf nodes of your organization.  Find people willing to stand up and say what's on their mind.  Have an honest dialogue with them.  Let the information flow freely - org chart be damned.  Get them to buy in to the programs.  People don't buy in because they're involved.  That's not enough.  People buy in when they understand.  And they need your help to get there.

Bruce Eckel, author of Thinking in Java gave a talk at Codemash 2012 that really hit home for me.  He is currently working on a project about how to make businesses better.  He spends his time thinking about how businesses can be made better.  His blog at http://www.reinventing-business.com/ is full of interesting reads.  His presentation showed me that he really gets it, too.  He talked about companies that breed trust and excitement in their employees, citing Zappos as the canonical example.

I want to work in a company like that.  And I want to be part of what makes that culture happen.

The only way I know how to do that is to Speak Up.

And just one more plug. While I'm not speaking there myself, many of my fellow developers are speaking up at That Conference.  I'm really excited for this event.  it's August 13-15 at the Kalahari resort/water park in the Wisconsin Dells.  If you are thinking about getting out there and becoming more involved in the community, please consider joining me.  Tickets for the three-day conference are only $349, and there are over 150 talks to choose from over web, mobile, and cloud.  All development languages and platforms welcome.  Send me a message and find me to chat, pair up on some code, or to tell me you think I'm totally wrong.  Just come out and speak up.

Monday, May 28, 2012

Get Yourself a Mentor

I have talked to lots of people in Corporate IT shops, and a lot of the concerns people voice are similar.  Times are tough, they're trapped in cost centers, asked to do more with less, don't get the training they way, and so on.  Last time I reminded people that they are in charge of their future.

Note, I'm not advocating that people leave their jobs right now, but I am advocating something that the TechCrunch article points out, that there is no corporate loyalty towards employees.  How old are you right now?  20's?  30's?  40's?  If so, you've still got quite a long while to go before retirement.  What's the likelihood you're going to retire from your current employer?  Pretty close to zero if you're in a tech job and planning to stay in a tech job.  New technology, changing market conditions, need for cheaper, less experienced workers will all work against you.

This time, I want to call out one specific thing you can do to help yourself beyond what I was suggesting earlier.

Find yourself a mentor.

I've been very lucky in my career to have had lots of individuals I can look up to and ask candid questions of without fear for my continued employment, and I urge you to find someone similar in your life.  You need somewhere you can speak freely about job advancement, skills that really matter,

Here are a couple suggestions of where you might look

  • Talk to your boss.  Just like we don't choose our parents, we rarely get to choose our "organizational parents and ancestors".  You sometimes get to have some comment in your boss or grandboss, but rarely.  And because they're not interviewing with you, you frequently end up with someone who wouldn't be your first choice to work with.  But don't write them off.  They may be a great resource, especially if they're an honest and good manager.  Ask them their back story.  If they came from your position in another company, ask them what it took for them to get there.
  • Look in your business units.  It's great to forge a relationship with someone who's not in IT that is in a position above yours in the org chart, but not in your organizational ancestry.  That kind of relationship has some side benefits beyond just being able to ask for career growth advice.  This kind of cross-departmental relationship is often very healthy in an otherwise siloed business.
  • Look to supervisors from old companies.  They know who you are.  They know your skills, probably better than you.  They might be able to suggest career choices that you might find interesting based on other folks who have been through their ranks.  Sometimes the fact that you no longer work for them allows them to talk about your possibilities and capabilities more freely.
  • Look to colleagues from old companies.  We're all in different places in our lives at different times.  That colleague that was a peer in a previous company might have had a little more time and motivation and pushed up a level or changed jobs while you were at a gig where your job or skills weren't highest priority in your life.  Talk to them about what they did, what they've done since. Talk to them about what they found most beneficial in their quest to massage their careers.
  • Look to your heroes in the industry.  Ask what they look for in a colleague.  Ask what they think is most relevant.  With lots of folks on twitter these days, people you look up to are just a few clicks away.  Better yet, if you want to work like those people, offer to work with those people.  On an open source project that they've started, for example.  Or better yet, try to get employed at the same place they are.  
I guess that last one is pretty near and dear to my heart.  I do believe that when you're working in Corporate IT, maybe not feeling appreciated, maybe not feeling connected to your industry, you should at least enjoy the people around you.  Frequently it's the time with them that make it all worthwhile.  Find a place that has people that thinks the way you want to   

We do have openings where I work, for example.  If you like what I have to say, you might consider sending me a message.  We have great openings now for .NET developers and analysts in the west Chicago burbs.  You can contact me via the info at kevinpdavis.com.  If nothing else, I love having the conversation.

Wednesday, May 16, 2012

You Are in Charge of Your Future

Where do you work?  Are you working for a software development company?  Are you working directly on the product that's making your company money?  If so, great!  You may have a rocking development machine.  You may get sent to conferences to network with your peers.  You may get sent to training on the latest technologies.  You may even have lots of dev tools and libraries at your disposal.

This post is not for you.

This post is for the employees in Corporate IT positions.  This post is for all the Dark Matter Developers.  This post is for all the 501 Developers.  This post is for anyone who is working in what they call a "cost center", meaning that they support the business unit they are in but are not directly responsible for making the money that keeps the company going.

Because they are not revenue generators for their business, these corporate IT departments are often not very well understood.  The businesses they work in are not technical companies, and they often see technology more like a utility service than like the strategic partner or business differentiator that it could be.

Sometimes these departments are understaffed, making it hard to produce code the "right" way.  Sometimes the tools they have at their disposal are subpar.  Sometimes the developers, even if they follow and learn good practices, are only there to maintain what the contractors are brought in to build.  And if you're still following along, I'm probably not telling you something you don't know.

But something you do need to consider: your skills will atrophy in this environment.  Too many people leave a great environment where they have business knowledge that matters, just to get involved in some more interesting technology, because they have become subject matter experts that can't be allowed to work on different things.

Just because you're Dark Matter, doesn't mean you Don't Matter.  We very much want to hear what you have to say.

You can be a great developer, even if you're in corporate IT, but you may not get the help and support you need from your management.  This isn't because they're bad people.  They just may not understand exactly what it takes to keep creative people interested.  Or they may not understand that a couple thousand dollars a year for a training budget to keep a good employee is better than paying alarming penalties in restaffing and training costs when they leave.

What I'm saying is that you may have to take responsibility for your own personal development.  You have to work harder to stay up on things, because the technologies you use where you are may not be the latest and greatest.  They may not even be fun to work with.  But you owe it to yourself to stay relevant, and that isn't necessarily your company's goal.

Commit at least some of your time to reading blogs.  Follow some leaders in the industry that you like.  My personal favorites are mentioned in my earlier post The Cult of Do, but I'll take suggestions.  I love hearing about new thinkers out there who have joined the conversation.  It takes very little to set this up in Google reader, and you can dial the content up or down as you need to feel like you're not hitting information overload.

Another way to get some time in with new technologies: attend free community events.  At a minimum, know what is offered around you.  In the Chicago area, it's things like Chicago Code Camp, a free technology conference, or the Chicago .NET Users Group.  These are great ways to network, and have a good time learning about new technologies that you may not be using.

If you crave experience in a new technology, find some way to do it, even for free.  Lots of people will tell you that you need to do open source projects, but that's just one way to code with folks.  What about giving some of your time to code for charity with a project like GiveCamp?  You can code for charity for a weekend?  Sure, it's some of your time, but this experience may be better than the last year you spend maintaining a Visual Basic application from the early 2000's.

Or maybe you're a little competitive?  Try participating in a team in a Hackathon!  Great prizes, and you get to code with new folks in a new environment.

This one may come as a shock. Yes, you may have to part with some cash on your own to invest in yourself as a professional.  Remember, your company doesn't owe you personal growth.  They owe you cash for your talents.  Keeping your talents sharp may be up to you.

Here are some tools that might be within your grasp as someone who wants to keep up.  A personal ReSharper license costs $149.  Learn to use it, and you'll be coding like a Jedi in no time.  An unlimited annual subscription to Tekpub is $300.  It's got all kinds of cutting edge topics, presented by experts in the field.  If you feel like you're behind on some of the latest/greatest, check it out.

Finally, I want to put in a plug for regional conferences.  Smaller regional technical conferences like Codemash in Ohio are a great deal for personal investment, especially when compared against the relatively expensive TechEd.  These are great ways to meet people and companies in your area, be part of the conversation, and to learn lots of great new things from peers.  Regional also means that you won't have to fly to get there, meaning that cost is even less of a factor.

Consider That Conference.  It's a new polyglot conference servicing the Midwest and is focused on the Web, Mobile, and Cloud.  Three days, 150 presentations, and it's only $349.  Compare that to the couple grand that TechEd will set you back.  Throw in a couple nights at the waterpark resort it's attached to, and you only get set back about a grand total.  Compare that to the thrill of what you'll learn.  Compare that to the confidence you'll have with your new skill set, or the next great job opportunity.  It's an investment in yourself, an investment in your future.  As of this writing, registration for That Conference is still open for 2012.  Consider what it can mean to the future you.

You are in charge.  Make it happen.

Saturday, May 12, 2012

Who the Heck Do I Think I Am?

I am so sorry.  Where are my manners?

I have completely neglected to introduce myself.  Here I am asking to be part of the conversation, asking you to come on a mental journey with me, and I haven't even told you why I think I matter, or why I think we should dialogue.

I think I'm just like you.  Or somewhat like you.  Or like you in some ways and unlike you in others.  I guess that's part of what we're here to find out, isn't it?

First and foremost, I'm a family man.  I have a couple beautiful children and a lovely wife that I live with in suburban Chicagoland.

Second, I'm currently working as a technologist.  My official title is Lead Architect, but I consider myself a developer and coder, a team leader and educator, a mentor and a manager.  I really enjoy coding and talking about coding with others, but I sometimes feel these opportunities are somewhat limited.  That's part of reaching out to the community for more discussion.

More specifically than that, I'm a corporate technologist.  That means I work within the boundaries of a formalized IT organization within a business whose main source of income is decidedly not technology.  That means I'm in a cost center, and I typically feel the pinch of those boundaries. This is something that I plan to write about a lot in the future, as I feel that there is not enough discussion about these situation, and my intent is to speak up and to listen to what you have to say, too.

I am an avid student of how businesses work, and making them work better.  I love knowing what motivates people (and am a big fan of Daniel Pink's Drive).  I want to know how to build a better business, and was invigorated to see a talk this year at Codemash by Bruce Eckel, in which he describes his initiative at Reinventing Business.  This kind of work fascinates me.

Being a corporate technologist, I also find myself being a Software Archaeologist.  In fact, I like the title so much I had mugs and business cards made to that effect.  You can also see my shingle up at http://www.kevinpdavis.com.  Refer to the other post for a detailed description of what that means to me.

I'm also a technical book reviewer. Since I have long been a lurker, yet loved reading about technology, I have been reviewing books in the Pearson publishing family for over ten years now.  It provides me with divergent educational little side-topics that keep my interest in things high.  I've been a frequent reviewer for Thomas Erl, for example, especially in the SOA books series.  While I don't consider it part of my persona, I did a stint as a podcaster for the On SOA series (specifically for the Contract/Versioning book).  I love these kind of side gigs, and they really keep my technology hunger up.

I believe in making my community better.  That's why I'm volunteering on the staff for That Conference, a summer camp for geeks in which we'll be having 125 sessions in 3 days about web, mobile, and cloud.  I can't wait for this one.  At this time of this writing, tickets go on sale less than a week from today.

Whether I like to think of myself this way or not, I'm a blogger.  I wrote two blogs years ago detailing some of the early adventures of each of my two children.  Best baby book ever, IMO.  And now this one.  See them all at my home page.  They're all linked there.

On the non-professional, but no less important, side, I'm a home-brewer.  Card carrying member of the American Homebrewer's Association.  I wasn't much of a beer-drinker until I tried to make it.  Now, I brew on a regular basis.  I love to make the darker and heavier beers.  Porters, stouts, belgians, bocks, and any kind of flavored beer.  Orange Creamsicle Ale is what's in my fermenter at the time of this writing.

I never would have believed you if you told me ten years ago that I'd ever run a mile again in my life.  A few short years later, and I've put a few 5K runs to bed, and I'm working up to a 10K.  Since I run about three times a week now, for almost an hour at a pop, I guess I am also a runner.

I'm also a member of the Board of Trustees for the Paramount Theater in Aurora, IL.  This historic theater is a pretty amazing venue in the suburbs, and they are producing four broadway shows a year now, and they are most excellent.  Buy tickets now for next year's season!

I am also currently functioning as the Assistant Cubmaster and Webelos II Assistant Den Leader for Gamble's cub scout pack.  I helped start and very much enjoy our new hiking program, called the Trailblazers, and I enjoy both learning and teaching these valuable life skills.  The scouts is an excellent program of discipline and practical skills.  I recommend it for all boys.

Funny, when I began writing this post, I thought it would be much shorter.  But these are my passions for now.  They will change, and you'll probably hear about them.  Because that's just who the heck I think I am.


Thursday, May 10, 2012

Software Archaeology


What is a Software Archaeologist?

Most of us that work in corporate Information Technology shops are Software Archaeologists. Every organization I’ve seen and many I’ve talked to has a built-up layer of legacy applications that are old and in disrepair. While many of these applications are used daily, it may have been years since they were opened, rebuilt, refactored. The source code may be missing, and the original authors may be long gone from the organization, taking their knowledge of the application with them.

It’s this organizational brain-drain that turns many of us in corporate IT into Software Archaeologists. Every time a developer has to don his leather fedora and dive into an ancient codebase with little to guide him but a few cryptic comments littered in the code tomb, and a document that some long-ago intern put together in a half hour to meet a letter-of-the-law requirement in the then-current SDLC, that developer becomes an archaeologist.

Being an archaeologist means digging through all the various eras of coding.  Being able to parse the Scatter-Gather patterns in Visual FoxPro, say, or to unwind the data calls from the business objects that were once part of the popular CSLA methodology - those become part of your everyday toolkit.  What about that legacy web services architecture that passes around typed data sets everywhere?  What about that .NET 1.1 Remoting service layer you built?  You need to know it all, and to hop back and forth through the disparate layers, gathering golden icons and dodging rolling boulders all the way.

Even those developers who only develop new applications need to be versed in Software Archaeology, because nowadays many internally developed applications are on end-of-life platforms or hardware, being scoped for moving to the cloud, or are being revisited as part of Business Process Reengineering.  These developers need to get back into recently rewritten code and re-envision.  You have to know how to dig.

As a Software Archaeologist it pays to know not only today’s architecture, but those of the past, especially those that were popular in the organization around the time the code was written. But not limited to the standard architectures of the day. Organizations hire people who come in to try their hand at something new, or bring in some flavor-of-the-day architecture, tool, library. As a result, one-off applications are going to be unearthed. As architectures become archeological layers in the binary geological strata of an organization, so do architects become archaeologists.

I have a deep appreciation for all my colleagues who perform software archaeology on a daily basis.  Those whose jobs are just to maintain those applications that time has forgotten.

I respect the dig.

Monday, May 7, 2012

Thoughts on the Lumia 900

Just to give you a bit of background, I am not a gadget guy.  I love toys, but the new gadgets are often so expensive that I just can't justify the splashy cash outlay.  I tend to wait until adoption is pretty solid and a product has a good foothold in the market to jump.  My first smart phone was, therefore, an iPhone 3G, a few years back.

After my wife's iPhone got stolen, I took a look around at the Android market to see what the fuss was all about.  We switched both OSs and vendors to pick up Droid X models.  These phones started out beautifully, but with more and more apps installed, the battery started failing, and the button-press lag was really getting to me.

At Codemash 2012, I was talking with some Microsoft folks about their Mango phones, and the buzz there was all about this new Lumia 900 that was coming out soon.  I kept my eye on its progress, kept tabs on the launch, and was disappointed that there was a data issue at launch.  I was further discouraged by @BrandonSatrom's tweet that RunKeeper was dropping Windows phone, along with his tweet that it would not be upgradable to the next version of the OS; I had almost completely written it off.

And then AT&T or Microsoft or Nokia went and made it free.

As an apology to everyone for the botched launch, they deferred the already cheep $100 cost and gave it back with the purchase of a new phone.  I know they're betting big on the phone and the OS, and paying to get it out there, but I was surprised by this move.  With a free phone on the line, a flagship model that everyone was betting on to drive Windows 7.5 Mango OS adoption, I decided I could take the plunge.  When I got to the store, I discovered that on top of the free phone deal, AT&T was giving out a free $100 of accessories on top of that, so I picked up some Beats by Dre earbuds (they are $100, so it was a wash).

So enough backstory.  The phone:

One thing you notice right away if you're new to this new Metro interface is that it's responsive.  Fast.  I really like the menuing system, the home and back buttons.  You get one button that always brings you back to the main menu (what I call the home button, but is probably referred to as the "Windows" button, since it's the same icon as the Wintel laptops).  The "back" key, on the lower left, backs you out of applications or backs you up between applications.  Hold and press to switch quickly to any running application (like alt-tab) in Windows.  The metro interface is visually appealing, and the menus flip back and forth very naturally.  The touch screen feels very responsive and natural.

A lot has been said of the live tiles, and while they're kind of neat, I don't feel that it's that major of a selling point.  The iPhone has a little icon that tells you how many email messages you have, the Android's pull down top menu had similar things.  It's a neat idea, but not one that truly makes a difference to me.  That said, having Runkeeper tell me how many miles I've done that week can be a great motivator.

I recently found out by watching the Windows Phone Jumpstart series why all of this feels so natural.  The apps are designed so that while they can have an agent that runs in the background, the architecture has some pretty strict requirements around what that agent can do, how much memory it can eat, etc.  When a user presses that home button, the applications are forced to yield to the main process and get put into a waiting state.  Too long, and the app is tombstoned.

Keeping with the philosophy of making the phone responsive, there is a dedicated camera button for fast access when you need to take pictures.  This means when you whip your camera out, there's not a long wait before the picture can be taken.  If you have kids like I do, those seconds can be crucial.  It's right there when you need it.

So what you end up with on the Windows phone is a super-responsive interface.  And that makes it awesome.  The phone feels good, it feels responsive.  This is in strong contrast to the Droid X I had, which often felt slow and didn't respond at all to button presses.  After you've had a keypress misinterpreted and had work deleted or otherwise messed up, or even you've just had a lot of keypresses that never registered because the background threads were overloading the processor.

One other really positive thing, the battery life is excellent.  See, it's similar design choices that drive usability also help minimize battery drain, so the battery lasts longer.  So not only is your interface responsive, you can use it for a full day.  This is a good thing, because the battery isn't accessible for replacement.  With the Droid X, the battery drained fast, and even after I put in a larger aftermarket battery, the apps sucked the phone dry after a day's work.

This phone is not without its downsides, though.  Apps that are processor-intensive, to my understanding, don't run in the background continuously.  Agents that are processor-intensive, like downloading big files, synching content, can run, but they have to do it a a low-priority when the phone's not being used (on this point, I am very murky, and I would love for someone to tell me whether I'm wrong on this, and even recommend some awesome apps that demonstrate to the contrary).

I believe this to mean that for some applications that would otherwise continue to run in the background, they have to pretend to be running in the background.  Take for example the timer in the Cool Tools application.  If you switch off the application to take a text, if you don't come back to it, the timer won't go off.  Things like this you have to be careful of just when using the phone.

I think it's fundamental issues like this that may have turned some development houses off to development and kept some apps out of the Windows Phone Marketplace.  Notably, Runkeeper, an app that I truly love, doesn't fully function on the Windows phone, and the developer recently dropped the app off the Windows Marketplace altogether.  They recommended Endomondo, but I've not tried that yet.  Certain games (like Words with Friends or Draw Something) are also absent, which is disappointing, since they are so part of what makes a phone social, and that's something that Microsoft has tried hard to bake into the system.

One thing that I did like about the Android was the music player.  It took mp3s from wherever, and getting files to the phone was super easy and they were just recognized.  On the Windows Phone, you will have to download the Zune software, and though I don't find it as odious as iTunes, it's still a locked in platform that makes transfer of files, playlists, and video feel heavy handed and limited.

I mentioned that the dedicated camera button is quick to launch the camera, but the picture color on these pictures is often off (mostly in the orange direction).  I'm not a photographer (my wife is, though), so it's not that big a deal, but for some people this won't be sufficient.

Overall, I really like the Windows environment.  It takes some getting used to, and not all the apps I'd like are there, but I hope the big marketing push from Microsoft and AT&T really helps.  Events and activities like 30 to Launch drive developers to create applications, and that's what they really need right now.  Since I have decided to Speak Up, and because I am a member of the Cult of Do, I have signed up to write an application and be part of the community.  Hope you all consider doing the same.  Of course, you can expect I will write about this if and when I release.

Thursday, April 26, 2012

Speak Up


I was recently listening to a podcast from Penn’s Sunday School, in which Penn Jillette, half of the brilliant and prolific magic duo Penn & Teller, was discussing how he learns with his co-host Michael Goudeau.  I’m going to be paraphrasing, here, so bear with me.  The spirit of what he said was that it’s easiest to learn when you’re outspoken

The point he made was that if you are outspoken and take a position in public, any position at all, people will invariably come out of the woodwork and tell you you’re wrong.  Even if you have the moral or factual high ground, there is someone out there that disagrees with pretty much any point of view.  And on the internet, it's a given that people are just waiting to tell you you're wrong about something.

In listening – honestly listening, not just patiently waiting to argue back – you learn more about your position, and if you’re a humble person, you may even change your opinion in the face of greater facts or more persuasive argument.  Either way, it's a way to guarantee you'll hear an opposing point of view.  You might also get some people arguing on your side and help you understand your own points better.

Note: changing your opinion in the face of more information isn’t flip-flopping.  It can be perceived that way, but no one knows everything.  We all make assumptions that underpin the opinions we hold.  Arguing the same position in the face of better evidence isn’t sticking to your guns, or digging in.  It’s ignorance.  Be willing to have your mind changed when you have a discussion.    Be open to the idea that the opinions you hold today are based on some pretty shaky underpinnings.

I’m a fairly big fan of Scott Hanselman.  He’s an immensely talented polyglot who currently works for Microsoft and is able to put himself publicly out there in a dozen different directions (blogging, twittering, open source projects, conference talks), all while being an active family man.  His talks can be quite inspirational, and recently I watched the one he did on productivity and information overload.  One of the things that he said resonated with me was the need for every developer to have and manage their personal brand, and maintain some kind of public life. 

I’ve heard both sides of this one.  Scott has a good description of Dark Matter developers that describes the other side of the coin pretty well.  Folks that don’t feel the need to have a public persona.  Folks that don’t want to be searchable.  Folks that aren’t worried about being found on Twitter, LinkedIn, or any other social media site.  Folks that, like dark matter, aren’t visible.

The thing about being invisible is that you’re not part of the larger conversation.  You’re living in isolation.  You are not speaking up and getting feedback.  You’re not evolving your opinions.  That’s okay for some folks, I suppose.  And for a long time it's been good enough for me.  

But not anymore.  What really changed for me was attending Codemash this year.  It's a most excellent time, and at that conference, I found myself in the company of professionals who just loved technology, and loved code.  I learned a lot from the sessions, and realized that being part of the community was really important. It made a huge difference to me.  It may be almost responsible for changing me from a dark matter developer into a community contributor.  Well, that and my recent membership in the Cult of Do.

So I'm speaking up.  This blog is part of that.  Part of my commitment to being involved in the ongoing conversation.  Please feel free to leave comments.  Please feel free to find me @kevinpdavis on twitter.  I'll keep posting here as I have new thinks.  More than anything, I'm going to allow this blog to allow folks I don't know to find me and get to know me.

There are other ways to speak up.  Actions speak louder than words, so I'm contributing as much as I can to That Conference.  This may be the first year for this new conference, but I'm positive it's going to be awesome.  Sessions will be announced in less that a week, and I am already excited about the huge variety of talks and topics we're having, including Scott Hanselman himself.

The Cult of Do


I've been having a hard time putting into words a growing feeling I’ve had for a long time. The primary vibe to this feeling is that there is a state of simply existing that many people are

I have often associated this with people who spend all their time in the evenings on the couch watching TV, playing video games, or some other passive entertainment activity, but I have come to believe that it goes deeper than that. I do enjoy entertainment. I love movies, certain TV series, and video games, but I get the impression that for some people, maybe a majority of people, life is just a series of delays preventing them from getting back to the couch.

I also think this type of sedentary attitude toward life is addictive. One great TV series turns into three others that aren’t that great, but are similar enough to one that is to pass the time with until the new season starts.
I have always been impressed by people who seem to have a neverending list of adventures in their lives. These people don’t just exist. They don’t simply wait to be entertained. They create, they try new things, they make, they do.

Some of these people are found in technology.  People like Scott Hanselman, Clark Sell, Brandon Satrom, Rob Conery.  There are people not in technology, like Ze Frank, Ray William Johnson, iJustine.  All these people are personal heroes of mine.  I'm sure there are many more, but these are some of the biggest influencers and motivators for me.  I'm sure they all have their moments where they're not doing something, but man, the influence they have, the inspiration they provide; they really multiply what they do.

I’m not saying that I always find myself in the category of doers, but that I always aspire to be. I find myself believing that having new experiences is the single most important thing you can do, and there’s some evidence to back that up. One of the current theories about why life moves so fast as you get older is that rut you find yourself in doesn’t contain many “firsts” and those “firsts” form deep memories. The secret to feeling as if you’re really living life may quite seriously be to continue to do new things, no matter where you are in life.

As an example, I had an idea for a Halloween costume, but to pull off the costume, I would really need to dye my hair a very odd color. Now, I work in an environment where such a thing would not be acceptable, so my costume would have to be short-lived. I could have gone with a temporary coloring, or settled for the wrong color, but instead, I used a permanent bleach kit and a semi-permanent color to get exactly what I wanted. When it was done, I shaved my head so I could go to work. Bald is better than bright green where I work.

People asked why. Of course they did. It’s kind of a bizarre thing to do. Yes, I could have gone subpar on the coloring, but when it comes right down to it, I wanted to do it, and I wanted to do it right. Because it was doing something new. By going this route, I got to do three new things, have a pretty excellent Halloween costume that was very fun to wear, dye my hair a really odd color, and shave my head down to stubble.

After the fact, I feel this as a transition in my life. An acceptance that I wanted to be part of the “Cult of Do.” I told people that my new motto was “Never miss your opportunity to do something stupid.” What I was really saying was “Never miss your opportunity to do something”.

Do things that other people are afraid to do.

Do things that other people think are stupid, and challenge their whole notion of odd.

Do things.

The Cult of Do. Join me.