Sunday, November 27, 2011

Job Search: A Challenging Job

I've been in my new position for six months now so I have enough distance to write this posting. This past year I experienced unemployment for the first time. The why is not so important for this post (there are many good reasons in today's economy), but I wanted to record some tips that helped me through the experience.

1. Take care of yourself. Exercise regularly. Routine and ritual help you keep your balance. I have a meditation practice that was helpful. Get medical help if you need it.

2. Don't go it alone. Stay in touch with your family, friends, and religious community.

3. Focus. Decide what you want although it may very well change as you experience the ups and mostly downs of job search. Have target companies. They'll change too, but the world is so large that without a focus you'll feel lost.

4. Take a break. You can search for jobs all the time if you don't force yourself to take a break. It takes 48 hours to unwind (see Cortisol) though truthfully I never put job search away for more than a day. Typically, most of us either have the time or the money. Since you probably won't have the money when you're unemployed, do something that you've always wanted to do since you'll have some flexibility with your time.

5. Live in the moment. Dale Carnegie's concept of day-tight compartments is helpful.

6. Unemployment insurance. Pretty obvious, but it definitely helps to have something coming in versus living entirely on your savings.

7. Take advantage of state programs. For my PMP training I was able to obtain a state grant for retraining.

8. Email. Personal contact is great, but I found the bulk of my networking was done with email. When you do in-person networking try to pack as much in as you can reasonably. And much of my personal networking was related to #2 "don't go it alone" above.

9. Planning and tracking. You will quickly lose track of which jobs you've applied for if you don't have a system for tracking your efforts. It's also important that you have a clue what a person (recruiter or otherwise) is calling about and having a system to quickly look up contacts is important. I used JibberJobber after outgrowing a spreadsheet on Google Docs.

10. LinkedIn. Essential tool. I use Facebook, but not for professional contacts though it might be right for some. I use Twitter for keeping up on news from sources like Google and not so much for personal networking. I found it too intrusive, but your mileage may vary.

11. You'll process a lot of email. I found it helpful to note potential target companies and review them later if I didn't have time when reading the email initially.

12. Return every email and phone call. Besides being courteous, you never know where the next lead on a job will come from.

13. Google Tech Talks and YouTube in general. For mini-breaks related to #4 above, I found YouTube to be an invaluable source for education and inspiration. While exercising on my stationary bike regularly I could watch a YouTube video on a topic of interest.

14. Start a blog. There are lots of resources on where / how / how often, etc., but the "why" is pretty simple. The blog has become an extension of your resume. When a potential employer does a Google search you want to have something that helps them know you better show up. I've also found it to be a useful outlet since I enjoy writing. I have started several different blogs to focus on different topics, but my primary blog is used for career related interests and writings.

There is more and I'll update this post, but I wanted to publish this relatively closer to my unemployment experience.

Useful article on how to apply Product Management discipline to job search:

Job Hunting is Product Management (Pierre-Marc Diennet)

Tuesday, May 17, 2011

Communicate the Status of Your Cloud Service!

For my primary email account I use FastMail instead of GMail. Why? FastMail is very fast, reliable, and feature rich. GMail is fast, reliable, and feature rich. I like the features of FastMail, but the primary reason I use it over GMail is the communication that they have with their user base when there is an (inevitable) problem. Here's a post about a recent problem:

This is the kind of thing I have never seen out of Google or Yahoo and probably never will. It's an advantage of being a relatively smaller service. They have maintained a policy of rapidly communicating with their user as well with a status blog in addition to their regular blog.

SalesForce implemented a similar "communicate with the users" policy after they had a major outage. You can see what they tell you about their service at Google Apps has a similar page at Amazon has one as well:

Even small companies that are providing services in the cloud should have a status page and method for rapidly communicating with users when the service is down.

Historical note: back when I worked for CERL (Computer-Based Education Research Lab) at the University of Illinois I implemented a system variable on PLATO called zdegraded. It was used to allow programs (such as games) to modify their behavior (or become unavailable) if the system was running in a degraded state. The variable was removed within a year of being implemented, I suspect this was because the presence of such a system variable was viewed as poor public relations. This idea has changed now with the transparency competition on the web. Downtime is bad, but not having a way for your users to know what is going on is even worse.

P.S. I constantly evaluate whether I should stay with FastMail because GMail (and Yahoo as well) provide some nice to have additional services including calendaring. I use my BlackBerry as my primary calendar and synch with Outlook for that and address book management. I tried Google's sync, but was not happy with it at the time and was also tied in with Outlook for my day job. FastMail has some nice file management features and now that it has been purchased by Opera I'm less concerned about its survival longer term. I tend to review my email / calendar / address book situation every year though.

Tuesday, May 10, 2011

Video: One Hell of a Long Day (Work at the South Pole)

This was just a fun diversion of hearing what it's like to work at the South Pole. If you're footloose and fancy-free, have a craving for adventure, or are very driven to be cold you may want to try landing a position in Antarctica.

One Hell of a Long Day - A Summer Working at the South Pole
(David Pablo Cohn)

Friday, May 06, 2011

Pre-Agile Ideas: Jim McCarthy Videos

I've been a fan of Jim McCarthy since I heard a recorded session of his talk at one of the Microsoft developer conferences back in the 90s. The thoughts represented are echoed in Agile practices today.

There is a nice set of short videos at:

which are also available on YouTube:

He also has a recent (Dec 2013) keynote at InfoQ:

Culture Hacking

Some my selected favorites:

Rule 1 - Don't know what you don't know
Rule 8 - Beware of a guy in a room

Dynamics of Software Development

Tuesday, April 26, 2011

Video: Learning from

Joel Spolsky has one of the higher rated programming blogs and goes into the thought behind It's a site designed to share programming information efficiently. Some interesting timecodes:

01:00 he worked on FogBugz

05:00 some interesting discussion about competing information exchange approaches

16:00 he worked on Excel VBA (a source of consulting work for me for years)

25:00 discussion about .NET stack and performance of C# being great

37:40 Things You Should Never Do (don't rewrite a software product from scratch)

44:00 is #1 resource for new programming technologies

Wednesday, April 13, 2011

PMBOK: Lots of Great Ideas -- Don't Reinvent the Wheel

Regardless of your thoughts about Agile and Waterfall and the amount of process overhead that is appropriate for a project, the PMBOK Guide is an invaluable resource for project management practices that can be adapted to your project. Note that many practices and artifacts fall outside of the areas covered by Agile development processes. For example, project initiation tasks include creation of a project charter and methods for gathering requirements are all covered in the PMBOK Guide.

Besides the Project Management Institute, which is the keeper of all things PMBOK, there are many great examples on the web including one from the state of Oregon at:

With a concise Word document summary of the various templates with links at:

PMBOK: Risk Register

Another useful tool -- see the PMBOK Guide for more information.

The Risk Register is used to help identify and plan for risks on a project.

Some tips:
  • If you have a PMO there is probably has a template or system you should use.
  • Columns may need to be customized with each project.
  • It needs to be kept updated over the life of the project.
  • Much of the value comes from thinking through the risks to the project and incorporating that understanding into the day-to-day management of the project.
  • It's a useful onboarding tool for other project members. Keep that in mind when creating/updating.

PMBOK: Stakeholder Register

The Project Management Body of Knowledge Guide (PMBOK Guide) defines stakeholders as "persons or organizations who are actively involved in the project or whose interests may be positively or negatively affected by the performance or completion of the project." Stakeholders may include customers/users, the project sponsor, portfolio/program managers, PMO, project manager, project team members, functional managers, operations manager, vendors or other business partners.

An important tool for stakeholder analysis is the Stakeholder's Register. Here's an example:

Some tips:
  • If you have a PMO there is probably has a template or system you should use.
  • Columns may need to be customized with each project.
  • It needs to be kept updated over the life of the project.
  • Much of the value comes from thinking of the project from each stakeholder's perspective and incorporating that understanding into the management of the project.
  • It's a useful onboarding tool for other project members. Keep that in mind when creating/updating.

Wednesday, March 23, 2011

Managing Programming Projects: Don't Lose Sight of Reality

If you're a project manager who came from a programming background it's amazingly helpful to dig back down into code for a day just to remind yourself of how the process really works. Regardless of the approach to project management (Agile, Waterfall, etc.), at the most basic level the development process remains an exercise in code / test / repeat. It's a very satisfying exercise, but it makes you appreciate that there is a lot of detail behind each feature or requirement.

It's my belief that the greatest productivity gain for programmers individually is to have as rapid a code / test loop as possible. This is one of the biggest advantages of interpreted script languages (e.g. JavaScript) over compiled languages. There are obvious productivity benefits to being able to see your work quickly and there are psychological/motivation benefits as well.

Monday, March 21, 2011

Obtaining the PMP Credential

While between jobs Nov/Dec/Jan 2010/2011, I prepared for and passed the Project Management Professional exam to obtain the PMP credential (#1385079). One of the Project Management Body of Knowledge Guide's (PMBOK Guide) best practices is writing up a "lessons learned" as part of closing a project or phase. What follows are some notes and lessons learned from my experience.

I felt it would be valuable to obtain the PMP to broaden the number of positions that I could apply for and that has definitely panned out to be a benefit. The credential did not significantly enhance my earning potential, but for many project managers it may do so. I enjoyed the process as a review/capstone of the project management I've done over the years.

NJ One-Stop Center

Part of unemployment support in New Jersey at the present time includes possible retraining grants. There are evidently a bunch of different programs and the "One-Stop" counselors understand the details. I found them to be very helpful.

There are a series of orientations I had to attend and visits I had to make to put the grant in place. I've been to the One-Stop probably a half-dozen times now. On the plus side, I've always found the staff helpful and even most of the people you encounter there are OK. Lots of tension/frustration/fear is present of course. I approached the situation with compassion for others as well as myself.

Training Hours Requirement

I took an online Project Management Certificate course at Rutgers. There are other options, but I liked being able to put a recognized name on my resume and Rutgers knows the process with the One-Stop grants. I also wanted a certificate for my resume, though the PMP is the thing obviously. Rutgers was helpful. I had to make one in-person visit there, but otherwise have done everything via email and phone.

The online course was somewhat time consuming, but you really need to spend the time to absorb the material. The PMP exam is a lot of terminology and even having managed projects for years I learned a good deal and would not have passed without immersing myself in the content.

I usually set aside 2 to 3 hours in the morning for course work. I knew the November/December months would be slow for the job search anyway. I used the afternoon and evening for job search. Closer to Christmas I put in a few two-session online learning days. That was enough for my brain. Online lessons are audio with basic question types. Nothing fancy, but the quality was pretty good. There are some optional lessons (3 are required) that were not as good, but they are phasing those out. SkillSoft is the courseware provider that Rutgers used.

In addition to the online course work there was a book report (I did mine on Scrum) and a Project Charter document required. Rutgers assigns an individual instructor for the course that is available to help and assigns and reviews the book report and project charter.

PMP Process

The Project Management Institute (PMI) has the PMP process laid out in a PDF you download from their website.

The PMP application requires documenting 4,500 hours of project management experience. You can go back up to 8 years, and you need to have at least 3 years of history. I pulled mine together from three different companies. PMI has you categorize the hours on the application in an online form. I put together a Word document with the project description, hours claimed, and sent the document to my reference for each project before applying to make sure each reference was OK with it. I was not audited, but I was prepared for it if it happened. The decision on whether you will be audited happens after you pay the application fee.

Once approved, I scheduled the PMP for about 10 days out and took a practice test (200 questions) with minimal prep a week in advance and got a 79%. The Rutgers course and the Head First PMP book did prepare me well. The PMBOK Guide is a reference and not a study guide. I took another practice test a couple of days before the exam (82%).

I took the exam at the Curtis Center (Prometric) in Philly. The exam has 200 questions, of which 25 are seeding for future tests and don't count. Web search turned up 106 out of 175 as passing (61%). I found the exam to be harder than the practice tests, so I'm glad that I had some cushion. My exam results showed three categories better than average and three categories average. Pass is all that matters though. My name showed up at the website registry after a few days, but PMI says you can use PMP by your name right away.

Expenses for the PMP included Rutgers course ($2,600), PMI membership ($129), exam fee ($405), and miscellaneous books and study materials ($150) for a total cost of roughly $3,300.

It took me about two focused (1/4 time or so) months from start to finish.

Useful Links

The Project Management Institute:

PMP Headfirst Practice Exam:

Saturday, March 19, 2011

JibberJobber: Career Tool

If you're on a job search or looking for a tool to help manage all the bits and pieces of information you have related to your network of contacts check out Spreadsheets can be used for tracking, but quickly become unwieldy after a month of intense networking around a job search.

JibberJobber keeps information in Network (contacts), Companies, and Jobs and lets you interlink between them easily. It's SaaS, has good import/export capabilities, and a way to add log entries by copying to an email address. I also like that it has a free option so you can keep your information around between transitions.

Thursday, March 17, 2011

Have you done Agile?

Have you done Agile is a common interview question these days if you're applying for a position related to software development. A few quick thoughts:

When C++ came along many of its features formalized practices that skilled C programmers were using already. For example: encapsulation. Of course C++ introduced many new concepts.

Similarly, Agile (however you define it) formalizes some practices that development groups had been using before the term Agile was coined and added more. For example, timeboxing of releases was a common practice at Dolphin (1984-2005). The concept of a daily build was in use at Microsoft as described in the book ShowStopper (Windows NT development). Zero defect milestones were described by Jim McCarthy in The Dynamics of Software Development. Pair programming was around before XP was coined.

The point is that Agile builds on the past and many of us have done Pre-Agile in various forms and should use this experience to adapt to Agile in whatever form it takes in your development shop.

For more thoughts on Agile check out my posting on the book Agile Project Management with Scrum.

Wednesday, March 16, 2011

NSBasic App Studio for HTML5 Prototyping

A great product for prototyping HTML5 apps. It's oriented around the Visual Basic metaphor and has an active development community. A fun way to experiment with HTML5 mobile development:

The "ns" stands for "nice and simple". I've kept in touch with the product since I used it for an NCLEX exam prep Palm prototype project back at Dolphin.