Who is Kenneth G. Miller?
In Quotes
I started writting software around 9 years of age. It sounds impressive – but the truth of it is that my first program was simply:
PRINT Ken is cool.
REM Apparently, humility was not my strongest character attribute as a child.
To my dismay, this program succeeded only in producing a syntax error. To make things worse, I didn’t even know what “syntax” meant! I spent countless hours reading and re-reading the BASIC manual that came with my Pre-Computer 2000, desperately searching for a solution. I was hooked the moment I realized that my program would not work because I neglected to surround my declaration of awesomeness with quotes. How was I supposed to know that the quotes counted? I barely knew what quotes were!
In that instant I had my first encounter with the Devil, hidden in the details.
I’ve spent years hunting him down ever since. And I still hate syntax errors.
On Development
I find the problems then work toward a solution, rather than creating solutions then looking for problems. I’ve found that developing solutions rather than features lends clarity and strong direction to every project.
I believe that a user’s experience with a piece of software is just as important as the underlying code. Design is not separate from functionality, nor functionality from design.
Elegance and clarity are foremost in every code and design decision I make. I believe in continual refinement, and am always looking for a better way. Details are, however, meant to be worked out – not to get hung up on.
I create software with a strong focus on OOP and common design patterns. I believe in flexible architectures more than technical specs. I see agile, iterative development processes as a solution to change management. I have found change to be the most constant thing in all of software development – and the most expensive.
I’m agnostic when it comes to technological platforms – if you are in this business long enough you have a chance to see practical applications of all of them. I believe in choosing the best technological solution for a given problem – not based on any religious devotion to the OneTrueWay ™. That said, I do tend to gravitate toward the .NET and Ruby platforms for most development tasks.
I develop on a Apple MacBook, running Microsoft Windows. Perhaps that says something about me.
On Leadership
I’ve always viewed leadership as an opportunity to serve as a platform on which the productivity of others can thrive, not as an opportunity to bark orders from on high. I offer myself as paint and canvas for co-workers to use in expressing the best of their skill and creativity. I serve as the voice at the end of the line, and as the ultimate editor. I strive to gain a deep understanding of the capabilities of every individual on my team, and deploy resources accordingly. In this way I can confidently acknowledge progress and achievement just as well as I can identify work as not being an individual’s best. I believe in shared responsibility amongst a team for both successes and failures, and see failure as an opportunity for motivated learning. Respect of leadership is earned through proven results, not implied or blindly deserved.
I'm a strong proponent of team culture building. I’ve seen team culture make and break entire projects. Building a culture around positive success can significantly increase the day-to-day productivity of a team by fostering friendly competition. Such a culture can also save a team’s moral when the requirements and deadlines are tough. Culture building is more an art than a science – but it starts with truly getting to know the people on your team and identifying the common threads amongst their personalities. Add a dose of humor, solid leadership that no one resents, and a willingness to celebrate even the smallest of successes - *poof* - positive success-driven culture.
Of course, you always have those who will resent having to do their job no matter the approach. In those cases I opt move them off the team – in whatever manner necessary. People matter - just as creative, hard-working, motivated individuals contribute tremendously to a project so to do resentful, unmotivated individuals undermine a team’s success and dramatically lower productivity. No one has time for inflexible malcontents, and I believe it is best to be rid of them in the swiftest manner possible.
I believe in solutions, not blame. Once you have a team with skilled and motivated individuals there is simply no place for the blame game. Software is a complex, constantly changing discipline – and I have seen even the best make egregious errors. With a quick and simple code-review process in place, the responsibility for errors falls on the team as a whole – as does the resolution and opportunity for improvement.
All in all, I’m a solutions driven, fun-loving leader who creates a positive, productive, and entertaining work environment by putting together and fostering teams which have a strong culture of self motivation and mutual respect. I create these teams through strong personal leadership, a sense of humor, a desire for continual celebration, a deep understanding of individual skill sets and personality, and a complete lack of moral dilemma when it comes to ridding my team of individuals who don’t work.
I’ve successfully applied these principles to an appropriate extent both in employment and under contract. I believe that "Team" is an acknowledgement of circumstances, not a contractual term.
I Have Spare Time?
My insatiable curiosity is perhaps both my greatest strength and greatest weakness. I have this unrelenting fascination with the natural and constructed world, which has driven me into far too many expensive and time-consuming hobbies.
Of course I read quite a bit – both fiction and non-fiction – recently I’ve been thumbing material on Economics, UI design, and Artificial Intelligence algorithms. I’m interested in predictive statistical analysis, collaborative filtering, clustering algorithms, adaptive resonance theory, latent semantic analysis, etc.. I play the piano and guitar – and am a bit of an audiophile. I dabble in electronics, and have built a variety of analog audio amplifiers. I enjoy the study of geology, hiking, gem hunting, and gold mining. I’m interested in wood-working, carpentry, upholstery, sewing, welding, and metallurgy. I’ve become increasingly interested in chemistry as it applies to cosmetics, plastics, and chemical leeching of metal ores. I’ve been known to draw and paint. I’m interested in the design of things. I dig architecture. I like to cook. I’ve pretended to garden. I published a book of poetry in 2004. I’ve taken flying lessons and am hoping to get my private pilot’s license in 2009.
Suffice to say I have a broad range of intrests and hobbies.
In Other Words
Here are some nice things people have to say about me:
“Kenneth thinks and acts like a business partner who also happens to be a software superstar. He develops great insight into your business model so he can develop great software. If I had the budget for only one developer, Kenneth is the one I'd choose.”
Steve Nilan, CEO Fundability, hired Kenneth as a Software Architect and Developer in 2007
“Working with Kenneth has been a distinct pleasure. His broad range of knowledge, hands-on experience, confidence, and overall ability to precisely deliver complex software will leave a lasting impression. Technical genius aside, Kenneth's personality makes him a pleasure to work with.”
Jason Smith, Consultant, Sulare Corporation worked directly with Kenneth at DirectApps
“I have worked with Kenneth in several capacities, and he does well at everything. He understands a wide variety of technology and abstract principles, and how to apply these to solve any challenge. He is a dedicated worker who will get the job done. It has been a pleasure working with him, and I highly recommend him to any employer.”
Shane Walters, Software Engineer, DirectApps worked directly with Kenneth at DirectApps