Monday, December 10, 2007

I knew this would happen

One thing that I've learned about myself over the years is that I have a difficult time staying committed to projects. I often get pretty interested in a particular idea or project and start in on it all gung-ho and within a time period as short as a week or up to a couple of months my energy will fizzle out until the thing finally drops off my radar as if it never existed.

I intend not to let that happen with my blogging efforts because I find that it really helps me when I can put my thoughts down into words and, shocking to me as it's been, I've actually heard people read and comment on what I've written. However, there has definitely been a downturn in the number of posts over the last month. Now I agree there's nothing more boring than someone blogging about their blogging, but I will say that I can see why the change in my posting habits has occurred.

I don't think it's due to a loss of interest, but rather a change in the way I perceive my situation. I've been at my new job for close to 3 months now and I think things are becoming routine and familiar. There isn't quite as much going on that really gives me an idea of something interesting to think/write about. And I'm not a person to just talk about trivial things just to hear my own voice. So that just means that topics I think are worthy of writing about are coming in longer intervals.

So, if you're reading this, thanks! I'm not giving up on the blog, but simply acknowledging that it's going to be going at a slower pace than it has in the past.

And that will be the last blog post about my blog posts. :)

Thursday, November 15, 2007

Paid vacation

While it isn't really a vacation, I am really looking forward to this weekend when I will be going down to Chicago for the No Fluff Just Stuff software development conference. The silly name simply reflects the fact the the conference organizers put a lot of effort into packing the most useful and interesting information and speakers into the weekend as possible. I was introduced to this conference through my previous job, where all of the developers were encouraged to attend each year. I asked my new company if they would send me this year and they seemed happy to do so.

I really think that paying for this kind of training and career/skill development is an amazing benefit that a company can provide its employees. I always find that I learn something of value and I certainly get exposed to a lot of new ideas and technologies by attending this show. It seems like a pretty small price tag per person and the return on investment seems quite high. Not only do I come back with some new ideas and new motivation, but I also feel very thankful to the company for investing in my future.

I'm really looking forward to the conference. I will be meeting up with a few of my previous coworkers, so that will be a lot of fun spending time with them. It should be great!

Tuesday, November 13, 2007

A different breed

As I mentioned a few weeks ago, we're looking to hire a few people in our software R&D group and this week we've started interviewing some of the first responders. Being such a small group, our leader has taken the tack that all of us in the group should interview potential candidates since each new person will substantially change the dynamics of our little office here.

I'm no stranger to interviewing people for various positions including software developers, software QA engineers, and project management types. However, the type of positions we've posted seems to be drawing a wholly different breed of person to our doors than I have previously had experience with. I think part of it has to do with the nature of our company and our target markets. We're looking at potentially embedded systems, low-level algorithm development, and Quality process management (yes, with a big Q). It also has to do with the level of experience that we're looking for. Management has always said that they're looking for the "best" people that can come in right away and make an impact... this was one of the things that really excited me about this job. As a result, however, I'm interviewing people backgrounds far different than I am used to.

For starters, everyone I've interviewed so far has been over 40. They have all been working at (or consulting for) extremely large companies. They have all been working under what I would consider very heavy-weight development processes. This is quite a change from the types of people I've been used to interviewing, which were mainly recent college graduates with little to know professional work experience outside of school. I'm used to trying to drag information out of interviewees, trying to get them to show me that they're bright and talented and can do the job. With the people I'm interviewing now I kind of have to try and get them to stop talking about how much they can do.

But the one common thing I keep coming back to is the need for the interviewee to convince me that they want to do the job that we're offering them and that they are the right kind of person to work with us. "Kind", in this usage, is not a strict category that you can use to segregate people. Rather it is a blend of the necessary and desired qualities that make a person stand out as someone I would really want to work with. I have seen very talented people that have had the absolute wrong personality or attitude for the team they joined. I've seen extremely likable and fun people that fit in perfectly with a team but that cannot perform the work. That ideal blend is just as hard to come by in a 22 year old as it is in a 52 year old.

Thursday, November 1, 2007

First release

After the confusion and uncertainty that ensued over the green blob I discussed last week, we decided that I should focus on getting an initial release created of the code I've been working on. By the end of the day yesterday I had it built and tested and sent out the installer and release notes to the team. It feels really good to have now actually delivered something. Even thought it's just an internal release, it feels good knowing that the things I've been working on are actually going to get used. Actually it feels great because every time I hear my boss telling someone what the software does now they get really excited about it. So that is cool!

Now we'll just wait and see what kind of bugs and things I've missed come out of this. That's the flip-side to the "Yay, someone is using my code!" excitement ... it's the "Oh man, someone is using my code and finding all sorts of things I need to change." sort of feeling. We'll see how it goes. :)

Monday, October 29, 2007

We're hiring

Another round of funding has come our way and, with it, a little more work. We're currently looking to hire three people in the software development group. It seems like for now that there's only enough Java work for me at the moment, so we're looking to hire in other areas.

Primarily we need a software QA person to help us get our products up to snuff by putting together some test plans and validating the existing software we have.

Additionally we really need what they're calling a "Systems engineer" position, which is basically a person that is good working with software development teams and IT staff that can help us whip up a solid system for packaging, distributing, and configuring our software and hardware systems.

Finally there is also a need for a skilled C++ programmer to work on some of the core, computational components used in our software.

If you are one of these people, or if you know one of these people, please take a look at the descriptions at our employment page.

Thursday, October 25, 2007

You want a what, now?

I guess pretty much every programmer in the world goes through this experience in their lifetime when they are presented with a project that is so ill-defined, so nebulous that it twists your mind inside out as you try and fathom exactly what it is that you're being asked to do. You poke and prod at the amorphous blob that is your project hoping that, either by skill or by chance, you can coax it into revealing to you some of its actual features or some of its internal machinery. It's like looking out an icy window: you can tell that there's stuff out there, maybe you can even discern some of the colors and shapes, but the reality of what's outside may in no way correspond to what you thought you saw through the frozen glass.

As such, how do you begin? One approach would be to say, "Well, all I can see is a green blob so I'm just going to make some software that does green blob-like stuff. I can always change it later when I get a clearer picture of what's needed." This approach appeals to the part of me that doesn't want to waste my time on doing complex things that may very well be wrong. But there's a part of me that really doesn't like doing simple things that I know for a fact are going to be wrong. I know that I'm not really looking at a green blob ... it's probably really a stalk of broccoli, something with defined structure and intricate detail. But what happens if I go through all the work to deal with broccoli and it turns out that I was really looking at asparagus?

So, food-related metaphors aside, I'm at this frustrating point of not knowing quite enough about what I need to know, yet still feeling like I need to make some sort of step forward. I keep talking with other people to get their ideas and it's all still very blurry and green blob-like in their minds too. For those of my old coworkers that make it this far into my ramblings, it sounds like I'm going to be basically implementing metadata, but with a few extra twists. Metadata was, in my mind, easily one of the few most complicated areas of the code that I worked with. Maybe it had to do with the way the code was written, or maybe it was just that it was a complex, hard-to-understand beast of a problem. Either way, I'm going to get my chance to try and replicate it and, hopefully, understand it better this time around.

Monday, October 15, 2007

Welcome to the machine

If you've ever worked in a company where "quality" was a word spoken with a capital "Q" than this might not seem that foreign to you, but I've been a little amused by the efforts going on at setting up our Quality control systems here at work. Working in the bio-tech field and, hopefully one day, creating systems that will be used to diagnose patients and affect their treatment subject you to the need to worry about certification, primarily by the FDA. In order to meet the requirements your company needs to have tip-top shape documentation about how the Quality of your product has been maintained throughout the development process.

We have a full-time employee whose job it is to define and maintain that documentation and it's only just started to actually affect me. The approach we're taking is using the GMP (Good Management Practice) which is espoused by the FDA. So far, it seems that all of that is just coming in the form of SOPs (or Standard Operation Procedures) which travel around in little blue folders and can only be photocopied once, and blah, blah blah. At the moment, I don't see that it's going to be much of a burden at all in our group. Mostly all of the work is focusing on the lab-based work and the actual engineering group who are responsible for building the device prototypes.

However I did get to sign three documents last week as part of the Quality process, which just made me have to laugh. The first was a "signature list", which was just that ... a list of all the signatures of all the people in the company. Oh, and by the way, atop each of these forms is a Training Form, which each person must sign to say that they have been trained on that particular SOP. So I got to sign the signature list and the training form to say that I signed the signature list. But it gets better!! The next one was the SOP about that Training Form itself. Yes, I signed the Training Form to say that I had been trained on the Training Form! I joked that she just did that for us computer geeks who find that kind of recursion appealing.

As laughable as it is to me, I suppose it's good that someone is looking out for these sorts of things. The last thing you'd want is to get this great technology built and tested only to find out that no one will use it until you can get certified and that you don't have the work done to meet certification. I'm just glad it's not my job!!

I hear (and I don't think they were joking) that SOPs for taking out the trash and refilling the water coolers will be coming soon....