Time Flies

Time FliesMy wife and I married in 1983 and someone gave us a time flies clock similar to the one pictured here. Little did I know in my early twenties back then that time really does fly by.

My latest post previous to this one is from June 9, 2013. It’s been a blur between then and now. I’ve been consumed with one of the most challenging projects to date. Merging WebDAV, collaboration via workflows, and configuration management of documents is not for the timid. It’s been a long hard journey and here I am at the end of 2014 already.

I bought my first home computer in 1983 and delved into my 8 page booklet that had sample programs written in basic. Fortunately for me, the sample code obviously had not been proofed by a programmer and had syntax errors. I had to figure out why the program wouldn’t run if I wanted to do anything with my investment. Thus my journey into self-taught programming began. First as a hobby, then as a paying career.

Since the 1980’s were the pre-Internet and pre-Google days, I had to learn how to program from, gasp, magazines and books! By the way, they also had typos that had to be figured out. Today I don’t know how I would survive without Google and yes, code on the Internet, mostly forums, has typos also. You know the type of forum post I’m talking about, “I haven’t tested this code, but it should go something like….” Well, why did you waste your time on this post then?

Dr Dobbs Journal 1989It was during those early years that Dr. Dobb’s magazine was one of my sources of learning and inspiration. So, it was sad to read the farewell post from Andrew Binstock saying that Dr. Dobb’s would “sunset” at the end of this year after a 38 year run. I’ve been following them for 31 of those 38 years. So, it’s like losing a friend and a reminder of how times are changing.

I no longer have shelfs of past Dr. Dobb’s issues in my library, among many other magazines and books that helped me to stay relevant in an ever changing career and industry. But, their influence and the influence of everyone who contributed lives on in what stuck with me. I’ve tried a few times to complete a college degree in my field, but I always found the classes so disappointing compared to learning from some of the masters in the field via the printed media, and now online media. It just seemed like a waste of time and money when I had plenty of people wanting to offer me jobs.

In the early days, I only needed one computer programming language. Today I need several for building multi-tier web based business systems. I’m constantly having to switch my brain between multiple syntaxes and it’s hard to remember them all. But, I can type any programming topic in a search engine like Google and instantly access multiple approaches to solving almost any problem. I can choose to implement them as is, or modify them to fit my need. With the advent and proliferation of blogs, it’s tough for traditional magazine formats to keep pace and give users an incentive to keep coming back. We’re all numbed by banner ads and click advertising. Thus new ways of monetizing content have to be invented. As Andrew points out in his post, even though Dr. Dobb’s is facing its sunset, it has proven that there is still a demand for content for software developers.

I have noticed the recent proliferation of paid video media for programmers. It’s as if reading has become too laborious for both the author and the consumer. My attention span usually wanes watching videos longer than five minutes. I prefer to skim through material and focus in on a specific aspect of the topic. Current video formats don’t allow me to do that. I can see the need for tagged instructional video that allows me to skip to video segments on specific tags. Or at least a printed script along with the video with time markers so you can skip to that segment.

Time will continue to fly by and many more sunsets will occur as the software development community continues to evolve how we construct, share, aggregate, and market content meaningful to our industries because we still need to learn from one another.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Passion and Desire

Will Code For FoodI recently read a Fast Company aside by Mark Wilson where he shares Thomas Keller’s explanation of the difference between Passion and Desire. Thomas Keller is world renowned for his restaurant “The French Laundry” that has been called the best restaurant in the world. They take reservations up to two months in advance and if you wish to book the private dining room, you may have to wait a year. I have stood outside the restaurant and even bought delicious baked goods from his Bouchon Bakery next door.

Mr. Keller’s explanation of the difference between passion and desire hit me at time I needed it most. I have accepted executive positions at multiple companies only to voluntarily revert back to a technology centric role. I can get passionate about being an executive, but my desire is with technology. Being able to innovate and create has always been core to who I am. I have yet to work in an executive position that has given me that capability. I have developed the theory over my short career that there are two types of people; those that create and those that manage what was created. I do okay at managing what was created, but it’s not where my desire lies. I would much rather create and hand it off to be managed, than vice versa. I read about a rare few architects whose company essentially provides them a room, a pizza delivery service, and the freedom to create. I get jealous every time I read about them.

Earlier in my career the project I was working on was lucky enough to be invited into a Brigadier General’s inner circle to support one of his initiatives. As the Software Architect, my task was to learn more about what I could do to help improve support to America’s war fighters. I believe he coined the phrase, “parts = retention.” I have never forgotten it. The premise is that if a warfighter, or anyone for that matter, does not have the parts they need to do their job, then they lose their desire and passion for their work. This leads them to exit the military and a valuable career is cut short.

I believe the same is true for any career. The executive positions I have held just didn’t have all the parts that I need to feel like I have made a difference at the end of the day. I could be passionate about them, at first. But, as time wore on, my passion diminished and I returned to what I desired. That desire is using my creativity and other talents to build products that people want. As Thomas Keller so eloquently points out, “if you have constant unwavering desire to be a cook, then you’ll be a great cook.” Software is my passion and my desire. I love the magic of making software that excites people. Software that sells itself. I know I’m not alone. A recent survey by the Code Project showed that nearly 30% of 1,430 responses selected “design and architecture” as the phase of software development they prefer the most. Only 1% selected software maintenance.

Software has to be maintained for sure, but your most creative people are not going to be happy there. If you want to hold on to them, you need to keep finding ways to offer outlets for their creative desires. I have found software maintenance is a great entry level position where you can establish who has creative potential and who merely wants to maintain code. You will need both.

Do I miss being an executive? Sometimes. Do I get tired of building products? Never.

VN:F [1.9.22_1171]
Rating: 8.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Something I Can Get Excited About

I am on the look out for enterprise silver bullets as a newly anointed CTO. Today’s news by Canonical about the pending release of their Ubuntu Linux mobile OS is huge to me.

I now have a Dell MS Windows 7 laptop, MacBook Pro, iPad 3, Ubuntu Linux desktop & server, and Droid Maxx phone. I personally use them all for different reasons, but grow frustrated at trying to share data and integrated them The geek in me likes toys, but I cannot suggest that we operate our corporate enterprise that way. The cost of supporting multiple platforms both in training IT staff and end users as well as licensing is the main driver.

This announcement by Canonical is very promising. It will be a while before we will see the results. But, if I can standardize on Ubuntu as the core of our IT infrastructure and mobile technology, I would go for it. As a manager of an overhead expense cost center, I am all about doing more with less or force multiplication. How can I increase my device to administrator ratio?

We have our own private cloud in our enterprise and we want to be a greener data center. We already have solar augmentation, now we just have to have smaller footprint. An Ubuntu enterprise might be the enabler I’m looking for.

Sure, Windows and MS Office will be with us in the enterprise for a long time. But, with virtualization technology today, it doesn’t have to be the host OS. Integration is the key challenge with both cloud and private networks. If users can run both, it gives a more graceful migration path to a common look and feel from desktop to mobile while cutting costs. Hopefully the developer community will jump on board. Simplicity is what enterprises are looking for.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Bonus Day

I received my end-of year bonus from the CEO today. He is a man with a very generous spirit and wants to treat everyone fairly. He also hates conflict. I knew I was getting the same bonus as every full-time employee who had worked the full year. Last year I received a small bonus even though I had only been at work a little over a month. I am grateful for both.

In my prior job I was the business manager and had the rare opportunity to be there during 250% growth that eventually lead to a small business of the year award after I left. The company was four times larger than the one I work for now. I was the right hand person to the CEO. I received many accolades for my work. Yet, I earned far less in bonuses than I have in one year in my present job.

My bonus amount used to matter a lot to me. It served as a barometer of my value to the company and recognition for work performed. The problem was that it was never enough. I always thought I deserved more. Even today, a part of me wanted more. But that is just my greedy side.

Since my return, the bonus program is a frequent topic of discussion. Many people want to change the system to be based on some performance measurement system. It seems like many of the champions of this are ones who believe they deserve more. I now know from personal experience that no matter what the program is, it will never be enough. If you think you have done more to help the company and thus are more deserving in your personal rating scale, then it will never be enough. Therefore, nobody is completely happy. They are happy enough to deposit the check, like I was. But, there is that voice in the back of their head telling them that they deserved more.

I have managed to mostly wean myself from this validation system. It took a while and I learned a lot about myself in the process. It’s not easy to be humble. But, through humility there is freedom. When you are not constantly resentful of your last bonus amount, you have more time available to think and innovate.

The benefit of paying everyone the same amount is that everyone knows and you don’t have to deal with days and weeks of complaints that the wrong person got more than the other. The down side is that some leave for greener looking grass.

Merriam-Webster defines bonus as, “money or an equivalent given in addition to an employee’s usual compensation.” They key word is given, not guaranteed, nor due according to your performance. Somewhere along the way you learn to depend on it in more ways than one. When it becomes the key to your job satisfaction, then maybe you’re measuring yourself in an insatiable manner that consumes your thoughts and your ability to truly perform to your full potential.

This year I enjoyed the freedom of just being happy with what I received and not carry around the amount as a verdict on me or my employer. Happiness comes from more than a bonus.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

No I Have Not Died


They say time flies when you are having fun. It’s hard to believe my last blog post was over a year ago. A lot has happened in the past year. IT folks tend to get busy in waves. My wave hit this year. I took on a special project for a customer designing an application and fielding it in two months. Using rapid prototyping with ASP.NET, C#, and SQL Server I met their needs through 18 iterations collecting feedback each time. The app was recognized by senior leaders as a best practice and a model for leaning forward to innovate.

Unfortunately in the defense contracting industry you have to be mobile. Your employment status can change at the stroke of a keyboard. Mine did. What I thought was 5 years of contract security was undercut by a contact consolidation initiative designed to save you the tax payer money. There was no place for me to land at that company when they lost the work.

Now I am back in old stomping grounds at Total Quality Systems, a former employer. It’s been an interesting journey here. It has been hard for those that knew me before to understand that I have a lot bigger toolbox due to my travels. They remember me for who I was. At times it is frustrating because I know what I can do, but they don’t fully know yet.

I just finished a four month intensive reverse engineering project whose code vintage is 2000 timeframe. Two previous contractors who wrote the code have been long gone. Sustainment has been unfunded for close to two years. I was crazy enough to take it on, make changes in business rules and UI, train, and field the system in the four months at a firm fixed price. We finished it and made a decent profit! My next magic trick is to completely rewrite the app in six months to be WEBDAV centric. The users are already beating down the door wanting the proposed design.

This is what I love about this job. There is never a dull moment and there is always the challenge to retool ourselves to stay relevant in our industry and employment ecosystem. I interviewed a person with 17 years of experience, but he was one dimensional. He’d been doing the same programming for the same company all that time and they ran out of work for him. We needed multidimensional in our small business. I felt sorry for him.

I’ve been both cursed and blessed that my career has gone from programming to the corporate director’s office and back to software architecture. It looks like I’ll be back to CXO level soon. The new position is something that I look at with mixed emotions. A friend shoes horses on the side and put himself through engineering school that way. His father taught him that as long as he could shoe horses he wouldn’t go hungry. I feel that way about software. As long as I can still build it, I won’t go hungry. CXOs are a dime a dozen in my view. But I also have to face the reality of age discrimination in my line of work. Innovation is often associated with youth and I view that as misguided. You should be leveraging mentoring and harnessing the horsepower of youth. But, try and bring that up in a job interview.

I am being asked to use my leadership and vision skills to help the company succeed and that requires a different skill set than just banging out code on the keyboard. But, I have to acknowledge that I have the knowledge and experience necessary. Since it is a small company the CXO title will be a part time job and conceptually I will be able to keep my head in some projects too. We’ll see what reality brings! Just keep re-tooling!

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

SEO Optimization Help

For those of you who are fighting the battle of keeping up on SEO optimization tips, or maybe you are just getting started, here is a handy web site – http://www.seoworkers.com/ I have found that will scan your URL and give you tips on how to optimize.  The feature I like is that they also include videos from Google experts telling you how to tweak that aspect of your page. Check it out and get ranked higher!

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Who Are You Calling A Clown?

I ran across this post via the Code Project feed.  If you want to stir up debate, define your personal criteria as to whether someone is a clown or a coder.  I’ve been both.  I think at some point in my career, I may have touched on just about ever clown the author defines.  There was a time when I was working 16 hour days nearly 7 days a week for weeks straight building 4 software products simultaneously and single handedly.  At that point, I think I turned into angry clown.  I know the Senior Managers at corporate HQ turned into angry clowns when they saw my overtime amounts on my time card. (KA-CHING!)

Over my 20 year career I have been in some awful interviews and been on the other side of the table watching train wrecks happen.  I have found that coders are the most difficult to interview.  You can ferret out if a server administrator knows their stuff.  But, you don’t truly know how a coder’s mind works until you get code produced.  Peer reviews can be interesting when personalities and philosophies collide.

I’ve had to clean up ugly code left behind by others.  Coding is an evolution of learning and applying lessons learned from previous projects.  Being the perfectionist that I am, I know I would like to re-write code I wrote 11 years ago.  But you know what?  That code is still running, largely untouched, eleven years later and still delivering value to the user community.  In the end that is what business is all about.  Delivering that end value.  It may not be heaven behind the scenes, like clowns in a clown car, but it is working.  Besides, isn’t that what version 2.0 is for?  To give us that chance to get everthing right this time.  At least, that is our quest and our pitch to management.  Sometimes we do get it right!

VN:F [1.9.22_1171]
Rating: 6.5/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

You’re System Might Be Neglected If…

I had an amazing experience today.  I realized just how neglected the system I inherited was while migrating users from an old out of warranty server to a new VM based server.  Here are some indicators you might be out of date:

  1. Your server is out of warranty.
  2. Your server software is version 7 and hasn’t had a patch since 2009 while the currently supported version is 8.5.2.
  3. You don’t know how many actual users you really have.
  4. A Point of Contact listed in the software screen users see has been dead for several years (no joke – it’s true).
  5. One of your users is using a client that is version 5.x and the current version is 8.5.2.
  6. Most of your users have not changed their password in seven years or more.
  7. A user complained about something not working to “Somebody” two years ago and has been living with it ever since.  You have it fixed in less than 30 minutes.
  8. There is no funding identified to support the system.

Those are just some tips I thought I would pass along.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Windows Server 2008 R2 Standard vs. Web Edition

If you are debating between the Windows 2008 R2 standard and web editions, you need to take a look at what you need to function.  A while back I was able to get a free copy of Windows 2008 R2 Web Edition through the WebsiteSpark web site.  It’s been sitting around waiting for me to get a machine to run it on.  I recently picked up a used Dell Quad Core and threw the software on it.  I then installed VMWare server so that I could run Ubuntu Linux on it.  What I found is that the Web Edition does not include the network routing services role necessary for VMWare to operate, as well as a bunch of other roles.  However Standard Edition does.

At first I was ticked, but I put my Information Assurance hat on and I saw the logic.  The web server is one of the most exposed points of entry for threats.  Thus it makes sense to make the web server as dumb as possible.  It sucks however if you want to multi-task the server.  So, I’m reformatting the machine right now with Ubuntu server and will run Win 2K8 Web in a VM.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

DoD Software Development Squeezes Out Small Businesses

The Department of Defense has been consolidating it’s IT resources for some years now.  It has been a slow, painful contraction to consolidate computing resources.  But, it is a necessary step.  Gone are the wild west days of lots of organizations building their own local “county options” and throwing them on to the network.  I used to work in an area where a government worker had to log into over 20 systems before ordering a single part.  A study revealed that this worker lost 1.5 hours or productivity a day simply logging in and out.  Now services are increasingly being consolidated to central data processing centers. Remember the old main frame days of spoke and wheel architectures?

The bad part is that when these services are consolidated, the contracted services become larger and larger.  Thus it is next to impossible for a small business to break in or compete.  There have been several articles and studies documenting that innovation comes from small business, not large ones.  With a large one, you often get a lumbering bureaucracy that often limits innovation.  The game then becomes to maintain the status quo and management becomes purely political.  The large firms send out their hired lobbyists and well connected folks to drum up tens of millions of dollars in projects.

Read More

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)