Archive for the 'Sector 7G' Category
Professionalism
I wanted to talk about a few things relating to being a professional. Specifically, dealing with being a professional software developer. Whether you work for a small contractor, a start-up company, or a monstrous development firm. I want to focus on the idea of job security and the illusion many developers harbor about it.
I ended up discussing the topic with a coworker once. The discussion had ventured to the topic of what happens when a key developer leaves a project. In some teams or projects, the key developer takes with them the potential success of the project. That is, the developer had been employed under the “Superman Syndrome.” This is what happens when a single developer finds themselves in a position to create themselves job security through obscurity. Either they have mastered a complex codebase, memorized certain pieces of information and neglected to share it, or have an extremely high tolerance for bad code. When they leave the project, the remaining members are forced to pick up the pieces (at the peril of their paychecks) or scrap the project. Neither scenario is beneficial.
Under this situation, the developer has created what they believe is job security. The reality of the situation is this is a false sense of security. A lazy company or management may let this slide. It’s a slippery slope and it will only get worse with every day this developer is entrusted with resposibility. The up-tick is that this developer is not likely creating many new technologies, but rather maintaining the seemingly unmaintainable. If you are reading this and think you possess job security, you’re delusional. Your employer has no reason to be tolerant of such behavior; there is always a recent college graduate that can fill your shoes.
The worst kind of Superman is the kind that intentionally does their job in such a bizarre manner that others find it difficult to work with their products. By this I mean they write complex or poor code in the hopes that others will be incapable of maintaining it, thus ensuring the company will always need them. Some do this more indirectly than others by choosing a poor design or omitting the design process entirely. This is more poisonous to the company than anything else and I consider it a form of insider sabotage.
You never know when you or another key developer could be hit by a bus. If you are the key developer, don’t leave a mess for someone else to deal with. If you are not the key developer, it would behoove you to document as many things that can be learned as possible. This will create a knowledge trail that will help you and your co-workers deal with a gaping hole in the team.
I believe that what a single developer adds to a project should not be quantifiable. A high quality developer will add a skill-set to the group to fill a specific role. A developer’s success is measured by their intellectual output, so they must possess the ability to flex, learn, craft, lead, and take direction. For example, I hope that if I left the group or project I am currently assigned to that I will leave the group or project in a better state than I joined it. I also would like to think that the only thing I take with me would be my abilities and experience. I hope that the main thing that will be missed in my absence would be my ability to solve problems and create solutions to complex situations.
Moving on to something in a slightly different direction, I wanted to briefly talk about how to build yourself into key developer that positively impacts every development team you join. Jeff Atwood recently dug up a good article (by Steve Yegge) recently about how to do so. You have to treat software development like a craft. Crafts must be practiced, honed, and enjoyed. Going to work does not merely mean that you are advancing your abilities, so take a peek over at Jeff’s coverage of the article or the original article itself. While you’re at it, be sure to read Norvig’s article about how to develop yourself in the span of 10 years.
I personally believe that I have an ability to perform a craft that must be honed and perfected like any other artisan skill. Even professional football players have to go to practice to maintain and improve their abilities. I practice by playing a little golf, reporting bugs to prominent open source projects, and contributing patches. I eventually gain commitbit access to a full project, then I will likely have to tackle the more social and political aspects to being a developer. I am also a graduate student which requires the most critical and analytical thought process of any task I’ve undergone. If you are a developer, I urge you to practice your craft (or not, it’ll make me look better and get paid more).
So in closing, software engineering is a craft like no other. It’s possible for too many people to get comfortable in their job. It’s possible for some people to poison and ruin everything they touch. It’s also possible for someone to make a hugely positive impact to everything they work on and everyone they work with. As a professional, everyone has to decide what they want their role to be.
Run Ragged
This past week has been very rough on both sunshine and I. She had a 3 hour midterm that she studied for all week, and I was assigned a new project at work. We haven’t had much time alone and when we do, one of us is usually exhausted and sleepy.
I was put on a project of very high importance. In fact, I believe I started working on it on Monday. We have until the end of the month to complete it, so there’s a huge push to finish ASAP. Getting from requirements to implementation usually takes a few weeks, but in this case it took 4 days. I was also urged to come in and work some overtime on Saturday (yesterday). Since we do not get paid overtime unless we work 8 hours or more a week, it’s kind of a big deal to come in on the weekend. I was there at 7.45am, but did not actually get the lab open until 8.30am (don’t ask), and stayed there until 4pm. I’m just plain tired.
I had a whole bunch of things to finish this weekend, but I simply do not have the energy. I still need to finish and double check my taxes so that I can eFile it already. We should be getting some money back so that’s always good. It will probably go towards building a machine that will take over the world (evil laugh)!
Anyways, I have way too many things to do around the house lately to post anything. I have joined a Ruby work study group at work that I would like to post about sometime later. Anyways, off to brew some energy (read: coffee) and get crackin on these chores.
Vacation Duties
Okay, so the first week back to work is almost over. I had 2 weeks to work on my ever growing “honey-to-do-list.” It seems like every time I scratch an item off the list, I write it back down on the bottom of it. I haven’t been as active at posting because, as my boss put it, I haven’t “woken up yet.” The new year is just as hectic as the end of the year.
So I had a list of things that I wanted to accomplish by the end of vacation, and I actually managed to knock some of them out. Here’s some of the things I did:
- Beat God of War
- Cleaned the living room, bathroom, and kitchen
- Re-organized the closet
- Cleared sunshine’s desk and turned it into a vanity of sorts
- Completed all Christmas shopping
- Balanced the ledger (mostly anyways)
We also bought a new entertainment stand and DVD tower from IKEA. It took an entire Monday morning to put them together, but I survived. It was definately fun putting together something like that; it felt like a big Lego set that built something useful.
I also had time to start my compliance port of the Chameleon JAlbum skin I recently worked on. It was poorly compliant to HTML 4.01 Strict, so I set out to make it XHTML 1.0 Strict compliant. You can check out the testbed here. Note that only the index page was worked on and there’s a slight problem with that. I emailed Laza to see if this is a patch that would be accepted, but have yet to hear back. Maybe this weekend I will finish porting the slide page and fix the issue with the title bar.
All in all, it was a very productive 2 weeks. This weekend, I am going to work on reorganizing the porch (and the storage there) as well as the storage unit. If I manage to finish that and still have time to finish patching the skin, I would feel that the weekend is very productive.
Christmas Vacation
I’ve been on PTO (Paid Time Off) from work since Tuesday this week as part of my 14-day Christmas vacation. I realize I haven’t been posting much lately, I even scrapped several posts I have been working on lately. The reason why is 3-fold:
- Finishing the Christmas shopping
- Chores around the apartment
- Video Games
Sunshine and I exchanged Christmas gifts yesterday because it was our last chance alone before we leave town. We’re heading to Austin Saturday morning to be with both families for the weekend. The living room and kitchen were spotless before last night; I still haven’t cleaned up the wrapping paper and tissue. I also started 2 new games: God Of War and Wipeout Pure. This vacation, I am currently trying to play through the following games:
- God Of War
- We Love Katamari (thanks rainman)
- Wipeout Pure (thanks sunshine)
- Metal Gear Solid 3: Snake Eater
- Gran Turismo 4
- Street Fighter Collection
- Ratchet: Deadlocked
- Paper Mario: The Thousand-Year Door
Now that I am about half-way through MGS3:SE and GoW, I will work up their reviews and post them by this weekend. I haven’t played the rest enough to give a solid review; my rule of thumb is half the game must be played to fully understand it.
So the rest of the vacation (if there is any time left) will be spent here and working on the photo album. Since I offered my assistance to the developer, I have found 3 things that must be done to the skin before I can try to integrate it into the look of this blog.
So if I don’t see you beforehand or I don’t know you and will never see you, Merry Christmas! I realize that the term Christmas may offend some of you, but that is not my concern. Technically speaking, He is the reason for the season, so you wouldn’t be spending a fortune every year without His gift to mankind. Go on and celebrate the only birthday that matters.
The Long Meeting
Today I ended up in a meeting that took about 45 minutes, which was 40 minutes longer than it was supposed to last.
I popped in the office of my boss (not really mine, it’s very complicated) just to mention something I had discovered. That pop-in lasted far longer than it should have. I tried dropping hints that I wanted to wrap things up, because we were going in circles that echo, yet no one seemed to understand this. I ended up missing my regular lunch time, when coupled with the icy weather problem, threw my whole day into a loop.
Don’t get me wrong, I respect the leadership in my office environment, which is rare. But have you ever wanted to end a meeting and no one got the hint? I tried leaning forward in the chair, checking my watch, sipping coffee to break my attention away from the conversation, and even the “alright, well i’ll get right on that” line. Any one else have any ideas for socially acceptable ways to end a conversation?
Boss Dad
Last week I had this eerie feeling similar to deja vu. I have been working through some projects that are fairly new to me. I’ve been referred to a co-worker for advice concerning design issues. This is where things get strange.
This co-worker bears a remarkable resemblence to my father. It is uncanny how his speech and manurisms remind me of my Dad’s. Now that I’ve asked him for advise on some matters, I can’t help but shake the thoughts of this fatherly advise-esque feelings.
Thing is, I respect him as a developer and value his advise. How am I supposed to get over this in order to create a normal working situation??
Five Day Weekend
Akk, today is the first day back to work after a very long weekend. I took some PTO on Wednesday and had Thursday and Friday off for the holiday. It’s hard going back today after such an extended vacation. I can only imagine what Jan. 3rd will be like. I will have off starting on Dec. 13th until Jan 3rd. My employer gives us the week of Christmas off as holiday (mandatory) and I’ve saved 4 extra days of PTO. That’s three weeks off for Christmas; it’s just like being back in college!
/me drags himself to the vanpool