Tuesday, March 9, 2010

The Wisdom of Elders

I'm always surprises me whenever I'm told I've done a good job on something. Part of this is because I am my own toughest critic. I have not found an application where this trait has served me well, but it's who I am.

The other day, I was asked to take on a new responsibility at work. The task would require learning a new code library, but I jumped at the opportunity. My enthusiasm and willingness to take on new roles has really impressed the management at my company, but from my point of view, I've done nothing special.

Learning to me is second nature. I've been gifted with an insatiable appetite for knowledge in many fields. My many interests include computers, electrical engineering, history, writing, politics, astronomy, model railroading, geology, geography, photography, and gardening. There are so many sub-topics of computers that I'm fascinated with that I won't even try to list them all.

Part of my thirst for knowledge comes from two sayings my father told me while growing up. The first, which came from his grandparents, was that the day you did not learn anything new is the day you die. While morbid, it makes a good point. With this in mind, my family would go around the table at dinner and discuss one thing that we learned during the day.

The other saying my father shared with me when I was a teenager is that the one thing no one can take away from you is what you know. It is this saying in particular that really drives me to learn new things, and in a field that is constantly changing, like Software Development, if you are not moving forward, you are falling behind.

My father-in-law has also shared a couple tidbits of wisdom with me that are a bit more practical in nature. The first is to always have an updated resume. Unfortunately, we don't live in the 50s, when it would be possible for someone to work for one company their entire adult life. Nowadays, most workers will switch careers a couple times in their lives. Having a resume that is up-to-date will eliminate one necessary step for finding that next job.

I would even go so far as to suggest having a supplemental document to your resume that lists EVERYTHING under the sun that you can thing of that you know. I try to tailor my resume to the job I am applying for. While I'm not adding skills I don't have, I do emphasize skills highlighted in the job posting and removing skills that do not seem important.

An alternative to a supplemental document would be a CV. The Stack Overflow Careers site has a CV that you can fill out for free. So long as you remember to keep this document updated as well, I see no harm in using this instead of a supplemental document.

The final piece of wisdom comes from my father-in-law, who told me to dress as if I had been promoted to the next level up in the management chain. Thus, if you are not a manager, you should dress like one. If you are a manager, you should dress like an executive.

My work is very relaxed on dress code. In the summer, it is common to see people in khaki shorts, T-Shirts, and sandals. In the winter, Jeans, T-Shirt, and tennis shoes is the norm. So, when I started wearing Khaki pants, dress shoes, a button up shirt, and a sports coat, I certainly got a few remarks. I've dressed down a bit since the first day, opting for a T-Shirt under the sports coat. Since switching to this level of dress, I have felt a bit more confident and professional and that can never be a bad thing.

Thursday, March 4, 2010

Build failed on an ILog Project without an error

I was recently working on an ILog project. ILog is one of many Business Rule Engines out there. Business Rule Engines are becoming more popular. How do I know? Because one Developer wrote Space Invaders  using a Business Rule Engine and Business Rules.

(As an aside, I'm not a big fan of Business Rule Engines because one of their touted benefits is that if will free Developer's time for other things. I have yet to see this benefit materialize on our project. However, they do have many other benefits, but that is another post for another time.)

While taking over the responsibility to maintain the business rules from another developer, I tried to build our rules project. Unfortunately the build failed without a message explaining why.

I exited the solution and reloaded. The reason for the build failure was displayed in the error list this time. In my case, the Model needed to be rebuilt. So I switched to the Business Object Model view and selected  Refresh. When I went to Build  the Solution, this time it succeed.

Each tool has its own quirks, and ILog is certainly no exception.

Tuesday, March 2, 2010

My goals for the next 3 months

What is not started today is never finished tomorrow

~Johann Wolfgang von Goethe

I like to set goals for myself and if I make them public. In doing so, I feel I'll put more effort to complete them. When I restarted this blog three months ago, I set several goals for myself. My first goal of the was to write 1 blog post a week on average. That worked out to 17 blog posts in all. I actually posted 21 blog posts in the last 3 months, so I did even better then I had planned.

I also planned to redesign my Blog. While it still isn't professional looking, it is an improvement over the old design. I still have a few revisions I'd like to add but these are small changes that I will make over time.

Next, I planned to finish Strunk and White's Elements of Style and to reach the halfway point in the Self-Paced training kit for the MS Certification Test 70-536. I Finished both of these goals with ease and I've even started on the second half of self paced training kit.

Finally, I wanted to get my Stackoverflow rating op to 300. As of March 1st, it is 369.

As for the next 3 months, I'm going to build on the momentum I already have. I plan to write 20 blog posts in this quarter, starting with this one. Second, I'm going to finish the Self-Paced Training Kit for 70-536. Third, I'm going to finally read Mythical Man Month. Next, I'm going to get my Stackoverflow reputation up to 500. Finally, I'm going to make a contribution of some sort to the Open Source project (or create my own).

This time, I've chosen a more aggressive set of goals. But with all of the previous goals accomplished, I'm ready to tackle a new set of goals.