Older blog entries for MichaelCrawford (starting at number 213)

Work, Writing, Music

Been a while since I posted. Quite a lot has happened. I had been searching for a perm job for a while because I wanted to get out of software consulting - it is a hard way to live. I recently moved from Nova Scotia to Vancouver, British Columbia to take a job with a wonderful company. But the catch is that my wife is remaining behind until she graduates from art school.

It's been quite an experience. I've been writing about it in The Vancouver Diaries. My new blog is all hand-coded static HTML pages - not a web application - but with the help of CPAN's XML::RSS::FromHTML, a couple days ago I was able to add an RSS feed for it. Behold:

Feed Icon

If you live in Vancouver, drop me a line at newcomer@vancouverdiaries.com and lets meet for coffee or a beer. Or soon, you'll be able to come hear me play the keyboard at the various open mics around town. Keep on eye on my live performance schedule to find out when I'm playing.

What Is This Management Book Called? Who Wrote It?

I've been self-employed as a consultant for years, but wish to give it up for a salaryman job. Because I have nearly twenty years of experience, I was recently offered a position as a Team Lead - also known as a Technical Lead - and have been applying for software management jobs as well.

Team Leadership is halfway between being a software engineer and a manager; one provides technical leadership to a team of software engineers, for example putting better development methodologies in place as well as mentoring the engineers to help them improve their skills and advance in their careers. Someone else, who may not be an engineer at all, provides the personnel and financial management.

But I don't have much experience as a manager. I think my best bet is to purchase and read some good management books. I want to read one particular book very first thing, but I cannot recall its title or author. Perhaps you can help:

The book is specifically aimed at software engineers who just got promoted to management positions - folks just like what I expect to be. Thus the language is couched in terms familiar to any software engineer, but it points out what one needs to do differently as a manager than what one did as a software engineer.

It introduces all the kinds of skills a new manager will need to perform their work. I didn't spend much time skimming the book when I found it in a store a while back, but I expect it would including project management, hiring, discipline, performance reviews and (God help me!) firing incompetent engineers, budgeting and so on.

I'm going to visit the bookstore where I originally found this tomorrow, so I might find it by browsing the shelves, but if not I want to order it online. I can't do that if I don't know the title and author.

If you know what the book is called, either post your response in your diary or email me at hotcoder@gmail.com I will be eternally in your debt.

I did search for it at the ACCU Book Reviews page, but couldn't find it. I don't know whether it hasn't been reviewed or if it's review just doesn't describe it as a management introduction for ex-software engineers.

In any case, I welcome your recommendations for other introductory management books. Entering "managing" or "management" in the book review search form turned up many excellent books which I will read eventually, but which books should I read first? Try the searches yourself:

You can assume I know how to architect software, but I'm not so clueful as to how to lead others to carry out my architectural plans.

I am grateful for any help you can give me.

Looking For A Senior Software Engineer Or Technical Lead?

Then there's not much time to waste, as I have already been offered a position! But I may not actually take it. Please have a look at:

Thank you for your consideration.

17 Aug 2006 (updated 18 Aug 2006 at 01:44 UTC) »
Writing

Now featured on the front page at Kuro5hin is my new essay:

If you or anyone you know is affected by this mental illness or by schizoaffective disorder - which I have - then I encourage you to print some hardcopies of this article to pass around.

I've been passing out hardcopies to the staff and members at the local chapter of the Canadian Mental Health Association, and it's just been lighting up the place.

There's a follow-up discussion at the above link, but a more printer-friendly version is the copy at my own website, which has simpler markup and a print-specific CSS stylesheet that enables really nice hardcopies.

There are a couple nits that still need to be corrected in the kuro5hin version, but the one at my website has the Creative Commons Attribution-NoDerivs 2.5 license. Once I'm able to get K5's editors to make the corrections for me K5's version will be CC-licensed too.

Membership at Kuro5hin is free, and it's become a great community to be part of once again now that they've clamped down on the trolls.

Writing

My humble contribution to peace to the Middle East:

It has a Creative Commons Attribution-Sharealike 2.5 license. It also has a print-specific CSS stylesheet so it makes really nice hardcopies. Please copy and distribute

It still needs some work on the screen display CSS. I'll be doing that next.

Music

The crowd loved me at the Tulip Festival Open Mic.

There were about two hundred people in the audience. It was the biggest crowd I have ever performed for.

As an experiment I passed out a handbill offerring my music downloads:

(I printed my logo in monochrome because I was out of color ink, and Nova Scotia outlaws Sunday shopping!)

I passed out about five hundred copies, starting late in the morning, but I am dismayed to find that the effect on my website's traffic is barely visible in my log files. I get a "clickthru rate" of just a few percent. However the boost in my traffic was still visible last night, five days later, so maybe it will continue for a while.

I'm going to give it another try though. Sometime this week I'm going to pass them out on Spring Garden Road, a busy shopping district in Halifax. If log file analysis shows it to be worth my effort, I can lower the cost of printing them by having a commercial printer print and cut them for me, as long as I have a large number printed.

Many of the people who took my handbill didn't seem to be the sort who had ever downloaded music before, but who liked the idea of getting piano music for free. I think it would help if I wrote a page with basic instructions for how to download and play a music file, and where to get Free players.

Music

If you're in town Sunday for the Truro Tulip Festival, drop by the big white tent downtown for the Open Mic starting at 8 PM. I'll be playing selections from Geometric Visions as well as some jazz pieces by Christopher Norton.

This was unexpected. Usually the Open Mic is at the Fair Trade Country Cafe, but tomorrow night's band canceled and we were asked to fill in.

I played tonight at the cafe. All of this weekend's Open Mic performances are being recorded for an upcoming "Best of the Open Mic" CD. It's too early to tell if I'll actually be on the CD, as dozens of performers will be recorded.

C#, ASP.Net and Mono

I've been learning C# because that's what all the Canadian consulting clients want. For practice and to demonstrate my abilities, I'm going to use the Mono Open Source .Net runtime to operate a web application on Linux.

I registered a domain name and have started working on the site. So far it's just static HTML pages; to give it some initial content I moved some of my web design articles over from their original locations at goingware.com:

I'll be releasing at least some of the code as Free Software. You might not be surprised to hear that my survey of existing Free and Open Source C# source code didn't turn up a whole lot.

Most of the services I plan to offer are already available in one form or another, but either aren't accessible to non-technical people, or aren't amenable to managing a whole website with. I don't want to say too much about what software I'm going to write as it all remains to be written.

Work

I made my first delivery to my new consulting client on Friday. It's the Mac GUI for a program that's being ported from Windows. I implemented in Objective-C with Apple's Cocoa application framework, which is based on NeXTStep and is largely source code-compatible with GNUStep.

This first milestone was largely to demonstrate I was capable of writing quality GUI code. I feel I did a good job, but I'm anxiously awaiting word from the client as to what he thinks of it.

It could work out real well, as the client expressed interest in having me work for him in a long-term way. He seems to be a real nice guy.

Work

My last couple diaries announced I was looking for a software consulting contract. I'm happy to announce I found one, writing the GUI for a Mac program that's being ported from Windows. The client has expressed a lot of enthusiasm for me, and said there could be lots more work for me if I do well on this first job.

I also wrote about how I've been learning C# because that's what all the clients want in the area where I live. During my search, I found a post asking for a volunteer C# programmer to update a Windows Forms application for a charity. I told them I would do the work for free if they would agree to give me a job reference afterwards. I explained that I was new to C#, but was otherwise experienced. They have agreed to have me do the work, with the help of someone who is experienced with C#. That could work out well, as I would have someone to ask questions of.

Music

My compact disc went on sale at CD Baby today:

If you don't have the cash, you can download it free, as it has the Creative Commons Attribution-Sharealike license.

If you live in Nova Scotia, you can hear me play live. I play each weekend at an open mic in Truro, and expect to start playing open mics in Halifax soon as well.

Looking for a Programming Contract

Things seem to be very different than they were a few years ago. The Dice and Craig's List job boards allow one to search for telecommute jobs. I'm finding quite a few that I'm both interested and qualify for.

I'm even finding perm jobs that say telecommuting is OK, and not just a couple days a week, but in which the job description specifically says one can work remotely from anywhere.

That's how I've been working for eight years now, but I've always had to find clients on my own. Neither the agencies nor any of the job boards were ever any help in finding telecommute jobs. I think the difference is that high-tech industries are now prosperous in the way they weren't back in 2002, so employers are casting a wider net.

I've learned enough C# to start some prototype coding for a web application that I'm developing both to help me learn the language (and .Net), and to provide evidence of my qualifications to potential employers. But it's feeling less urgent now after having mailed off a few dozen resumes, all to telecommute jobs, many for C++, which I'm an expert at. I'll keep working on my .Net website though. One never knows when one will be looking for work again.

When I get C# .Net mastered, I'm also going to learn Ruby on Rails and Ajax. I'm seeing increasing numbers of advertisements for Ruby on Rails work, and I imagine it would be more fun than ASP.Net. Perhaps you could recommend some books to me - there weren't many reviews at the Association of C and C++ Users site.

Looking for a programming contract

atai, you're right, I was out in the Bay Area last fall looking for work, and the whole place was a hive of high-tech activity.

But what I didn't realize until I found the right job boards is that there is a lot of software work to be found in Canada. One thing that works to my advantage is that many Canadian programmers take work in the US because they can get higher pay there.

I'm married to a Canadian, but I'm still on a work permit, I don't yet have my landed immigrant card. So if I left the country for a contract, there is a small but real chance I could be denied reentry when my contract was done. Americans can travel freely to Canada, but when one has applied to immigrate, there is a presumption that one's application might be denied. I was allowed back in last Fall, as I was fortunate that the customs agent was happy I brought consulting work back with me - that is, I was bringing money into Canada.

I'm certain I can find a contract within Canada. What is not so certain is finding one close to home. There is very little software development anywhere in Atlantic Canada, and most of that is in C#, so that's what I'm learning.

There is a good chance I have found a contract that I can do from home. It's not through an agency, and ironically doesn't seem to have resulted from my plastering the country with my resume. Someone who needed an embedded software consultant just stumbled across my resume in a Google search. It will be in C and C++. I should know by early next week if I've got the job.

Yesterday I was reminded of why I stopped working with headhunters many years ago. I have been applying to the agencies this time around. I got a call from a recruiter wanting me to work in Oregon, and I said "I'm only willing to take onsite work within Canada". And she just hung up the phone. Just "Click". Not even so much as "goodbye". The two recruiters I've spoken to here in Canada were much nicer than that though.

Test Driven Development in C#

Or actually any of the .Net languages. Visual Studio 2005 has integrated unit testing, but that ties one to both Visual Studio and Windows. I'm working on an ASP.Net app that will run on Mono and Linux.

For both platforms, there is NUnit, which works well (it comes with a full suite of tests for itself, to be run on installation). The API is similar to CPPUnit's, which I've used with great success.

Mono

My web hosting service is OK with installing Mono for me to use. I imagine they'll want to see how it works out before making it one of their regular services, but I expect they'll want to in the long run. There aren't many hosting services that support it.

I'm Looking for Work

If you could use a seasoned software consultant who takes pride in his work, have a look at my resume and cover letter. I am available immediately, and will take onsite work anywhere in Canada, or offsite work from my own fully-equipped office.

C#, ASP.Net and Mono

I bought Jesse Liberty's Programming C# after a recruiter in Halifax told me that the only way I'd get a contract anywhere in Atlantic Canada was to put C# on my resume. I chose it after reading its favorable review at the Association of C and C++ Users website. I'm very pleased with my purchase, and recommend it highly - I'm confident that I'll be able to code C# .Net productively within a week. The only other book I think I'll need anytime soon is the C# Cookbook by Teilhet and Hilyard. I'm also liking what I see of C# so far.

I am not at all happy that I might have to work for The Dark Side of the Force. But as Kuro5hin's V said, "Ideals don't pay the bills". May is going to be really tight and June is projected to be about $1400 short of what I need to get by, so last Sunday I sent my resume to every body shop in the Dominion of Canada. There's lots of C++ work starting from Montreal on to the west, but in Nova Scotia, Prince Edward Island, New Brunswick and Newfoundland, there is nothing for me unless I learn C# well enough to convince a client I'm good at it. I'm willing to relocate for the duration of a contract but it sure would be nice not to have to.

But maybe there's a better way: Mono. It is an Open Source .Net runtime for *nix. I'd like to know if Mono is mature enough to drive a high-traffic web application. One writes Windows C# applications in ASP.Net; it seems Mono supports ASP.Net as well. How well does it work?

Since I can't claim to have ever been paid to write C#, I had intended to write a simple but useful sample program while I studied Liberty's book. I would then place its source code and installer on a CD, and a hardcopy of its source code in a binder to give potential clients. But then I thought, what could be a better calling card than to send them the URL to a commercial website that runs a C# ASP.Net application that I wrote myself?

I'll be damned if I host it on a Windows box though. I've been with the same web hosting service for nine years. I'm completely happy with Seagull Networks, and they run Slackware. I don't know yet it they'll be OK with installing Mono for me. I'm still waiting to hear back from them about it.

I guess I'll need an ASP.Net book too - Programming C# just has one chapter on it. Jesse Liberty also wrote Programming ASP.Net. The third edition covers ASP.Net 2.0, but the second edition covers 1.1, the version that Mono presently supports. There don't seem to be any books about ASP.Net in the ACCU book reviews yet.

I'm not ready to tell you what my website will do, but it will offer web-based services that would be useful to many businesses. I'm going to offer some of them for free, with some more complex and valuable ones for a modest subscription fee. So I also need to know how to process credit card transactions in a secure and automated way - for all my nineteen years as a software engineer, I've never coded so much as a shopping cart. I'm different that way. When I asked in my Kuro5hin diary, the recommendations included WorldPay, Authorize.net, 2Checkout.com and PayPal.

I won't use PayPal for the reasons given at PayPalWarning.com - it's not just them; PayPal seized the funds belonging to a merchant I do business with myself, and wouldn't give them back. WorldPay looks like the best, but the $399 signup fee they quoted me is going to be tough to come up with unless I get a good contract first. 2Checkout.com only costs $45 to sign up, and someone at K5 said it was "nice and easy", so maybe I'll go with them until my website gets more users. I don't expect it would be hard to change credit card processors down the road a bit.

(It is a sign of the times that 2Checkout.com's list of ineligible websites includes those offerring "IT Certification Test Exams and Study Aids".)

And don't worry, I will eventually release at least some of my site's source code as Free Software.

Looking for a Job in the Great White North?

Here are all the Canadian job boards I've been able to find so far. Links to any others are greatly appreciated:

Dice is a US board but has a few Canadian jobs and allows one to specify Canadian provinces in postal addresses. Jobboom is mostly for Quebec, and Career Beacon mostly for Atlantic Canada. Workopolis is the easiest to use, and seems to live up to its claim to be Canada's biggest job board.

Craig's List requires you to select just one city to search in - each Craig's List city has its own subdomain. There doesn't seem to be a way to search an entire country all at once. Also, one can only post resumes to specific cities, there is no way to make one's resume show up everywhere. I don't understand this, as the most common reason people relocate is because they've found a new job somewhere far away.

Craig's List does have the advantage that it allows on to search specifically for telecommute and contract jobs. Dice allows that too - it has the most fine-grained search facility. A very common problem most job boards have is that there's no way to limit searches to perm or contract, or telecommute or onsite. The best most can offer is to use the word "contract" in one's search query, which always turns up some bogus hits.

That's all for now. I'm sorry to have gone on for so long. I hope you found some of the links helpful.

204 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!