I’m a Motivational Speaker Now

VanDownByTheRiver
A Van Down By The River

I’ve been meaning to post about this for a while now, but for the last two months I’ve been swamped with a home reno, dead hot water tank, wife in the hospital (all is fine now) and starting a new job at the same time. The good news is that the reno is done and I’m settling into my new job nicely, the bad news is that I’m about two months behind on the rest of my life.

Anyway, the subject of this post is something I’m very proud of. Back in March I was asked by Victoria’s Camosun College Computer Systems Technology (CST) program to host a career Q&A session with the students. The program instructor booked a time that was free for students from both tracks of the program, and we had a really good turnout, especially considering it was scheduled in a time slot that was after the regular classes of the day. It was the second time I did this session, you can see a summary of the topics we discussed here: http://vicdotnet.org/blogs/news/archive/2009/03/01/Career-talk-at-Camosun.aspx

The session ran a full 90 minutes, and I got great feedback from the students and instructor. I think only one person left from the whole group so that’s definitely a good sign. It felt pretty good to ‘pass on’ my wisdom of 12 years in this industry to the next generation of developers.

Fast-forward a few weeks and I got an email from David Stewart, the organizer of the Camosun Capstone Symposium (The Capstone is a yearly event where all of the computer programming students spend the day mingling and presenting their final software development projects for the course). They asked me if I was interested in doing a summary of my Q&A session as the keynote speech for the event.

Needless to say I was excited to do it, even though I was a bit apprehensive considering I had never delivered the content as a presentation before. Not to mention that the content was more ‘motivational speaker’ than ‘technical’. The title of the talk was “Building a Successful Career as a Software Developer, or, What I Wish Someone Had Told Me 15 Years Ago”.

On the day of the event I was pretty nervous, mostly because I didn’t get much  practice time for the talk (see paragraph 1 above). I stumbled a bit at the beginning, but I think I found the groove pretty quick. Aside from the odd blank moment and a couple of times when I skipped to the next slide too early, I think I did ok. The slide deck had a lot of humor and I managed to get the crowd laughing a lot so that speaks for itself. Plenty of positive feedback afterwards from the 75 or so people in attendance.

So thanks to the Camosun students for having me at your event, I had a really great time. I can’t tell you how happy it makes me to know that I might have a positive impact on your future careers. I hope you learned something from my talk, and I also hope you got some entertainment value out of it as well. :)

Since the talk I’ve had a number of students contact me regarding my interest in hiring student/jr programmers. I don’t have the authority to actually hire, but I have been trying to persuade my bosses that we should do so. I have committed myself as trainer & mentor to the junior developers we bring in, so if you’re interested please contact with me your details, I will pass your interest on to my bosses in hopes that we can work something out!

Finally, for anyone who is interested in the slide deck, it’s here: Building a Successful Career as a Software Developer. I left my comments inline, so you can see some of the topics I covered (and some that I forgot about).

Please feel free to add a comment to this post with your feedback on the presentation. I know it certainly wasn’t perfect, but any feedback you have would be helpful for me to improve it for the next time. Thanks again.

Victoria Code Camp This Weekend

One final reminder that the Victoria .NET Code Camp is this weekend at UVic. We have the schedule finalized and ready to roll.

Check out the website here: www.victoriacodecamp.com and please register if you plan to come.

Hope to see you there!

50% off DevTeach Vancouver Registration

Here’s an offer anyone who might be thinking about going to DevTeach Vancouver at the beginning of June (8th to the 12th). Jean-Rene Roy, the organizer of the conference, has offered 50% off the ~ $1200 registration cost to the first 30 people who register with the following code: DEVT50OFFVAN

Also, the registration need to be done prior to Feb 10th.

If you’ve never been to a DevTeach conference, you don’t know what you’re missing. This is easily the top .NET developer-focused conference in Canada. They get big name speakers presenting on the latest and greatest of technologies. As well, the setup for the conference is such that the speakers are much more accessible than any other conference I’ve been to. So not only will you be able to hear familiar luminaries, but you’ll also get the ability to speak with them one-on-one. A great deal at full price, this becomes an incredible opportunity at half-price. So if you were just thinking of going, let this offer make your mind up for you.

Feel free to ping me personally if you want to find out more info about DevTeach in general.

Sharepoint Training in Victoria

Sharepoint is not always the easiest system to install and administer. If you’re looking for Sharepoint expertise and training in Victoria, you’re going to want to talk to Sean Wallbridge at itGroove. Sean’s been doing Sharepoint forever and  just recently partnered with Sector Learning Solutions to give Sharepoint classes on a regular basis.

Check out the details here.

Next Victoria DemoCamp – Oct 30 2008

The next Victoria DemoCamp is happening Oct 30, downtown near Johnson and Douglas at the old Peacock Billiards place, 5pm onwards. The last DemoCamp was a huge success, there was a great turnout and about a dozen great presenters. You won’t want to miss it.

Check out the website for more info. There’s a facebook group, a wiki for registration, and more details on DemoCamps in general.

If you happen to make it, make sure to find me and say hi!

Hiring Technical Leadership

I’m a bit behind on my feeds lately, but I just read this great post by Fred Wilson (A VC). It’s an off-the-cuff brain dump post (the best kind) about hiring technical leadership at a startup software company. There’s also a link to some advice on how to hire technical leadership if you are not a technical person:

“CTOs are among the most important people in the companies we back. Many of our portfolio companies don’t have CTOs when we invest and we often are involved in recruiting one to join our companies when they get large enough that the dev team needs a manager. My partner Albert (who was a CTO at one point in his career) wrote a good post called “Hiring A VP Engineering or CTO for Non-Techie Founders”. That’s a good read, including the comments we got on that post.”

The point: The most important role a startup technology company can fill is the person who is going to oversee the technical implementation details of their products. I’ve been developing software for over 10 years now, and in that time I’ve taken a leadership role a few times. Let me tell you, leading a group of developers is HARD. Fred says it best:

“First and foremost, I see the CTO as a manager. Great managers are hard to find in any line of work. But managing developers is even harder. The better the developer the harder they are to manage. I assume its a bit like managing high maintenance entertainers. The best developers are artists who are often moody, are anarchists who have bursts of creativity and equally long periods of uselessness. They are strong willed people who will fight with their colleagues over anything and everything. The people who have mastered the art of managing these kinds of people are a rare breed and every great technology-based business needs one of them.”

Most of the time developers get promoted to a leadership position because they happen to be the best developer on the team (I did). Unfortunately, development skills rarely have anything to do with leadership skills. When you’re used to debugging code, building code libraries, and solving technical issues, you’re simply not ready ready to deal with the human factor.

Trust me on that. Just because someone understands software architecture doesn’t mean they understand why Joe is utterly useless before 3 in the afternoon. But it doesn’t matter. If Joe is useless until 3, you can’t force him to come in any earlier because you risk getting useless output. And all you’re really paying him for is output, not to show up before 3.

“A development leader needs to understand how developers think and function. And more importantly, a development leader needs to know how to encourage developers to think and function in a way that optimizes the amount of time per day that they are effective.”
- Me

As a development leader you must ALSO have a solid technical foundation in order to lead other developers, or you risk getting taken advantage of. Simply put, unless you understand technical design and the implications of technical decisions, your developers are going to walk all over you.

The best way to oversee development is to provide a technical specification that all of the developers must follow, and let them tackle the implementation details. But you have to continually oversee the technical implementation. Developers are not stupid, but the best ones are definitely lazy (I know from experience). They will cut corners and hack out solutions faster than you can say “we need to add 17 more features but still keep the same ship date”.

The bottom line is, you better pick the right person to lead your development effort. If you don’t, you’re going to end up on the failure side of the 70% of software projects that fail. Unless you are technical and understand the “3 pillars” (time, features, cost) you’re sunk. God help you if you don’t understand things like version control, issue tracking, coding standards, automated builds, release management, and automated testing.

Victoria Code Camp THIS WEEKEND

Well I’ve started writing this post about four times now, and I never seem to get anywhere. Been too busy planning this code camp.

Anyway, the short version is… The 2nd Victoria .NET Code Camp is this weekend, come on out and join us if you can! We have about 120 registered attendees, a GREAT keynote (first-time public information!), free lunch, and a whole host of really great speakers.

We got really lucky and had Jean-Rene of DevTeach fame sponsor us with pens and notepads, Microsoft is picking up the tab for lunch, and TONS of 3rd party vendors gave us software licenses and conference passes to give away!

Come on out if you can!

www.victoriacodecamp.com

Victoria Code Camp Wrap-Up

We had a really good day at the Code Camp on April 8th. Local guys Jason, Kent, and Ken all did fantastic at their presentations, and Richard and John both came in from out of town to help us round out the day.

We gave away the MSDN Subscription (courtesy of Ken) at the end of the day to a VERY happy Gary. Gary was just commenting to me earlier in the day that he still didn’t have a copy of VS 2005 and was hoping to win one. He won that and a whole lot more!

Feedback on the event was really positive. We had 8 statements on the feedback form and we asked everyone to rate the day on a scale of 1 to 5, with 5 being the best. The averages for each question are beside in brackets:

  1. The event was well organized [4.88]
  2. The allotted time for presentations was good [4.71]
  3. The presentations held my interest [4.62]
  4. There was enough networking time at the event [4.48]
  5. I was satisfied with the level of technical content [4.71]
  6. I had a good time and learned some new things [4.86]
  7. I would recommend this event to other .NET developers [4.93]
  8. I would attend another event like this in the future [4.90]

So obviously we need to have more networking time at the next code camp (and there will definitely be another one!).

The total number of people who showed up and registered themselves was 57, though I still think some people missed registering because we forgot to keep reminding those who showed up midday to come and register themselves. The room held 72 people and and throughout the afternoon there were very few free
seats.

Some of the things we did right:

  • The coffee in the morning was a big hit. We went through almost all of it. The good folks at Starbucks sure know how to keep people happy, they included everything from cream to sugar to stirsticks. Even happier was the guy who took the empty bags from the coffee travelers to make his homemade wine in.
  • Lunch arrived on time and there was more than enough for everyone. Sandwiches, coke, and water were perfect to keep us fed and hydrated.
  • Making sure the speakers went on exactly at their time slot and got off the stage on time was good. We more-less kept to the schedule and everyone seemed really happy with that. Word out was that it was nice to be able to predict when talks were starting and stopping for those who weren’t interested in everything.
  • Having a few prizes related to each presentation was very cool. We gave out SQL-related prizes for Richard’s SQL talk, build tools for Jason’s MSBuild talk, etc. It seemed to go over very well.

Some of the things we could have done better:

  • Should have had the slide deck with group info and sponsors rotating before we started and at breaks.
  • Should have kept reminding everyone throughout the day that they should register if they had just arrived and hadn’t registered already.
  • Should have given out more information about the door prizes. Sponsors would probably appreciate us giving everyone at least a brief overview of what their tools did.
  • We started off having Kent and Ken hand out their prizes to people who asked questions, but that fizzled, I’m sure it’s because at the end of a talk you’re probably too wired to worry about who gets what. Sorry guys, we’ll make the draws random next time!

We were only able to put this on thanks to the sponsors of the Victoria .NET Developers Association, without them the day would definitely not been as successful as it was. Sponsor dollars went towards paying for various office supplies (photocopying, pens, markers, paper, etc) as well as the food and drinks that we provided. A huge THANK YOU goes out to our sponsors!

If you and/or your company are interested in sponsoring us for the rest of 2006, please contact us! We will be cutting off sponsorships for this year soon, and in the fall we will begin the process of sponsorships for 2007.

  • Individual Sponsorship of the Victoria .NET Developers Association – $20
  • Corporate Sponsorship of the Victoria .NET Developers Association – $200
  • Seeing Richard Campbell present a new talk before anyone else – Priceless

All in all we had a great time at the code camp, and the verbal feedback at the end was very positive, including a huge round of applause for all of the speakers. Thanks again guys!

Solving qttask.exe ‘Drive Not Ready’ error with Sysinternals

Over the weekend I downloaded some Quicktime movie trailers on my home desktop machine. I installed Quicktime on my laptop and mapped a drive (Z:) back to my desktop machine so I could watch them from the comfort of my couch. I couldn’t figure out how to install Quicktime without iTunes, but that’s a seperate frustration.

At this point all was well. Quicktime played the files over the network just fine. When I was finished watching the videos, I shut it all down (or so I thought) and unmapped the drive to my desktop. No problems. Then the next day I fired up the laptop.

After logging in I get this:

 

After hitting any combination of buttons four times, the box goes away. But it happens every time I reboot and/or log in! Argh! (Note that this error dialog box normally says “Please check drive <drive>: and make ….”, but in this particular instance the drive letter was missing).

I realized that the system was looking for a file on some drive somewhere, but at this point I had no idea what the problem was or which app was doing it. Using Process Explorer to drag the ‘Find Windows Process’ target on the error window simply pointed to the csrss.exe kernel process. Not very helpful.

At this point panic sets in, and I begin to wonder what virus I have. Checks with Trend Micro, Norton, and various virus databases give no results. Then I think, why not check what file access attempts are taking place?

Taking a quick look with FileMon, the answer became clear:
FileMonOutput

Argh argh argh!!

The Quicktime pre-loader service (qttask.exe, which by default is set to autostart when any Windows user logs in) was trying to pre-fetch the files that were previously available on the mapped Z: drive. But the Z: drive was unmapped and therefore missing, and this caused the qttask to just bomb out to a generic error.

Bad Quicktime!

Disabling the qttask.exe process with Autoruns and rebooting solved the problem. Thanks Sysinternals, you saved me yet again.

The Upcoming Year For Our .NET Developers Association Looks Awesome!

Last year (Sept-June) was a good year for our .NET user group www.vicdotnet.org. It was our first year of operation, and while chaotic at times, we did a pretty good job of organizing meetings and getting speakers.

I was lucky enough to earn a scholarship to attend TechEd 2005 in Orlando via the INETA scholarship program, and while I was there participated in a full-day summit where I met with other group leaders from across North America and discussed best practices for running our groups. Completely as a result of that summit, I brought back over 3 pages of notes on ideas for improving and expanding the group.

So our group organizers have been using the summer to get a firm grasp on what ideas we plan to do over the next year (Sept-June) and solidify those plans. We have committed to meeting every other week so we can hash it out in person, instead of over email (which is painful at best).

Here’s a snapshot of what we want to do, concrete plans for everything will evolve over the next month or so:

  • We have changed our name from ‘Victoria .NET User Group’ to ‘Victoria .NET Developers Association’. The name does not at all change what we do, but gives us a more professional sounding image as we grow and become a more vital part of the community.
  • We are going to formally accept (and solicit) sponsorships. We will be putting out a sponsorship document and meeting with various local companies to encourage them to sponsor us. We have already met with a few and the feedback is excellent! Writing a sponsorship document is totally out of my element, so it was good experience at using different parts of my brain (other than the If-Then-Else part).
  • Taking sponsorships requires us to have a formal bank account, and with it we will be able to accept checks made out to the group name. Canadian banks have a special ‘community access’ account that they give for free to qualifying local non-profit organizations (but this does not mean you have to have legal non-profit status). The only limit is that you can only do 20 transactions per month, but you even get free checks.
  • The study group will still be every other week, but likely expand to include anyone who wants to show up. We’ll focus on a broad range of software architecture, like an open forum or a networking event, rather than a presentation club. The content will still be focused on studying for and passing the MCAD and MCSD exams, but with a ‘relaxed’ focus we can talk about whatever issues people are having trouble understanding.
  • We are really close to finalizing plans for a Code Camp! I hope to get together with my new friend Medhat (who runs .NETBC from Vancouver and hopefully make it a weekend event, with Vancouver one day and Victoria the other. To do this successfully we really need to get the participation of local developers, to come out and present some .NET topics that they feel passionate about! If we can create some buzz around it I think we will get a good turnout, MSDN and INETA can help us by promoting it in their marketing emails.
  • >We want to encourage local developers to get involved by speaking at our meetings, as well as the code camp. We also want to get some ‘rock star’ speakers to do some meetings, and so far I’ve managed to get some awesome ones! Scott Hanselman, Bill Vaughn, Joel Semeniuk, and Richard Campbell are all confirmed to show up over the course of the year!
  • And last but not least, we are making a HUGE effort to keep the swag pipeline filled, because we were lacking last year. So far the incoming swag has been really excellent. Sourcegear, Developer Express, Infragistics, and many other .NET vendors have committed free licenses of their software! If you are interested in passing SWAG our way or know someone who would, please contact the group! (info@vicdotnet.org)

Either way it’s going to be a really interesting year, and I really hope to learn a lot about the business side of development by taking the Developers Association to the next level!