Financial Planning and Advice

I have several friends who have commented that they are awful with money. Others, a generation older than me, have no idea how they will be able to afford to retire. My suspicion is that the friends I have today who say they are awful with money will be the ones commenting that they have no idea how they will be able to afford to retire 20 years from now.

The problem is that for people my age (mid to late twenties), retirement is something not often thought about. At least, not as it pertains to us. As a result, we don’t take action to prepare ourselves for that eventuality. Or we make a comment like I have a company pension plan or I contribute to my RRSP or I have plenty of time to worry about that later.

My advice to everyone is to work out a financial plan. It only takes an hour or two, and there are plenty of people available who can do this for you. Basically, what you are determining is how much will it cost to retire at a particular age and it takes into consideration your lifestyle, goals, ambitions, as well as your current income, expected raises and bonuses, the age at which you want to retire, and inflation.

The numbers that your plan comes up with may surprise you. They can tell you not only how much money you need saved up to retire, but also how much you would need to save monthly if you start 10 years before retirement, 20 years before, or 30 years before. For example, in order to maintain an income of $70K in today’s dollars post-retirement, you will need savings of about $2M on your retirement day, numbers not intended to be accurate. If you started 30 years before retirement, you could establish savings that size on $250 per month or $3000 per year with compounded interest over 30 years. If you half the time to 15 years, it will cost you over $1000 per month to achieve the same result.

What about the stock market and the economic crisis we’re going through?

Actually, if you are more than 10 years from retirement, this works in your favour. Graphs of the performance of the stock market over the last 75 years show that over no ten year period did the market go down, and in general, out-performed inflation by several percent. Investing in stocks at the moment may be a good idea, since you can hold onto the stocks through the end of the crisis (you’re in no rush to sell), and there are bargains to be had in tough times, if you have the money to spare.

My advice, though, is much more simple. Find a financial planner (try your bank, or ask friends for a recommendation) and ask them to help you with a financial plan. The sooner you do this, the easier it will be for you to implement your plan.

My Children Will Do It Differently

This is #11 on Chris Brogan’s list of 100 Blog Topics I Hope YOU Write.

Until I was 17, most of my life was spent in school. At the parochial schools I went to, a typical day started at 7:30 AM (6 days a week) and didn’t end until about 9:30 PM (5 days a week). This did not leave a lot of time for many extra-curricular activities. Not only that, but I was in school from September through the end of July, with a single month of summer vacation. Getting a job for the summer was difficult at best, because I could only work for 4 weeks. Camp was an option some years, not others, depending on the exact dates for the start and end of the school year.

My children will not have to do this. They will go to schools with reasonable hours. They will participate in extra-curricular activities. They will have time off each summer to go to camp or get a job. Fortunately for them, there are more options available today for parochial schools, and so I do not have to choose between lifestyle and beliefs.

Somebody Has to Say It

This is #10 on Chris Brogan’s list of 100 Blog Topics I Hope YOU Write.

It’s quite astounding how many people fail to think before they speak. I’m not referring to the occasional social slip up, but to people who can be relied on to say the wrong thing. Examples of this include handing out unsolicited advice and criticism to strangers. Or stating the obvious when everyone else in the conversation was deliberately trying not to (this is usually done by the last person to catch on to what the conversation is really about).

A piece of advice: before you say anything, pause for just a second, and think about whether you should be saying something, and whether what you’re about to say is appropriate!

Work Published At Last

I’ve been working pretty hard for the last few days to complete another revision of a program I built, and finally released it to the client last night. I first wrote the program using Java, until I encountered too many obstacles to allow me to complete it in time for a self-imposed deadline. I then rewrote the application from scratch using C#. Surprisingly, the 15K line program in Java was rewritten in C# in only 2K lines, and it took about a week.

The resulting code was not pretty, or efficient, but it worked. Since then (from the start of 2009) the client has been using it, and filing bug reports and change requests, which I have been chipping away at as quickly as I can.

Two weeks ago, with the number of bugs falling, I decided to clean up the program. Data access was spread all over the place, and needed to be consolidated, and field validation was minimal or non-existent. Mappings from the database to the screens was almost impossible to follow, as I used arrays and lists of values, and you had to follow the queries to figure out which array index corresponded to which field on the screen.

Once I started, I was committed to getting certain segments of the program cleaned up before I could publish the application again. Of course, that’s when another change request and bug came in, both relatively high priority. On the plus side, the bug was something that would be fixed during the clean-up process anyhow (an issue with saving certain characters, which would disappear once I rebuilt the data tier of the program). The change request, too, was a relatively simple change. The problem, however, is that the current state of the program was slightly unstable.

I have not yet heard back from the client as to whether they have noticed any differences in the application, and whether any new issues have cropped up. What I haven’t told them is that while I was refactoring the program, I located 4 bugs that they had not found, with certain fields from the database being mapped incorrectly to the screen, and that these issues were quickly fixed. Considering they’ve been using this program for over 2 months and haven’t noticed makes me wonder if they’ve even looked at that section of the program yet.

Subcontracting: A Middleman's Perspective

As a technical consultant, I have worked with several contracts over the course of a few years. In all these cases, I was working directly for the client. However, during a discussion with one of my networking groups last night, we talked about the issues of subcontracting, and the problems they solve and create.

A client, who I’ll call Small Business, needs a custom inventory management system, which links to their website for processing orders. Not being technical, he hires a Consultant who is an expert in inventory management systems, but has no experience with building websites. The Consultant takes the entire job, requiring him to provide both the software and the website. The Consultant puts out an ad and recruits E-Commerce Developer to build the site.

From the perspective of Small Business, he has managed to contain all his technical needs within a single contract, and can keep his maintenance costs down by retaining a single contract instead of two. From the Consultant’s perspective, he has landed a large contract of which he is only doing a portion of the work, and retaining a finder’s fee for the remainder, plus a maintenance contract. The E-Commerce Developer was unable to get the contract on his own, and so is happy for the work, and does not need to deal with the client for payment.

It looks like everyone wins.

However, there are problems with this model. The Consultant, not being a web developer, cannot provide accurate estimates of the costs of that component, leading to possible cost overruns. As well, by acting as a middleman for the Small Business and E-Commerce Developer, the chance of miscommunication has been increased. This is compounded by the fact that any communication between E-Commerce Developer and Small Business must go through Consultant, which means it is slow and inefficient.

The model that we came up with during last night’s meeting aimed to remove these obstacles.

A small group of individual contractors would band together and move into a small office. Each person would have their own office, with some shared resources (meeting rooms, kitchen). The office would share phone lines with an internal automated switchboard and internet access. As well, technical resources would be shared within the group, including access to legal documents, tax advice, graphic design, and a developer pool. Each partner would contribute a fixed sum per month for the upkeep of the office, plus some extra for renovations and unexpected expenses. (An office can be rented for less than $4000 per month including utilities, which, in a group of 10 partners, is only $400 per month for an office with meeting rooms and shared resources.)

The developer pool is what would make this system work. Partners in the group are people who are looking to establish clients and to bid on projects. Each is technically proficient, but they bid against one another for projects, or join together to bid for projects. When a project is deemed too large for an individual, they turn to the developer pool to get the work done. The developer is brought in on the project, and communicates directly with the client for requirements and specifications.

Developers in the pool are people who are looking for occassional work, but do not desire the overhead of dealing with clients and searching for projects. By being in the pool, they can see which projects are available for work (indicating that one of the partners has won a contract and requires particular skills) and which they would like to work on. They will then be able to deal directly with the client once approved by the partner, using standard rates from within the group and paid by the partner (not the client).

We are still in the planning stages, and nothing has been cast in stone yet. But the model is in place, and we are looking to tweak it over the next few months. If you have any ideas or suggestions, please let me know. I’d love to hear from you.

Working From Home… Again

If you hold a full-time job during the day, and moonlight with small projects, then you will likely be familiar with this scenario. Your day job is a source of steady income, and the side projects give you something extra, but are not reliable. When you have a project, you try to complete it as quickly and efficiently as possible, since it occupies your spare time (of which you don’t have much to spare).

For the sake of this article, assume that a normal working day is 9 to 5, and it will take you an hour and a half to get home and each dinner, which puts you to 6:30. Now you need to spend some time with your family and relax a little (try going without this for more than a couple of days and you will see why this is needed), perhaps an hour, to 7:30. Now you might be able to start working, at the earliest.

In order to work efficiently, you need blocks of time in which to work. This block must be large enough that you can spend some time “getting into the zone”, work for a while, and then spend some time closing up your work. For me, when programming, this tends to be about a 2 hour block. Longer than this and I start getting distracted when I should be in the zone, so a break is needed every 2 hours.

When planning work, you need to consider this. The size of your block, which depends on how long you can stay focused, will vary, but it can be figured out (just clock yourself a few times). If a project is estimated for 5 hours, that means 3 two-hour work sessions. The next question is how many work sessions can you do.

Considering that you are likely tired from being at work all day, it’s probably not a good idea to schedule more than 2 work sessions per evening, and that should be the exception. Using the numbers I showed above, that would translate to finishing work at 11:30, plus the time spent during the break, which should be at least 30 minutes, which brings us to 12:00. A third work session would bring us to 2:30. Then 5:00. You then grab a couple of hours of sleep, drink huge amounts of coffee and head to your day job, and the cycle repeats.

Instead, try the following. There are 5 workdays per week, so pick 2 as being nights off. Of your 2 weekend days, pick one as a day off. This helps you ensure that you relax properly at least once a week, and get a proper amount of sleep at least 2 worknights.

On the 3 worknights that you plan on working, plan for 1 working session for 1 evening, 2 working sessions for the second evening, and, if the project needs it, 3 working sessions for the third evening. On the weekend, work out how many hours you have available, and fill them. By doing this, you help ensure that you can plan for projects (that is, you know in advance how much time you have available to work) and can keep time open so that you don’t burn out too quickly.

One of the other things you may want to consider for the weekend is your client meetings (if you can). Count a meeting as a working session when planning your time. A weekend day may look like (4 working at home sessions and 1 client meeting):

  • 10:00 – 12:00 working at home
  • 12:00 – 12:30 lunch
  • 12:30 – 2:00 meet with client A
  • 2:30 – 4:30 working at home
  • 5:00 – 6:30 relax and dinner
  • 6:30 – 8:30 working at home
  • 9:00 – 11:00 working at home

What kind of schedule do you use? How do you keep yourself from buring out? Let me know, I’m always interested in hearing how other people balance their Work-Work-Life schedules.

Cover Letters

As per a comment on an ealier post, I missed one section of the application process – your cover letter. This is perhaps the most significant part of your application, and yet, it often recieves the least attention. A well-written cover letter can make the difference between getting a job and not even reaching the interview room. I will attempt to answer here the question: what makes one cover letter better than the next?

Most applications consist of two parts: a resume or CV which outlines your professional experience, and a cover letter, which outlines you, as related to the position in question. For the resume, there are standard components: work experience, education, certifications, and so on. For the cover letter, the guidelines are less clear. Beyond the formatting, which, of course, should be in the same style as your resume, and the spelling and grammer, which should be correct, there are few rules about what goes into a cover letter.

  1. Customize: A cover letter should be drafted for each and every application you make. Even if the titles of the position are the same, or you are applying for two different positions at the same company, the cover letter for each application should be unique. Of course, some of the content will overlap, but each should be written on its own.
  2. Concise: A cover letter does not have to be a long treatise on your life story, and in fact, should not exceed a single page. Recruiters don’t want to sift through huge amounts of data to get at the real information, and they don’t have time to read through every essay that crosses their path. If your letter is relatively brief, it has a higher chance of being read to completion.
  3. Informative: Use the cover letter as a way to show that you have researched the position you are applying for. Talk about some of your skills that would make you an ideal candidate. Highlight relevant experience you have that would be of benefit to the position.
  4. Make a Sale: Talk about how the company would benefit by hiring you, not about how you will benefit from being hired. Convince them that they have a need for you, not the other way around.
  5. Interest: What gave you the incentive to apply for the position? Did you come across a posting on a job board? Did a friend recommend the company? Did you read about them in the paper?

Pros and Process – A Delicate Balance

I was reading a question on a forum the other day about the benefits of having highly skilled people work for you relative to having a clear and detailed process for how work is done. The answer, of course, is that neither will work without the other, and the challenge is to find the right balance between the two.

At my office, process is part of the daily grind. I have been working there for over 2 years, and I have come across scenarios where process was more important than expertise. (Note that I do not discuss the alternative, since it is easy to understand why having quality people is important, and for more information on that topic, read my post Saving Money on an IT Solution.)

We have an on-call procedure for supporting applications even when no one is in the office. On occassion, a system will fail, causing the person who is on call to be notified. We have a clear process for what to do in the event of such a notification, which is detailed to the level of what to do for each and every system that we support. The reason for this is simple. Calls can come in the middle of the night, while the support person is sleeping. Rather than have them try to make decisions while they are half asleep, we detail the process, the choices that need to be made, and the information needed to make those decisions. Following this process has helped reduce the severity of the failures to minor bumps without impacting our customers as a result.

However, process can, and often does, go to the other extreme. A reader of the Daily Worse Than Failure will be able to think of several examples. In this situation, the issues behind the process can often be attributed to having non-technical people write the process. A lack of understanding of how a technology works (and more specifically, the technology requiring the process) often results in compensating for the lack by insisting on more documentation, more signatures, more approvals.

A good process is written by the people who will ultimately be following it. It needs acceptance from its users based on understanding of why the process is there. When the process is put into place, and management says “Follow the process” but there was no input from those who are meant to be using the process, resentment about the process, and often a flat refusal to use it will often ensue.