Archive

Archive for the ‘Musings’ Category

George Costanza is a Software Architect

May 26th, 2009

George Costanza always wanted to be an architect, but he’s not, and every time he pretends to be one he gets in trouble. Now, if you’ve watched Seinfeld, you also know that George has numerous psychological problems, including: narcissism, habitual lying, low self-esteem, sudden fits of anger, impulsive acts of ill-considered generosity, cheapness, selfishness, living in fantasy.

This begs for the question: how different are the developers that award themselves the title of Software Architect from George? How is it that someone can have a resume that reads developer, developer one week then next month reads architect, architect? Are we so insecure in our livelihood that we need to inflate out roles?  Anyone can claim to be an architect, and being one rarely means the same thing across organizations, doesn’t require certification, and some architects appear to live in ivory towers (tend to live in fantasy worlds like George). Has the title of Software Architect become synonymous to being Full of Baloney? If George didn’t switch careers and become a hand model he probably would have started pretending to be a Software Architect too. :)

Author: Adam Kahtava Categories: Musings Tags:

More Thoughts on Blogging

April 14th, 2009

A couple more factors that have shaped my blog subscriptions.

Content matters, design doesn’t: Subscribers read your blog through RSS readers. Content is key, twitter widgets, plug-ins, and badges are self serving - they matter more to the blogger than their audience. If readers desire a more granular need-to-know-you level of information, then chances are that they already stalking you. If you’re a graphic designer then aesthetics do matter.

Debriefings on local events without a unique personal voice are lame (actually, anything without a personal voice is lame): Most subscribers skim, they seek out information and move on. Well written articles with a unique personal voice continue to draw me in. Information about the number of people who showed up, what you ate, or the decor of the venue are minor details. Seriously, I’ll email you if I’m interested.

Subjectivity is interesting: Reading / writing / learning is about considering alternative views and new opinions, there’s always a degree of subjectivity - nothing is absolute.

Some authors are always right, which is always wrong: A blogger’s blog is their domain, but it’s distasteful when an author defends their posts in an attempt to save face (to appear right all the time). Sharing opinions publicly is about collaboration, and validation, not being right or wrong.

Author: Adam Kahtava Categories: Musings, Personal Tags:

Transparency: How Much is Too Much?

March 7th, 2009

Gary Vaynerchuk offers this piece of advice:

The only way to succeed now is to be completely transparent, everything is exposed, everything you do - Gary Vaynerchuk

For most web / knowledge workers, transparency is key to cultivating an online presence - today, your online presence (your Google search results) is your resume, everything you do online is fair game - your search results (or lack of results) generally reflect whether you're an overall good-person, experienced, or a bit outdated.

A reassessment: last month the faltering economy finally hit home - I was out of work. While search for a new job, I was surprised that most potential employers (nearly all) were looking me up on Google. From Google they'd land on my blog, my Twitter account, flickr, and so on. In one of my interviews I was told of an unfortunate candidate that had questionable content and photos online - this was a deciding factor in his no-hire decision. This had me feeling a little uncomfortable and begged for a reassessment of my level of transparency.

Randy Pausch once said:

I'll [hire] an earnest person over a hip person every day, because hip is short-term, earnest is long term - Randy Pausch

I echo Randy's sentiments. If you're an earnest, authentic, and good natured person, then transparency can be a huge asset. You should be exposing everything you do! Well… maybe not everything, there's little value in knowing what you ate for lunch, or when you're sleeping / awake - practicing some self moderation and making use of your inner monologue is recommended, because excessive transparency can bleed into white noise.

no matter what remember the web is NOT Las Vegas. What happens on the web does NOT stay on the web. I'll bet this guy wishes he'd have remembered that. - Arcanecode, Guard your credibility

With applications like Twitter and Facebook it's easier than ever to be transparent, but do we run the risk of being too transparent? How much is too much?

Author: Adam Kahtava Categories: Interview, Musings, Personal, Twitter Tags:

Working On the Dark Side of the Technology Stack: A .NET Developer Working in the Java Community

February 26th, 2009

Over the past couple months I had the pleasure of working in a Java shop. Up to this point I've spent most of my time in the .NET realm. Working with Java was a great chance to experience the similarities and contrasts between environments, cultures, and web application implementations. Here are a couple of my observations.

Java developers are more knowledgeable than the typical .NET developer. Java developers tend to gravitate towards complexity, Linux, UNIX, open source, and continuous learning. They are less familiar with the wizards and drag-n-drop style development that often characterize .NET development. The Java developers I worked with didn't depend on a single unified IDE (like Visual Studio), instead each developer chose their text editor / environment (Emacs, Eclipse, TextMate, E-TextEditor, and jEdit were all being used on a single project). Each developer was responsible for being productive with their editor; and took responsibility for learning shortcuts, and other performance enhancing techniques. This broad use of editors placed an emphasis on the core command line tools which ensured that developers knew how the application was put together, and cultivated broad application troubleshooting skills within the team.

Unified IDEs (like Visual Studio or Eclipse) do not result in faster development, better developers do. Developers empowered with the ability to choose their development environment / text editors / operating system resulted in more passion and responsibility. Informal friendly rivalry between editor users drove development faster while providing diversity within the work place.  

Programming languages and technology stacks don't matter to experienced software developers. As a developer it's easy to become a fanboy of languages or technologies stacks, but… they don't matter - writing good software within the bounds of our project do. There's no reason to be tied to a specific language or technology stack. Sure, languages fall into a specific category (dynamic, static, classical inherited, prototypical inherited) but programming languages are very similar.

Steve McConnell has been saying this all along:

mastering more than one language is often a watershed in the career of a professional programmer. Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity. - Steve McConnell, Code Complete 2nd Edition

Don’t Write Frameworks For Dummies

February 5th, 2009

Eric Evans offers this piece of advice:

Don’t write frameworks for dummies. [Frameworks designed by organizations] that assume some developers are not smart enough … are likely to fail because they underestimate the difficulty of … development. … This attitude also poisons the relationship between [the developers and framework designer]. - Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software

Evans goes on to make the point that there’s a fine line between designing for dummies, and providing useful encapsulation / abstraction. I found this advice interesting because I had been wrestling with whether the ASP.NET AJAX Framework is for Dummies.

Author: Adam Kahtava Categories: .NET, AJAX, ASP.NET, ASP.NET AJAX, Musings Tags:

Happiness

February 3rd, 2009

Happiness is when what you think, what you say, and what you do are in harmony. - Mohandas Gandhi

Author: Adam Kahtava Categories: Musings, Personal Tags:

New Perspectives For The Year: Life Is Short, Humans Are Dumb, Careers Are Your Responsibility, and We Need More Heretics

January 30th, 2009

These books set the tone for my perspective in this new year.

A Short History of Nearly Everything (Bill Bryson) emphasizes that, as humans we rarely know what we're doing - our existence as a species on this earth is a tiny fraction of time, but we continue to kill ourselves while obliterating other species and our environment. This book was also a great reminder that the greatest innovators and inventors are individuals with a burning passion - not individuals with a laundry list of formal qualifications.

The World Is Flat 3.0: A Brief History of the Twenty-first Century
(Thomas L. Friedman) argues that, we can't accept complacency in our jobs or careers - the world has changed and you'll be left behind. Bureaucracy on every level may save your job today, but this won't be the case in an increasingly global world. As individuals our careers and future are solely our responsibility - we should be versatilitsts, not specialists.

The Age of Heretics: A History of the Radical Thinkers Who Reinvented Corporate Management (Art Kleiner, et el) demonstrate that, most corporations / business / organization don't really know what they're doing (MBA theory is based on the past, and not entirely relevant for the future). Many successful businesses have been run by heretics - people who understood the system around them, then push the limits of these systems to provide more value, innovate, and become successful. Also, that success is almost entirely dependent on people, teams, integrity, honesty, and the relationships that ensue.

The Last Lecture (by Randy Pausch, Jeffrey Zaslow), is a sober reminder that living life to the fullest and living a good life are what really matters. Also, that: “engineering isn't about perfect solutions; it's about doing your best with limited resources” - Randy Pausch.

Cheers to another great year as we continue to gaining broader perspectives, seek out a better quality of life, get out and do more things, meet new people, and cultivate existing relationships. :)

Author: Adam Kahtava Categories: Book, Musings, Personal Tags:

Web Standards are Important and Here’s Why

January 26th, 2009

It feels like Web Standards have always just existed, but they’ve only been around since the 90’s. Today, they’re the default for cross-browser compatible web applications. However; some people still like to talk them down - fingers are pointed at ambiguities within the written specifications, imperfections, and various edge cases between browser implementations (most of which can thankfully be resolved through test suites and browser vendor collaboration). Today, if you’re not embracing Web Standards, then you’re missing a bigger point.

The importance of Web Standards lies in its unified language. Web Standards offer a common paradigm, a starting point, they’re intended to be built upon / extended, and (like everything else we’ve created as a species) they’re not perfect. Web Standards and the Object Paradigm (Object Oriented Design / Object Oriented Programming) share these similarities. Eric Evans describes the value of the Object Paradigm to be its widespread adoption, not its technical superiority:

Today, the object paradigm also has some significant circumstantial advantages deriving from its maturity and widespread adoption … Objects are already understood by a community of thousands of developers, project managers, and all the other specialists involved in project work. - Eric Evans, Domain Driven Design

On a similar thought Bill Bryson describes the dark ages of chemistry - before standardized conventions and the periodic table was formed:

chemists for so long worked in isolation, conventions were slow to emerge. Until well into the second half of the century … Chemists also used a bewildering variety of symbols and abbreviations, often self invented … Despite the occasional tidying-up, chemistry by the second half of the century was in something of a mess … [Mendeleyev] began toying with a way to arrange the elements … thanks to Mendeleyev’s invention [the periodic table], chemistry was now on a firm footing. - Bill Bryson, A Short History of Nearly Everything

Today, Web Standards are understood by a community of thousands of developers, designers, project managers, and most of the other specialists involved in web work. Web Standards are our firm footing. Web Standards aren’t about being perfect, they’re about a common language, about working collectively towards (or at least embracing) a goal. Web Standards are here to stay.

* photo courtesy of Andrew Walsh
Author: Adam Kahtava Categories: Musings, Web Standards Tags:

If You’re Going To Do Something, Do It Right the First Time

January 17th, 2009

During our Domain Driven Design (DDD) book club we had the re-occurring discussion over the fallacies of the one-size-fits-all approach. We discussed how DDD is not the solution to every problem - other approaches like the Smart UI Anti-pattern work great for small one-off projects, teams with limited experience, projects under tight time / financial constraints, etc… However; we also postulated that, if your team has past successes with DDD, then they can be just as productive using DDD while gaining the benefits that DDD can provide.

Our postulation wasn’t earth shattering by any means. Basically we were reiterating that: if you already know how to do it right (or at least righter than the alternatives), then do it right the first time. Developing cross browser compatible web sites using web standards jumps to my mind as another example - a cross browser site is trivial if you’ve had a previous success. This idea extends well beyond software. Experienced professionals like Mike Holmes (from the construction industry) runs his organization (Make it Right) on this very idea.

If you’re going to do something, do it right the first time - Mike Holmes 

Author: Adam Kahtava Categories: DDD, Musings, Personal Tags:

Do We Really Need Personal Data Backup Strategies?

December 29th, 2008

Some people advocate frequent backups - and some go so far as to suggest making use of offsite storage, duplicating their DVD/CD collections, and so on. This fixation on personal data redundancy seems multi-compulsive for an individual or a family (running a company is obviously a different situation).

I personally do not have a data backup plan - aside from online storage like Google Docs, Flickr (for photos and videos), and source control. I have lost years worth of files a number of times, and every time my hard drive comes screeching to a halt, I feel that burning pit of anxiety deep in my stomach, but guess what? It doesn't last long. Seriously, over the years there has never been a case where I lost something that I absolutely needed (again, personal pictures and videos are an exception). After losing data, I find myself pining for a couple recently created / used files, I then recreate the files in a quarter the time it took me to do the first version, then I forget about the heaps of digital baggage I was hording over the years.

Personal data loss might be part of a natural regeneration process - like a forest fire, it makes way for new growth and forces us to focus on the present.

Stop fighting nature, forget about a data backup plan, involuntary random data purging might be good for all of us. Perhaps a digital natural disaster is in order for you. :)

Can you let go of your bits? What is your backup strategy? Why do you backup?

Author: Adam Kahtava Categories: Musings, Software Tags: