Posts

Showing posts from June, 2009

Leadership styles

As a person who ends up being a de-facto leader on any team I'm on, I often am stuck trying to subtly nudge the "real" leaders into thinking about the act of leadership. I have the advantage in this regard in that I've participated in hundreds of hours of leadership training over the years and have had a lot of experience working with teams to get things going. A quick primer that I think is very instructive can be found here . So if you're a leader and your team is doing CRAZY things and they aren't happy and you aren't happy and you aren't getting the results for the organization that you require.... My first statement is "yes it's YOUR fault" My second statement is read this again My third statement is: adjust your leadership style to fit the situation. Do NOT treat 30 year old software developers like children, because they will begin to act like them. This should be no surprise. In addition, make sure you attend any leadership

Sharpening the saw

I follow coding horror and recent read an interesting piece titled " sharpening the saw ". This resonated with me and I felt compelled to expound on the concept a little. In brief, sharpening the saw refers to the notion that working harder with a dull saw is not as effective as sharpening the saw, then cutting the wood. Obviously this is a generalization, but it alludes to a problem I see all the time and I honestly like the metaphor. Leaders in software development organizations need to build an understanding about the importance of keeping their developers on the cutting edge. A developer using vi or notepad to write software is wasting quite a few brain cells on things that a modern IDE can do. In addition, a developer who only uses COBOL and has done so for 20 years is having their brain turned into a solid rock that will eventually be unable to produce anything helpful (note to COBOL programmers, this applies to java, fortran, ANY development language/tool) I know,

The ulitmate software development tool

I find it amazing that I work for a company that sells thousands of different hand tools, but we still seem to thing there is "one ultimate software development tool" and waste time trying to force professional developers to use a single tool to develop software. Why is this? What is it about developing software that makes people think you really only need one tool to do it? Why is it obvious to everyone EXCEPT the software developers that Rational Application Developer is the "ultimate tool" for the job and is all anyone would ever need? I'm to the point where I want to suggest a solution used by many auto repair shops.... Give all the developers an annual stipend to purchase the tools they think they want to use and be done with trying to figure out and enforce the "standard" tool.

The journey is the destination

The other day someone was asking me a bunch of questions and they where getting exasperated because they didn't know ANYTHING about what I was talking about. They asked something like: What's JSON? HTTP? Grails? Bytecode? JVM? How do I know how to find out what I need to know? How do YOU know all this stuff? Did you document any of this? What class should I take? I responded with a link to http://google.com and http://www.wikipedia.org (which, BTW was not well received). The fact of the matter is, I know a lot of people who think they really want to know things, but they have poor learning skills. They are of the mindset that they can learn something and then be done learning it. In today's world more than ever this is really just not practical. For example, if you knew everything there was to know about web development two years ago and stopped there, by most measures you are pretty out of date (I'd say you were a dinosaur, but I'm an extremest). The rate

Lazy Man's web hosting

I recently took over as the "IT Guy" for a local organization I volunteer for. As a guy who spends a lot of time working on web development, I seemed to be a good fit for the job. The website was basically a bunch of static files with a little bit of javascripty rollovers thrown in for good measure. My mandate was to try and bring the site into the 21st century with things like: blogging, email notification, user forums, group calendar, and other features that would make things more interactive. At first I figured I'd just write some stuff myself, but then I started looking around. Twitter (microblog + sms notification), Google (calendar, online word processing), and Facebook (just about everything else) provide a bunch of these things for free. When put together, these give a lot of functionality for little more than the time to set up a few accounts and link the various pages together. Now the site is MUCH more interactive, and we actually have no real "code&q

Cultural regression

I work on a development team that for the last year or so was making a lot of progress toward being effective at #1 delivering useful software, but #2 responding to stimulus with the appropriate level of response. At this point, however, we've fully regressed to our previous state of overreacting to very small stimuli. A small configuration change to a server and we act as if we've discovered the Russians (no offense to anyone from there) have launched their entire nuclear arsenal at our office building. Any small hiccup results in finger pointing, conference calls, and multiple teams running off to the excuse factory to build something to explain why something went wrong. Heaven help the poor sap who tries to actually fix or avoid the problem, he will be beaten down with a litany of things that SOUND really bad and scary, but in fact have little or no real impact. I believe this is happening because folks are fearful of their jobs and want to give the impression that they a

Agile Enterprise Architecture

I've been reading with great interest many things about enterprise architecture. It seems that in our organisation, traditionally at least, there is little thought about the structure of the business as it relates to information management. While it appears there has been great thought in restructuring the organisation around strategic objectives, we seem to always forget that the information needed to obtain these objectives is critically important and the technology teams to manage that information should be structured and aligned in the same or similar way. This is really interesting to me because it seems to reflect a profound ignorance of the value that a technology organisation can provide. http://www.agilearchitect.org/agile/index.asp http://www.agilearchitect.org/agile/principles.htm

Top Down Management

Simply doing what the boss says even though you know it's stupid is irresponsible. I know many people who do a lot of stupid stuff at work and am constantly amazed at how often completely competent and intelligent people will do insane things just because the boss said so. It probably shouldn't surprise me, after all, history is replete with examples where a charismatic leader inspired millions of people to do really, REALLY bad things. It just stuns me that, in a corporate environment, people will wander off and do really stupid things without even letting the boss know it's stupid. I think this is, in part, a problem in technology organizations because it is not necessarily a meritocracy, but the the people "in the trenches" like to think that it is. After all, how inspired are you going to be if, after 23 years on the job, you're at the top technical position in the company, and the are still 5 layers of managers between you and the top. It's as if

Right to privacy

First off, I am not a lawyer (IANAL) so this is not legal advice and hell, it might even be wrong. I recently got involved (read opened my big mouth) in a discussion about RFID in the context of providing extra security for individual financial transactions. A point was made that the security of this scheme is suspect because, after all, they make wallets that block RFID scanners. My response was that I wasn't sure this was a real threat to security or privacy, or a perceived one. I was attempting to illustrate these "RFID proof" wallets could likely be a gimmick by some huckster playing up the fears of the populace. The response I got quoted the fourth amendment and I promptly got a little confused. I'm always a little uneasy when people mistakenly think the constitution grants them some explicit right to privacy. From my limited perspective, the point of the constitution is to limit the powers of government over the people, not to dictate what an individual ca

The Human Factor

Jeff Atwood in Coding Horror mentions in his blog that: The key word here is "fun". When you interact with other people online .. * sending an email to a mailing list * posting on a discussion forum * chatting on IRC * revising a Wiki entry * entering a blog comment .. like it or not, you're participating in the world's largest MMORPG. Lurking is always free. Those that choose to go beyond lurking, to add some tiny bit of content to the web, do it because they find it enjoyable. On some level, they're having fun Enjoyability of a user experience, even for a back office application is important. More than that, most people do what they do because at some level they enjoy it. If you structure your applications internally so that "doing the best thing for the business" increases the level of enjoyment at work, you're on the road to success. Obviously, this can be taken to an extreme, but let's take a recent example. We recent