Strings, Bows, (A)Quiver

Framework Training

This past week I’ve been lucky enough to try my hand at something new to me. Throughout my career my work has consisted almost entirely of writing code, designing solutions, and managing teams (or teams of teams).

Last week I took a small group of techies through a 4 day long Introduction To C# course, covering some basics – such as types and members – through some pretty advanced stuff (in my opinon) – such as multicast delegates and anonymous & lamba methods (consider that the class had not coded in C# before the Monday, and by Tuesday afternoon we were covering pointers to multiple, potentially anonymous, functions).

I also had an extra one on one session on the Friday to help one of the guys from the 4 day course get a bit of an ASP.Net knowledge upgrade in order to get through a SiteCore course and exam.

Do what now?

I’d not done anything similar to this previously, so was a little nervous – not much though, and not even slightly after the first day was over. Public speaking is something that you can easily overcome; I used to be terrified but now you can’t shut me up, even in front of a hundred techies…

Challenge Accepted

The weekend prior to the course starting I found myself painstakingly researching things that have, for almost a decade, been things I “just knew”. I picked up .Net by joining a company that was using it (VB.Net at the time) and staying there for over 5 years. I didn’t take any “Intro” courses as I didn’t think I needed to; I understood the existing code just fine and could develop stuff that seemed to suit the current paradigm, so I must be fine.. right?

The weekend of research tested my exam cram ability (being able to absorb a huge amount of info and process it in a short amount of time!) as I finally learned things that I’ve been just doing for over 8 years. Turns out a lot of stuff I could have done a lot better if I had the grounding that the course attendees, and now I, have.

It. Never. Ends.

Each evening I’d get home, mentally exhausted from trying to pull together the extremely comprehensive information on the slides with both my experiences and my research, trying to end up with cohesive information which the class would understand and be able to use. That was one of the hard parts.

Every evening I’d have to work through what I had planned to cover the next day and if there was anything I was even slightly unsure of I’d hit the googles and stackoverflows until I had enough information to fully comprehend that point in such a way I could explain it to others – potentially from several perspectives, and with pertinent examples, including coming up with a few quick “watch me code” lines.

Never. Ends.

Once I’d got all of the technical info settled in my noggin, then came the real challenge; trying to make this expansive course relevant to each attendee. A couple of them were learning C# in order to learn ASP.Net so that they can move into .Net web development, whilst one was mainly learning to support and develop winforms apps. Also each one was absorbing and processing the information at a different speed, and one even had to leave for one day as he needed to support a production issue, then returned a day later! How do you deal with that gap in someone’s knowledge and make it all relevant without duplicating sections for the others?

Not. Ever.

I’m booked in to lead an Advanced C# course next month and an ASP.Net one the month after, plus I’m looking at the MVC course at some point. All whilst working for a startup at the same time (more on that soon)! 2014 is going to be EPIC. It already is, actually..

Summary

I’m sure others could, and (since I’ve heard about people who do this) would, blag it if there was something they didn’t know, since – hey, these attendees aren’t going to be able to correct me are they?! This is an Intro course!

That’s obviously lame, but for a reason in addition to the one you would imagine; you’re cheating yourself if you do that. I have learned SO MUCH more information to surround my existing experience that I can frame all coding decisions that much better. Forget committing Design Patterns to memory if you don’t know what an event actually is. Sure, it’s basic, but it’s also fundamental.

Teaching is hard.

I like it.

You might too.

Aside #7 – Career Change

Whilst I’ve been attempting to learn a new thing each month this year, I’ve been finding it really tricky to keep to the pretty loose schedule. As such, I though I’d try and note down every time a shiny new thing takes my interest, so that I have some idea why I’m incapable of completing a series of blog posts.

Career

Having decided to leave senior management and get back into something more technical, I thought about what I enjoy doing. I had a short chat with a very smart business friend of mine and thought I’d try to go it alone and focus on devops as a service I would eventually provide.

I was in the enviable position of having the luxury of a little bit of time to work out the direction to take, and made a great move in crowd-sourcing my decision making! I sent out a verbose email explaining all of the options and what I wanted to get out of life (!) to a group of friends (some techies, some not) and asked for their thoughts. The replies covered every possible scenario and reading them helped me work out what I wanted to do myself.

As such, I’m leaving permanent employment behind for the time being, becoming a contractor and working on setting up as a freelancer/consultant for DevOps evangelism.

Initially I needed to set up a company.. which isn’t particularly complicated, but it’s certainly not quick and easy! Coming up with a company name, checking domain availability, registering a company bank account, setting myself up as a consultancy; this is all time consuming stuff.

If you’re thinking of doing the same thing I would recommend reading up on it – there is a VAST amount of info out there on the interwebs and this article from Simon Rigsby is a great one to get your head around things.

What I ended up doing, after loads of email conversations with techie mates who have gone contracting, was to join the Professional Contractors Group and also got insurance, set up a company, and chose an accountant all via the PCG.

In the end it’s all been handled very smoothly by my accountants, and I’m now able to review a contract myself for basic IR35 flags, but I can get one contract reviewed for free each year via PCG.

Instigator
— not liking my job in senior management, deciding to work out what’s important to me instead and focus on that.