Sunday, November 06, 2005

No Fluff Just Stuff - Dallas

Just finished attending the No Fluff Just Stuff conference in Dallas. Have a mixture of feeling really good that most of the content and "cutting edge" wasn't that new to me, but am surprised at just how much is going on right now. Seems like we were in cruisecontrol mode for the past decade rehashing web patterns and in the past 18months have decided to turn on the gas to leap things forward.

Though I am still not bought off on Rails for the scope and complexity of applications I currently support, I do believe it is the right answer for most small-mid size web apps. In fact, we are about to build a customer facing monitoring system for our large service based application. The redundancy, scalability and complexity of processes are much different from the main system and I would love to really put Rails through its paces - especially the much lauded 5-15 times speed of development increases.

The best, and somewhat most unfortunate part of the show, was the Spring WebFlow presentation. The Spring team is definitely leading the pack for innovation and solid design right now. The process based UI framework is very intriguing. AT least enough for it to make my list of things to dive into over the next couple of weeks. Bad news is I am an avowed WebWork fan and user and this may be a path that the two cannot meet up on - even though the WebFlow implementation seems more straightforward and natural to the WebWork styles.

Been a long time, but great to finally get back to training and attending conferences. Also nice to be jazzed up on both the direct of Java on the Web and Rails. Lots of stuff to play with and hopefully lots of stuff to build compelling solid apps with.

Jira to solve all world problems

While attending a tech conference a friend and I found the path to fixing all the worlds issues. Our problem is not that the issues are overly complex, or that base cultural and philosophical differences make some issue almost unsolvable (or at least require generations to change). The core reason we have been unable to solve the many genocides, hunger issues, terrorism, etc. is that we have not been tracking them appropriately.

If we could just get them all in Jira and prioritize them I am sure we can lick all of the stuff. In fact if we apply some agile thoughts and iterate quickly I am sure we will see some forward progress quickly and the citizens of the world will be better able to give us feedback on our progress\direction.

Friday, October 07, 2005

Choosing the "Right" technology

About a year ago our company switched from a homegrown web model to WebWork. Through that time we have tweaked patterns used throughout the application. At this point we still do not feel as though we know and understand WebWork and XWork to their full extent. One of the core issues we have found is we chase technology too often and never get comfortable with what we have. No one likes to fall behind the curve but when producing a software product it is also very costly to change developer patterns continuously.

We have now started down the route of an external Apps Arch review and Spring has reared its head. We have been fans f Spring but have held off the bandwagon largely because it is more change. We do use it in some very targeted services, built by a specialist team, but have not introduced it into our core application.

Being a technical person I struggle with choosing the best technology as opposed to what is right given current resources, past problems and business goals. The easy answer people give is to simply bring it in slowly on new functionality. While that is good once doing that over and over gives you a "quilted" application. Depending on what square you are working on you have to figure out what you are doing. Webwork or homegrown, today's design patterns or yesterdays, spring or not.

Though choice is good - it can also be a real pain in the ass.

Sunday, October 02, 2005

Groupware, Information Transparency & Team Building

The development team I work with is divided between two states. We make a valiant effort at times to feel like one team but we rarely achieve that well oiled machine feel. A couple of years ago we tried to cobble together an information sharing network (maven generated site with added forum, blog\announcement page and standards documentation). This got us absolutely nowhere as those most familiar with information and use these sites in the open-source world were our only users while those we were trying to help didn't ever really participate. We always fell back to email and IM with people missing out on all the real information sharing in the hallways.

We are charging back into this world once again. I hope this isn't another of our build the tools and people will come exercises. After doing some research we have decided to go with Drupal, a full CMS implementation. Our goal is that involving others beyond the engineers will help integrate this into our daily lives a bit better. At the very least it has given me a reason to play with PHP in the context of a real goal - though I would have preferred to play with Ruby and ROR (but as the new kids on the block there isn't a CMS that comes close to the PHP variety).

I hope this works. Lack of communication is one of the key reason we struggle producing software. Maybe something to do with the lack of requirements too - but that leaves tons of room for "creativity". If it doesn't work - I say we make the other office move to Dallas.

Attracting Talent

The little startup that is semi grown-up now is having an interesting problem. When you finally learn from your mistakes (underestimating the people\effort required, focusing too much on the future, hiring cheaper employees, etc..) how do you attract new talent. We are no longer a startup that can offer a true sense of ownership, nor are we a large company with lots of money to play with the latest toys and also though I still find web development challenging we are essentially building decade old technologies (no Web 2.0 here). We simply have a lot of hard problems that require talented people who enjoy bringing a bit of order to some chaos. Those engineers and managers we want to hire, don't seem to find us an interesting challenge so we are left with salary being our only leverage. Though money is nice it isn't the be all end all especially when hiring roles that would pay good money regardless. So we are almost in a catch-22. Do we hire people less qualified than what we wanted (essentially against what our hard earned lessons taught us) or do we wait forever and continue to screw things up in the meantime.

I guess this has all been a lesson to do things right the first time around. It is a hell of a lot harder fixing a company than it is to set it out on the right foot.

And the kicker to the whole thing is, how do you attract this talent\provide offers that won't end up pissing off those employees that took you a long way in the first place.

Next time around I am taking Joel on Software's advice and hiring the most talented people I can find and to hell with what others think. I would rather have 5 amazing people than 15 average people.

Monday, August 01, 2005

New Office

Well the company I helped to start and I have definitely changed over the years. Learning to build a sellable software product (and merging companies) will do that to you. We just moved from our original offices. Gone from a strip mall in the middle of nowhere, infested by bugs, mold and the smell of perms at the hair and nails shop next door and onto a nice high rise. The amenities are nice, the location is good and the companies heart was in the right place but I am now in corporate\cube hell. I never thought I would work in a software shop that was row after row of cubes. Kinda speaks to a type of development mindset I can't follow. Makes you really jealous to read entries like this bionic office.

Monday, November 22, 2004

Stinky Dawgs

Being a single male I of course have a dog. And since one is never enough I actually have two. More responsibility than I can imagine and tonight more pain than I want. You would think having two well trained hunting dogs is a good thing, but not when the thing they decide to chase after is a skunk. Tonights walk was painful - and that smell doesn't disappear with a single bath. Here is to them spending a few nights in the backyard. The skunk definitely won.

Database SCM

Why is it that every SCM article and every tool written is great for managing code but forgets how to manage DB assets. I have all my code in a repository, be it Subversion, CVS, or Perforce and I can automate my app deploys with CruiseControl or Anthill but what about my DB Objects and data. The systems I build are usually much more than simple java and config files and having half an automated process is almost no process at all. Install tools are the same, great at updating my app server deployment but almost all the stuff to run my DB upgrade scripts has to be written by hand. Now I am not dumb enough to do all this by hand so I used Red Gates libraries to automate a DB build, and though the tool works great, I hate having a disconnected process. I want one harness that will get me all the way there, with all the assets in the same repository. This world always seems to leave toolsets just a couple steps short. Power and promise but not true fulfillment.

Friday, November 19, 2004

Log Viewer

Either I am without google skills or what seem like common problems rarely have a packaged answer. So I am running a cluster of servers all using log4j to write to a number of machine specific logs. Why is there no way for me to aggregate those logs and view in some secure fashion. I know I can use a JMSappender and write it to a DB, but even then I am forced to write the front-end and any security. I just want a little web page that can authenticate me and show me this info. Isn't there a cheap utility I can buy to do this for me. In my old age I have become lazy and hate writing this kinda stuff. Maybe that means I am no longer a true programmer.

Friday, October 29, 2004

First Blog

Well since everyone is doing it, and because I needed to drop a comment on a friends blog, I finally have one of my own. As usual, just a few years behind the masses. Could also be because I am more of a voyeur than a participant but who knows...