Archive for March, 2008

Design Evolution => Designer Evolution

I’ve only been working in industry on real software since about February, and I’m beginning to be aware of just how much academia stunted my growth as a software engineer/designer. A Computer Science education (at least at University of Houston) doesn’t really teach you how to design or engineer software. They teach you a lot, but I’m pretty sure I never heard the terms IoC, MVC, Dependency Injection, Static Gateway, or even Design Pattern in any of my courses. I never got the opportunity to take Venkat’s OOAD course, which is probably one of the biggest regrets of my academic career, so maybe that’s what I’m missing. Even so, it seems a bit much to entrust the wholeness of modern OO software design to a single professor’s course.

The point of this post is that I’m learning a lot of design-related stuff, and I’m learning it fast.

Fast enough that the library I started at work about 2 weeks after I started working here is already unsatisfactory to me. It’s better than what it’s replacing, but I feel like it could be even better now that I have the experience of building it.

I guess that’s experience, but I’d rather just know it all up front. :)

Comments off

What do you do… now?

I was looking about and I realized that I needed to update with another “What do you do?” meme entry since now I do something fundamentally and completely different.

I work at JMT Systems Consulting as a System Analyst. I never really understood that title. What system am I analyzing? Why am I analyzing it? Do I write analysis reports for a living? Turns out I do not.

First, what JMT Systems, does. Our primary product right now is a software/hardware package that allows municipalities (read: cities and county governments) to perform warehouse management tasks with handheld wireless scanners (think the Wal-Mart price guns the managers have). Our product is well liked by the customers, and I feel really happy about the health of the business in general.

I ended up bringing a lot of new stuff with me to JMT Systems, and I was a little scared about that. A lot of software shops are set in their ways and view change suspiciously and actively resist it. Our team is so willing to listen and consider alternate possibilities, I really do love it. I think part of that however is the fact that I wasn’t bringing new things for the sake of change, but simply because I was aware of some newer practices and tools which I knew developers love once exposed. When confronted with new technologies and techniques, they were … (Dare I say it?) Agile.

One of our core products, Falcon Mobile Server, sits on top of this huge piece of ERM software that city and county governments run to basically manage… everything: warehousing, work orders, permitting, etc. We provide mobile interfaces on little hand-held Windows machines with barcoding and all kinds of fancy stuff. The core interface from our product to the application was showing its age, so that’s my current project: refactoring that into a lean mean extensible beast of a gateway. This paves the way for further upgrades and revisions to the Falcon product to support the latest versions of the ERM software. More supported versions = More supported customers.

We have several other projects going on, some of which are less public. I’m really enjoying working here, it’s proving to be quite challening, which is something I’m all about.

Comments off

Carbonite: Still Failing

Back in the day I wrestled with the decision between Mozy and Carbonite. I eventually chose Mozy and I’ve been incredibly happy with it. It’s already saved my bacon a couple times, and I find the combination web/local interface to be incredibly helpful. Unfortunately not everyone has been as lucky as I have.

Rich B. left me a comment regarding his current Carbonite situation. Here’s an excerpt:

I’ve been a Carbonite subscriber for almost a year. I recently suffered a hard drive failure and was very proud of myself for knowing this would happen AGAIN and being prepared. Little did I know. I’ve been attempting to do a partial recovery of my files for 5 days. Partial as I’m waiting on a new drive from Western Digital. For the last 2 days the service has been ’stuck’. The interface is clunky at best and there is no way to retrieve your files except wait for something to happen.

When I first attempted to recover my files I noticed that all the folders on Carbonite showed a date corresponding to a date last year when I first subscribed. Not good when you expect to recover your most recent files. Sure enough the few files I was able to recover were old files. I sent an email to Customer Support and they responded within 12 hours which was acceptable. Subsequent email requests from me, both by Replying to the original and going back to customer support have met deaf ears - no response in over 24 hours. Their customer support form says it may take 72 hours to respond because they’re busy. I don’t know about others, but when I’ve had a hard drive failure and can’t recover my files, 72 hours is a little slow for customer support assistance. I obviously need files as quickly as possible.

Mozy hasn’t been a cakewalk either. It’s got it’s own share of idiosyncrasies, but nothing like that.

Software Engineering lessons to take away? Nothing new: Think about your users, Consider the human elements of software design (and further software support), and Interface is crucial.

That’s an interesting question: How do considerations for continued support for production software influence design?

Comments (3)