Steve Moyer's blog

The Power of Portlets

I've been an advocate, user and sometimes promoter of the Plone CMS (an extensible content management system built on the Zope application server, using the Python scripting language) for quite some time. For me, Plone's most important feature is the ability to create Plone "products", which plug into the CMS. This allows the creation of a web portal that provides standard HTML CMS functions out-of-the-box, but can be extended to include almost any imaginable application. There's also a great versioning system built into Plone products that allows a CMS administrator to update a product right from the user interface. It also doesn't hurt that I chose Python as my main scripting language (sorry Ruby users/lovers/zealots, but Ruby was my dogs name ... I didn't want to get the two confused. Just kidding! I like Python's consistent and minimalistic syntax. Unlike PERL, there's generally only one right way to do it).

With many sites already running on Plone, I still haven't been able to justify using it for any major web application development projects. For these, we need industrial strength scalability, a more structured language and the support of a mature application server. Combined with the availability of a large pool of expert developers, Java and J2EE has always made the most sense. The problem with selecting Java for these projects was the lack of a framework that allowed the easy, modular development of the application. The adoption of JSR-168 Portlets by the Java community and its implementation by several major application server vendors has finally created an environment that promotes modular components on a Java driven web application.

So You're a Programmer, but Should You Be

In my last post, "I went to the dark side and made it back alive", I made a brief reference to Myer's-Brigg's personality typing and the need to understand your strengths and weaknesses. In all honesty, I wouldn't have had a clue with regards to personality types if it wasn't for my wife's expertise in this area. While she specializes in child and youth psychology, she's contributed to a lot of what I understand about myself as well as how I view others. In fact, she'll read this before you will.

The basis of this personality testing is that there are four pairs of traits we each have. You get to pick one (that's wishful thinking) of each pair and that's how you'll tend to behave. This results in sixteen distinct personality types, each of which has a few traits in common with others (say those that share three of the four) and some traits that are particular to just that group. The title of this post refers to programmers, so I'll focus on the traits that make good programmers (or the lack of the traits that cause bad programmers). One other facet of this typology is that two of the traits will tend to group the types. Keirsey calls the four major groupings the "Temperments" and the 16 possible combinations the "Role Variants".

I went to the dark side and made it back alive

As any regular Dilbert reader will know, the dark side I refer to in the title of this post is "management". It's really easy for a good technical person to be promoted into management and, according to The Peter Principle, rise to their level of incompetence. My career (thus far) is a perfect example:

  • Job(-3)
    • Technician
    • Manager of technicians
  • Job(-2)
    • Engineer
    • Engineering Manager
  • Job(-1)
    • Contract programmer
    • Programmer
    • Embedded Systems Engineerr
    • Engineering Manager
    • Director of Engineering
    • CTO
    • Director of a Business unit
  • Job(0) Current job
    • Staff Engineer
    • Manager of Systems Engineering
    • Principle Architect

Notice anything different about my current job? (Bueller, Bueller, Bueller) It wasn't that I didn't like management (I knew that the first time I had more than 5 employees) ... it's that I figured out what to do about it!

My Week without Internet Access

As I mentioned in my first post, I recently spent 8 days without an Internet connection at home. Now I find that Bob Walsh has stolen a bit of my thunder with his last two posts ("80/20 Your information feeds" and "Signs of Plague"), but there's a broader implication to his last post; Where does all my time go? My week without Internet access, and the increased productivity on my mISV product forced me to, once again, revisit my old friend "the time study" (everybody groan here).

Everytime I mention this technique to people, they tell me "I don't have time to collect metrics on how I use my time". My contention is that you don't have time not to. If you spend an extra 15 minutes each day, it generally won't take long to realize an ROI (Return On Investment - Time is an asset just like money, only scarcer). If you're thinking about the full-blown type of time study pursued by large multinational corporations or the government (and those have their places as well), I'd have to agree. There are however, two methods that will serve the small organization or mISV well. The first is simply a mental exercise and the second is a quick-and-dirty paper study.

A cry from a voice in the wilderness ...

My name is Steve (say "Hi Steve") and I'm a recovering manager. There I said it, and everyone knows the first step to recovery is recognizing you have a problem.

In any case (and for better or worse), I've been invited to post for the next three months, so I'd like to give you a little background. Bob Walsh, in his introduction a few weeks ago, stated that it was odd writing about yourself, but in my case, I'm more concerned that it's the most boring topic I could talk about. Here goes!