I have moved to a new location for a fresh start. No new posts will show up here moving forward.
One of my first tasks on the new job was to resurrect a portal that was running on SharePoint before the catastrophic domain controller failure. It was a bit of a pain and quite a bit of trial and error, especially since I’d never used MOSS 2007 (or any other version for that matter) but everything seems to have come out correctly. I wanted to blog a few items that I ran into while attempting this so that others might be spared some pain.
As a side note, I REALLY have a problem with UAC and all the hoops that you have to jump thru just to get things done. And even though I did all the things I believe I needed to do, I was still unable to get SQL to attach any database file that I hand copied into the Data folder in Program Files. Blech!!
So here’s the configuration: Windows 2003 (Domain Controller), Windows 2008 x64 (Beta 2 I believe) and SQL 2005 for the SharePoint server. There weren’t any actual SharePoint backups that I know of only the SQL files so that negated the “restore” option.
I have to say, the MOSS install is quite nice and very fast (thankfully since I did it way more times than I’ll ever admit). I was attempting to spin up the first service, Excel Calculation Service, when I hit my first snag. Clicking on the links to start the service yielded no action. No postback, no nothing. Crap. It’s a simple fix: turn off Internet Explorer Enhanced Security Configuration. You can find it here the “Server Manager” under “Security” | “Configure IE ESC”.
Unfortunately, turning it off only caused the links to start posting back correctly. The service still wouldn’t start and was giving an obscure error (sorry, didn’t write that one down). In order to start the service you must run the following from a command prompt (don’t forget to “Run as administrator” or else it won’t work):
"c:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12binSTSADM.EXE" -o provisionservice -action start -servicetype "Microsoft.Office.Excel.Server.ExcelServerSharedWebService, Microsoft.Office.Excel.Server, Version = 22.214.171.124, Culture = neutral, PublicKeyToken = 71e9bce111e9429c"
After that, everything else seemed to work out just fine in getting SharePoint up and running.
Now to get the old databases back online was easier than I thought it would be, once I attempted it a few times. Reattach the databases in SQL and then give their name when creating the new SSP. You should have 4 databases total to reattach; here were ours – SharedServices_DB, SharedServices_Search, WSS_Content, WSS_Content_4be54UGLYASS2bGUID4d21. By attaching the databases with my user as the owner and having me as the admin on SharePoint, I had no permissions issues in getting into the old content and only had to remove and re-add the users for the permissions to be applied correctly.
Honestly, I really enjoyed working with MOSS. Which is good considering I’ll probably be working with it quite a bit in the near future. It’s so much more than the Content Management System I thought it was. Now I’m off to throw together my first web part.
In making the decision to switch jobs, I decided to create a description of my “ideal”. This not only gave me a good reference and made me really think about what I was looking for but was very useful when dealing with recruiters as it gave them an idea of what opportunities I would be interested in. The key elements to this description included the company’s culture as well as a general overview of the job function. Be sure that you’re honest in creating this – if a certain amount of money is important to you, then put it down. Being shy about things that are going to affect your decision will only create tough situations later. For me it was important to not only grow in knowledge and responsibilities but also to find a company that shared my values and would provide an environment for me to operate the way I know how. I’m really a believer that it’s what your co-worker (or boss) says you do not what your business card says you do. Your daily activities are more important than your title. I also wasn’t interested in much travel or crazy hours. So armed with my criteria, I set out upon the Dallas market.
The description created earlier was extremely helpful in creating a list of questions for the interviews to be sure that the picture painted on paper or by the recruiter actually lined up with expectations. Often times, I found this wasn’t the case and it’s much better to learn that sooner rather than later. Asking these questions, NOT the time off and salary ones, not only gets a better picture of things for you but shows the that you’re truly interested in the company and the position. Overall I found that it’s a job hunter’s dream right now here in the metroplex. There’s a significant shortage of qualified devs so this would be a great time to make a move if you’re interested. Of course, I’m saying that since I just made mine.
I’ll be honest, I was pretty shocked when Caleb announced he was leaving Microsoft back in January (it was actually on my birthday; coincidence…I think not!). I had never heard of Improving Enterprises and although he seemed to be really excited about it, I didn’t pay much attention to what they were about. Over the course of the year, I kept bumping into folks who were working for Improving and was impressed by the caliber of people they had there as well as the work they were doing. So when another friend mentioned them over lunch, I was all over it. This was a company that not only talks the talk but walks the walk when it comes to agile development – something I hadn’t found elsewhere. Granted, as a services company, you cannot always do things your way but they seem to be leading the push to bring these practices and processes to the industry. As a training company, I may also have a chance to hone my public speaking skills and a few other soft skills that I’ve had less chance to work on previously. Hands down, this company met significantly more of my criteria than any other and I’m looking forward to what the future holds
I wanted to compile some of the things that I did in leaving my developer position at Alt-N that made things less stressful for both myself and those who were be left behind.
First off, if you’re looking for some good advice on how to resign, I highly recommend listening to the “How to Resign” podcast from Manager Tools (part 1, part 2, part 3). Heck, even if you think you know what you’re doing, listen to them – you just might pick something up.
Before “The Talk”
One of the things they talk about in the podcasts is what you need to have prepared BEFORE you walk in to resign. For a developer, this is your project list. If you’re a GTD practitioner, this should already be done, otherwise, you’ll need to put this together. Your list needs to consist of all projects you’re currently working on, the projects that are “pending” or near term, and any wish list projects. For each of these, be sure to include a short description – expected outcome in GTD parlance, any current commitments as well any specific decisions that were made. I found it easiest to think about the things I would want to know if the project were being handed to me for completion. Having this document, along with your letter of resignation, will show them that you’re not just bailing on them and are going to handle this transition in a professional manner.
The rest of the sections assume that you’re not immediately escorted out. I can’t stress enough – BE PREPARED FOR THIS TO HAPPEN, even if you know that it won’t. This is not a surprise that you’d want and it certainly isn’t something within your control so it’s better safe than sorry.
Once you’ve got an idea of how long you’ll be continuing on you’ll need to plan out your remaining time effectively. The biggest and most important piece will be to schedule a project handoff meeting for every project in your current list and possibly even the pending ones. If you don’t know who will be following up on the project, ask to have a couple of folks attend. Since this is going to be a “crash course” on the project, you have a better chance of getting the material across if there are more brains in the room as opposed to less.
Starting the day after your resignation, you should begin a conscious effort to document any and all aspects of your job. To facilitate this, I started recording what I was doing every 30 minutes. While it did slow me down and didn’t really allow for any real coding efforts to flow, it showed me a number of areas where I did things that no one else knew about. By keeping in 30 minute increments, I was able to easily remember what I had been up to and not miss anything. Turning this over to my boss allowed him to get a better picture of what I was doing on a daily basis as well as pointing out some of the areas that may need to be handled until a replacement was found.
Write down your current password. Change it. Now, write down the new password and give it to your boss (you don’t have to do that right now – just put it on top of the pile of things you’ll be handing over shortly). Granted, they probably will change it the minute you’re out the door but this way, it’s their choice. Ours is a small shop so we often install things ourselves on the servers. In doing so, I have been known on (rare) occasion to use my account in setting up a dev server or install a service on said server. By changing the password now, I’ll hopefully see something that might not have cropped up until after I was gone.
For some folks this is as simple as packing up your LOTR action figures or your various schwag items but for some this can be a little more trouble. As a general rule, if you’re not sure if you should take it with you – you probably shouldn’t.
Personally, I’d recommend slowly moving your stuff home a little at a time rather than showing up with the U-Haul on the last day – especially if, like me, you’ve had a bit of time for things to accumulate. Start off with your filing cabinet – pull any personal folders and take those home first. Next should be books and binders. Finally, you should focus on the files on your machine.
There are 3 things to remember while in your exit interview:
- Shut up
- Shut up
- Shut up
We don’t have exit interviews at Alt-N so I haven’t had to deal with this but this also applies to talking with co-workers. What makes you think that you can fix, on your way out the door, what you couldn’t while you were there? Stay positive in everything you have to say about everyone. There is no valid reason for burning bridges in my opinion.
Scott Hanselman recently left Corellian for Microsoft and has a great post on cleaning up before leaving. I especially likes the parts about removing the personal aspects on your machines. Yeah, they may pave the machine anyway but at least you did your part to make it possible for them to hand it off to the next guy.
The single best piece of advice I have is to COMMUNICATE. Whatever it is you’re doing, talk about it. Tell your boss, tell your co-workers, tell whomever you think might need to know later. It’s better to tell too many folks than not enough because if you don’t, you’ll be gone and they’ll be stuck. With just a few thoughtful things and a little effort, you will make the transition easier for everyone and show them what a professional you are.
After nearly six years with Alt-N, I have decided to move on. I am grateful for the opportunities that the company provided me and my family and the strong bonds, both personal and professional, that have formed over the course of my employment. This was not an easy decision by any means but my excitement for the future far outweighs my sorrow at the parting. What could have been a difficult time has actually been quite pleasant, partly due to the handling of the departure (a post on that will follow) but mostly due to the fact that they’re such great folks. I wish them all the best and am grateful for the time that God has given us together.
Apparently, I’ve discovered a small bug in DNS (Windows 2003 only) and I wanted to share it in case someone else runs into. Trust me there’s NOTHING else out there about it (I’ve looked extensively) but it IS an issue – don’t beat your head against a wall.
With spam being such a giant issue, there have been a number of efforts to combat it and several (DomainKeys, DKIM, SPF, SenderID) utilize DNS TXT records. As these systems grow they need to be maintained in an automated fashion (I’m both busy and lazy) so I figured it would be great to create a system for our new “Vouch By Reference” (VBR) server that maintains the DNS from a database. Sounds easy right?? It was. I wrote a Windows service that monitors a database table and sends updates using WMI and everything worked wonderfully. Until we pointed it at the Windows 2003 server.
This is a shot from Windows 2000
This is a shot from Windows 2003
Notice the small difference?? Yeah, that stupid little comma – it’s actually a carriage return that the API adds to the data and you can’t stop it. So I ran thru the stages of grief – I just figured it was a quirk of the GUI (denial), then I blamed WMI (anger), then I wondered if it really mattered THAT much (bargaining), then…well, you get the idea. Ultimately, it DOES matter because some clients see this as an empty string element in an array (see it here) so while I’m not certain it will break anything for sure, you should “Be liberal in what you accept, and conservative in what you send.“.
Also, I have to thank the Microsoft WMI team. After a 2 hour phone call just to get a ticket submitted, I was skeptical that I was going to get anywhere or have a decent experience but I sort of did and I certainly did. Wesley McSwain and Tim Macaulay, if you’re reading this – thanks. You guys were a big help and I appreciate it. While I’m not certain if we’ll get a patch or not, they made me feel like my issue was important and spend time with me working on it.
Just a note to remind myself (and make you aware), check out this handy little IE add-in that allows you to add a workitem (with all the needed info) directly from IE. Testers take note.