Don't give up on the Gantt!

Don't give up on the Gantt!

I’ve written before that I am not an “Agile” nor “agile” development nor project management expert. I’ve previously proposed that one by product of “agile” development and project management in general is a reduction in over architect-ed software solutions. With project requirements being represented as stories and tools such as Kanban boards for lean software development to show the flow of work through a process, one might think the classic waterfall project management work and schedule reporting tool, the Gantt chart, is obsolete. Before you abandon this tried and true project schedule reporting solution for the more transparent status inherent in agile project management, you may want to keep reading.

So, you have succeeded in transitioning your IT project management and delivery methodology to one that is more aligned with “agile” than “waterfall”. Your non-IT stakeholders are more engaged than ever in the project requirements definition, prioritization and sprint/release scheduling process. You are tempted to stop trying to use MS Project or other tools to represent schedules in Gantt form. In a word: “don’t”.

One of the main criticisms of complete agile project management is: “The dangers are the loss of recognition that systems/solutions change continually over time as well as team members” Put in more direct, bullet point form from my experience of this criticism expressed by product or management stakeholders:

  • What is the big picture?

  • I have the big picture in mind, when am I going to get X?

  • At the current burn rate, how much time will be invested before I get Y?

  • If I add/subtract resources, what will be the impact on the big picture?

These are all criticism subsets that can be directly addressed with the data collection associated with producing a classic Gantt chart. So don’t throw away those Gantt chart creation disciplines just yet.

What is the big picture? I have the big picture in mind, when am I going to get X?

Let the sprint/release iterations continue, but don’t let too much time go by past the releases to meet with the product stakeholders and update your rendition of the product road-map. (You have your road-map, right? You aren’t letting the business surprise you with all requests, right?) This is a great opportunity to get an early indicator if product stakeholders have become caught up in their immediate needs and lost sight of the “cost” of those features. By “cost” I mean the investment in features now means pushing out the product road map. You can gently remind them how the “cost” appears graphically in a Gantt. The Gantt view of their product can clearly show “milestone 45” getting pushed into the next quarter due to their recent feature bonanza. It is much easier to have the “hey, I thought I was getting milestone 45 this quarter” discussion as soon as the schedule shows initial signs of slippage rather then at the start of the next quarter.

At the current burn rate, how much time will be invested before I get Y? If I add/subtract resources, what will be the impact on the big picture?

Here again is where your mastery of tools such as MS Project and the Gantt chart view of the product road map are exceedingly important. If you are working for a MidWestern company, rather than say, a start-up, you can’t ignore traditional budget and resource management constraints. As a start-up in growth mode, your focus is getting your product out the door with the resources you have or your resources plus the on boarding of additional resources. In a MidWestern company, you are most likely trying to maximize the resources you have or being asked to reduce your head count while still meeting project expectations. Thus, prioritizing features to be delivered against a shrinking resource pool is a given. You need something beyond the agile sprints/releases under way to manage project stakeholder expectations on what can be accomplished when.

The Gantt view of the work allows for a graphical view of “if this is more important, what else is impacted” realities. Additionally, add in the need to manage a fixed pool of resources across multiple agile projects and you absolutely have to have some way to represent a view of the prioritized work across all resources. In addition, you may need additional tools to help represent the “what if our team member Sally gets assigned to the VP’s ‘special project’, what does that do to our resource model and what can get done when?”

Conclusion

As an IT manager or IT project lead in a MidWestern company that is moving towards more agile project management and technology delivery, you may be tempted to relax the project management disciplines that come with the more traditional waterfall approach, specifically tracking project schedules in a Gantt chart. In order to avoid the inevitable product stakeholder expectation mismatches as well as pending budget cutbacks and/or uncontrollable resource re-allocations, keep collecting that “program management” data. Continue to have re-occurring meetings to review the “big picture” Gantt chart view of the work and use other tools to reflect “what if” scenarios and their impact on the big picture.

, , , , , ,

Related posts:

  1. Does Agile reduce Application Over Architecture?

IT Role Spectrum

IT Role Spectrum

Someone noticed, when reviewing my work experience on LinkedIn, that over my tenure, I’ve had the opportunity to manage both IT infrastructure teams and IT software development teams.  They posed the question of what are the differences between managing the two different teams.  This question got me thinking.  People that focus on infrastructure compared to software development do represent potentially opposite sides of the IT engineering spectrum.  Further more, I believe there is a middle of that spectrum. There is a role for individuals that integrate disparate vendor software products on top of infrastructure to create a technical service provided back to the organization.  I am not sure there is a universal name for this functional team of individuals, but I’ve heard them referred to as integration engineers.  I have also had the opportunity to manage an integration engineering focused team as well.

Note: Check out Part 1 for an excellent interview with Jim Shelton, Executive Recruiter; Information Technology for MRI North Canton to get his perspective on the differences he sees in MidWest IT managers looking to hire infrastructure versus software development resources.

“IT Role Spectrum” or Differences between the Three Engineering Teams

The most striking differentiation between the three teams is the reliance on vendor technology versus custom built technology.  At one end of the spectrum is the infrastructure team which is 100% reliant on vendor technology.  I can’t imagine any MidWestern company in the present that is ordering individual PC components and assembling their own PCs or servers.  Even when I was first introduced to corporate IT infrastructure back in the very early 1990s, companies were buying complete PC and server solutions from vendors, not building their own.  At the complete other end of the spectrum is the software development team that will use a programming language that may involve some separately licensed third party components, but primarily is completely custom building technology with every detail of what is being built known to the team.  Even software development third party components are designed to automate some aspect of the software development process that every piece of software needs, such as displaying information in a table or rendering an image.  Since the components are destined for a team that demands customization and flexibility, the components by design are extremely flexible in nature with significant transparency on what functions they perform so the development team still is in complete control of the technology.

Thus you have what I am calling the “IT Role Spectrum”:

blog - IT Role SpectrumAs you slide from the left to the right, your hardware focus shifts to a software focus and your vendor management/dependency goes from exceedingly high on the left to practically non-existent on the right.  Thus, as an example, integration teams need a bit of knowledge and experience from both sides of the spectrum.

Managing Different IT Engineering Teams

Now, finally on to answering the original question of what are the differences in managing these teams?  Let’s start from the left side of the spectrum:

Infrastructure Team Management

It has been awhile for me, but thinking back, the first thing that stands out is the likelihood that your team is made up of more junior level folks.  Individuals that are starting out in their career based on tinkering at home with computers and networks and Internet connectivity, finding it interesting, and getting into the work force motivated by those interests.  Or, if not their first IT job, possibly their second coming into an infrastructure team from a company help or service desk function.  These individuals are that guy or gal that builds up their skill set providing technical assistance over the phone and wants to keep learning by becoming more hands on.  Depending on the size of the organization, these may be formal cross department job transitions or a job change within an existing team.  I am certain there are probably other motivations for individuals to want to get more hands on with technology, but the theme I recall is a tendency for aspiring IT engineers to want to continue to get more hands on with technology.  Similarly, with low barriers to entry comes propensity to join, reach a learning plateau and then move into another role outside the team.  Thus, turnover is a challenge for an infrastructure manager.

This tendency for more junior resources puts an additional burden on a manager.  As a manager, you have probably been exposed to a number of business-isms that dictate patterns of service behavior.  Examples such as the larger the office, the higher priority that should be applied to corresponding requests.  Priority is kicked up another notch if the office has a door, or a couch, etc.  Administrative assistants need additional priority above and beyond the “a level 4 ticket is a 2 day response and 5 day resolution SLA” standard.  Additionally, certain individuals, regardless of rank or file, require a higher level of service because they have direct lines of communication to important people or your management.  Thus, these people need high touch service even though the rules and SLAs don’t indicate that they should.  Inquisitive junior resources need extra coaching from their manager to help put these business-isms into a context they can understand.

Additionally, infrastructure as a whole is constantly been squeezed for cost efficiencies.  Infrastructure teams aren’t growing in size and service catalog in proportion to other areas of IT.  Thus, more coaching and context setting for junior resources is needed to explain why the workload is increasing and yet the staffing support is not.  Plus, infrastructure is ever increasingly viewed as the same as turning on a light switch.  It is just expected to work.  Corporate email systems are the perfect example of this.  I bet if you get a hold of your contingency planning or disaster recovery strategy documentation, email is listed as not a mission critical service to restore.  Customer systems come before most corporate systems.  But anyone with infrastructure experience knows that massive panic and dooms day scenarios erupt when corporate email is offline for even a few minutes.  Infrastructure is just expected to work all the time without fail.

This pressure to have constant 38 nines uptime for infrastructure services makes it challenging for a manager of an infrastructure team.  The biggest hurdle I see for new managers is to choose between empowering team members to do the work or take on the most critical changes and service outages yourself.  The later seems like the easiest.  Based on your wealth of experience compared to your team members, just roll up your own sleeves and take over the hard stuff.  That way, you can avoid the disaster that is the failed infrastructure service or maintenance change that results in blowing up something senior management can’t live without, even for two seconds.  Sure, it seems risky to delegate to a more junior team member to implement that patch or update, thus just do it yourself and you know it will get done right.  But is this really the best approach?  [Look forward to more on this topic in Part 3 of this series]

Infrastructure Management Summary

  • Junior resources = more management coaching/mentoring involvement
  • Cost reductions = continually pressuring staff to do more with less and justify requests with data (ROI, etc.)
  • Focus on up-time = little room for error, thus need to balance do it yourself with staff empowerment

Back to answering the original question of what are the differences in managing these teams?  Let’s go to the right side of the spectrum:

Development Team Management

If one could imagine an IT team that is a juxtaposition of an infrastructure team it would be a development team.  Instead of a heavy reliance on vendor products, you have a heavy reliance on internal knowledge.  Instead of having to build up a knowledge base based on usage and vendor interaction (infrastructure), you have the knowledge built up from the development team along with the software and applications as they are being constructed.  Instead of having to reverse engineer how the user base is interacting with the technology, you have some level of uses cases that were part of the design effort to build the applications and software so the user base can actually use it.  Instead of “I don’t know, let me open a ticket with the vendor”, you have “I don’t know, let me look at the source code”.  Instead of “we can’t do that until the vendor provides the next version next year”, you have “we can do that, should we fit that into the current development effort as a requirement?”  Hopefully you are getting the picture of the differences in approach due to the total reliance and total lack of reliance on third party and/or vendor components within the technology between the infrastructure and development teams.

Thus, one of the first challenges you have is to manage the scope of work requests.  Since you have no perceived vendor or external limitations, given enough time, your resources can develop anything.  Thus, in managing a development team, you have to have some methodology to blend requirements, resources and time.  Thus, you also have to mentor and coach your team to work within these parameters.  If not, you may have a bunch of “hey, we can do that” adding up to over promising features that can’t be delivered within the time frame needed.

Another challenge is leveraging some mechanism or methodology to assist in prioritizing development requests.  If business product owners have a direct line of communication to a development resource or team, they will most likely drive the prioritization.  Thus, as a manager, you need to constantly coach your team to redirect requests back through some sort of prioritization process to ensure appropriate visibility.  I’ll cover more on this concept in a future article, but lack of attention in this area will lead to problems in over architect-ed solutions as well as minimalistic point solutions that don’t scale to handle minor tweaks in the supported business process.  All of these combine to frustrate your team since they aren’t seeing their work being received well by their end users.

A third is constantly looking for ways to get your staff to share what they are working on and how others can avoid reinventing the proverbial wheel by developing a solution to a need that has already been developed by another individual.  Thus, a manager is challenged to constantly look for ways to get team members to collaborate and share what they are working on, etc.  At the same time, balancing the value each individual contributor makes with their personal goals and professional aspirations.  Finding a balance increases efficiency both in development and testing.  It also reduces maintenance costs by not having to maintain fifteen different ways to do the same business function.  Lastly, reaching that balance finds your team members more engaged and more positive about their overall work.

Development Management Summary

  • Creative resources = need to be coached to drive all feature/requirement requests through the project methodology in order to avoid over promising
  • Resources working on correct work = resources need to be coached to only work on feature/requirements that come out of a formal project or prioritization process
  • Resources need to collaborate yet be recognized for individual achievements = need to manage resources to share what they are working on and use common solutions to problems rather than invent your own and at the same time, balance their individual achievements against the combined achievements of the team

Back to answering the original question of what are the differences in managing these teams?  Let’s go to the middle of the spectrum:

Integration Team Management

In MidWestern companies with considerable vendor product deployments, there are teams that are not 100% infrastructure focused and not 100% pure software development focused which lands them somewhere in-between the two teams above.  I’ve labeled this middle as “integration teams.”  In managing these teams, a manager has to juggle the same challenges as both a development and infrastructure manager.

You may find yourself managing junior resources and thus have to invest time and energy in coaching and mentoring them on business-ism as well as drive junior team members to document more what they are doing as well as follow instructions from senior members in order to achieve consistency.  Having “Bob” be the only one on the team that can install product X on a particular operating system is not scale-able.  At  the same time, having “Bob”, “Sally”, and “Joe” each install the same product on the same operation system three completely different ways makes for a propensity for defects or issues as well as a troubleshooting nightmare in the future when “Bob” needs to solve a problem on a system “Sally” originally installed.  At the same time, a manager needs to divvy up the work so that junior resources get some challenging work rather than it all go to the senior members.  Throw in deadlines and the risk of a junior resource “learning on the job” and you have quite a balancing act going on all the time.

You also have to manage requirements and feature requests with a similar level of vigor as in software development and keep your resources all on the same page with these requests.  Sure,  the vendor may have a feature called “auto-enables the coffee machine to start brewing when the first person comes into the office” but until the product is installed in your company’s environment and the feature is turned on a tested, there is no guarantee it is going to work as all stakeholders think it should work.  Thus, a manager has to coach team members to be cautious about promising features without the appropriate caveats of testing prior, supportability, etc.

Another challenge is in managing creative team members.  Similar to software developers, if a vendor feature doesn’t quite work as desired, an energetic resource might break out the vendors API* and start developing the desired functionality.  Once promised and or deployed, now one has to maintain that customization through patches, fixes and version upgrades.  What seemed like a great benefit to the team member has become a cost and maintenance nightmare.  Thus, appropriately coaching resources to avoid making customization commitments without your full support is critical.

Integration Management Summary

  • Junior resources = more management coaching/mentoring involvement, focus on consistency across multiple resources yet keep challenging each resource safely to keep all engaged
  • Creative resources = need to be reminded to drive all feature/requirement requests through the project methodology in order to avoid over promising as well as include testing/verification of all features
  • Resources working on correct work = resources need to be coached to only work on “approved” work in order to avoid driving up costs with maintaining custom enhancements

Hopefully, after reading this article, you have a greater appreciation for management nuances between the three teams I’ve presented along the “IT Role Spectrum”.  Building on the points present in this article, part 3 in the series will offer some helpful tips aligned with each team’s unique management challenges.  Look for part 3 to be available soon.

*API = An Application Programming Interface (API) is an interface implemented by a software program to enable its interaction with other software. It is similar to the way the user interface facilitates interaction between humans and computers.

, , , , , , , , ,

Related posts:

  1. Managing Infrastructure Compared to Software Development Teams – Part 1

Over Architected?

Over Architected?

First off, I am by no means an “Agile” (nor even “agile” with a small “a”) software development expert.  There are many more individuals out there that are way more experienced and in a much better position to speak authoritatively about the Agile methodology and its associated principles on driving efficient and effective software development.  A few blogs where I consistently find great Agile perspectives are included at the end of this article.  But as I’ve participated in Agile and agile-like development efforts over the years, I’m finding an interesting pattern.  Agile and agile-like approaches have a positive by product of reducing the occurrence of over architect-ed software solutions. Over architect-ed solutions put stress on the delivery of a software application project as well as drive up the cost of software development and maintenance, in general, disproportionately to the business value produced.

As an example, a sample development effort starts out with:

Product: “We need a super widget in the product by next release, can we have that?”

Project: “We are going to need detailed requirements for the super widget in order to start developing it.”

Product: “Oh, it needs to be able to interface with the dry cleaners to know when it is time to pick up the laundry as well as make coffee for the customer before they get out of bed in the morning.  Basically the same features as our competitor’s recent release, but with these additional benefits. <Or some other description that is actionable at a high level, but lacks the detailed requirements needed to feed a development team with actionable development tasks>”

Development: “Ok, we’ll get started since we don’t have much time before the code freeze for the next release.”

… Time goes by …

A project status meeting occurs sometime in the future.

Product: “So, where are we with that super widget?”

Development: “We have the basic framework setup but it isn’t going to have all the features working by the next release.”

Product: “But I thought …”

Development: “But you said …”

Project: “What happened?  How come we are X days from the code freeze and we don’t have a viable solution?  I thought …”

Now sure, this isn’t the most perfect example of capturing how the requirements drift between stakeholders leads into an over architect-ed solution, but hopefully you get the scenario.  Or possibly another example would be when a solution is developed and released into the production environment.  Extending the example above, weeks later, when enhancements, tweaks or feature extensions are requested, a tense conversation occurs around:

Product: “But I thought the super widget would do X?  How come I am hearing it will take 30 hours of development to get X?  The testing cycle is already elongated due to the complexity of the super widget thus I thought it included X?”

Development: “But we said that the framework would support X, but we never said X would actually function without more development!  We developed the super widget to do W, Y and Z but only stubbed out X.”

Project: “But according to the requirements, it says X should be …”

And yes, an argument can be made that if:

  • more effective requirements gathering occurred
  • more effective project management captures more depth of what would be developed and available when
  • more effective product management defines a more exhaustive product feature road map that more clearly outlines what would be available and not available when, feature-wise

… These problems wouldn’t have occurred.  But the nature of an agile-like approach puts a tighter focus on all the stakeholders:

Product: They can share the “overall vision” of what they ultimately desire the product to do, but they are forced to consider what they really need within the shorter duration of the agile-like release schedule.  Thus, product walks away with a clearer picture of what they are really getting in the next release.

Development: They get the benefit of the product’s “overall vision”, yet, they get to quickly dive into the critical features and start the dialog of how long different feature components will take to develop.  Thus, development knows exactly what they need to do now for the next release, yet they benefit from knowing where this product feature is going in the future.

Project: As long as they keep the product and development stakeholders talking about granularly defining what needs to really be built by when, the project management function has much greater clarity into what is going on and what details to track.

From what I am observing, all of the above create a stakeholder forum of information sharing that reduces the likelihood that an over architect-ed application will get developed. Most importantly, instead of leaving the feature set open and vague enough to allow a creative and motivated development team to start building and building and building only to re-surface with a highly complex solution to a loosely defined problem or need, it brings more cohesion between what is really needed first.  Once the “first” has been built, the “seconds” and “thirds” get built inline with the product roadmap.

In researching this theory, I wasn’t able to find any articles that linked agile-like development efforts to a direct reduction in software over architect-ing.  This article entitled “Agile Architecture: Strategies for Scaling Agile Development” had some interesting content on baking architecture into an agile-like effort.

Anyone else have any direct experience in agile-like compared to waterfall-like development efforts yielding less application over architecture?  Can anyone share any links to good web articles on this topic?

Agile related blogs I follow:

David’s Software Development Survival Guide

http://softwaresurvival.blogspot.com/

NOOP.NL

http://www.noop.nl/

Software Project Management

http://blog.brodzinski.com/

fragile

http://fragile.org.uk/

Regular Geek

http://regulargeek.com/

Critical Results

http://criticalresults.com/

, , , , , ,

No related posts.


IT Engineering Spectrum

IT Engineering Spectrum

Someone noticed, when reviewing my work experience on LinkedIn, that over my tenure, I’ve had the opportunity to manage both IT infrastructure teams and IT software development teams.  They posed the question:  What are the differences between managing the two different teams? This question got me thinking.  People that focus on infrastructure compared to software development do represent potentially opposite sides of the IT engineering spectrum.

With that question in mind, recently, I had the chance to interview Jim Shelton, Executive Recruiter; Information Technology for MRI North Canton to get his perspective on the differences he sees in MidWest IT managers looking to hire infrastructure versus software development resources.  Given his 11 years in sourcing IT talent for MidWestern companies, I thought his perspective would be valuable and no surprise, it definitely was.  Below is an excerpt from that recent interview:

QUESTION: Jim, can you share a brief bit more about your role and history in recruiting IT talent for MidWestern companies?

ANSWER: I sure can.  I work for Management Recruiters – North Canton, Inc.  I started recruiting in the IT space back in April of 1999.  I have truly found the thing that I really love.  You see my background is that of an IT professional.  I have a Computer Science degree and started my career as a software developer back in the late 80’s.  I believe this foundation along with my desire to help people improve their lives and realize their dreams is what contributes to my success in recruiting.  Because of my experience, I have been recognized several times within and outside of the MRI organization for effectively solving my clients staffing problems.  The accomplishment that I am most proud of is that over 70% of the people I have helped to find permanent positions are still with the companies where they were hired.  This compares with the industry average of less than 40%.  This is the major reason I enjoy a better than 50% rate of repeat business from the companies I consider my clients.

QUESTION: So, when a hiring manager approaches you for a talent search, do you approach developing a search plan for infrastructure resources differently than software development resources?

ANSWER: Not at all.  The search process boils down to having relationships (people you know), initiating conversations, sharing information, and asking if they have any suggestions.  It’s simple networking.  This could be described as the basics of executive recruiting.  Where things differ is having the knowledge and skill to be able to effectively target the type of individual that the hiring manager is seeking to locate.  The best performing recruiters are able to ask the right questions to gather the correct information that allows them to effectively discover the pieces of information that is going to help them hone in on the “right fit” person for the position being described.  A common fallacy is that a job description does an effective job of conveying the type of person that a client is seeking.  A simple example is this.  You say that you want some M&M’s.  I go to the store and I buy plain chocolate M&M’s.  I give them to you and figure my job is done.  You say this isn’t what I wanted.  OK, what did you want then?  You said M&M’s and these are M&M’s aren’t they?  You say, I guess that’s right but I wanted the Peanut M&M’s.  So, I go to the store and I buy Peanut M&M’s.  I give them to you and figure my job is done.  You say this isn’t what I wanted.  I think you can begin to see my point.

So, the whole process begins with a thorough initial interview with the hiring manager and then we develop the search plan.  All search plans will include utilizing direct phone calls to targeted individuals, e-mails to both targeted and more general contacts, e-mails and phone calls to contacts gathered from internet resources, posting to internet job boards and social media sites, name gathering activities targeting companies with similarities to the search requirements, etc…

To summarize, the way you develop a search plan doesn’t differ.  The way you approach the resources doesn’t differ either.

QUESTION: Obviously the technical skills needed are quite different between the two, but what commonly exists across both roles?  I am thinking there maybe some common soft skills … what are your thoughts?

ANSWER: Another common fallacy is that recruiters are always looking for the “A” players.  I commonly describe these professionals as having the full package, excellent technical skills, excellent soft skills, and superb business acumen.  The reality is that depending on the need of the client could determine if Superman is appropriate or if “Clark Kent” will do!  Once again, it all comes down to the defined need.

The soft skills that are generally important are communication skills, both verbal and written, and general business knowledge (this is what I refer to when I say business acumen).  Another common characteristic that differentiates technical talent is industry experience.  Companies love to hire people that already have a general sense about their business category.

Some more specific “soft skills” would be things like leadership, tact (political awareness), personality, critical thinking skills, and attention to details.

QUESTION: In your experience in interviewing full time or contract individuals looking for work, do you find the two IT disciplines have common non-technical candidate traits or do you find a definite split between infrastructure candidates and software development candidates?

ANSWER: It’s bad practice to generalize things with a broad brush because there will always be exceptions.  So, I don’t think there are common traits in either group that would differentiate them, one from another.  You know they are all people.  I’ve always said people are people.

QUESTION: Have you ever been asked to source a senior candidate that can perform both roles equally well?  Do you find those individuals with deep skills in both areas easy or hard to find in the market?

ANSWER: It’s pretty common to think that in small to mid-size organizations that companies would ask me to locate an IT manager that can manage the entire IT function both the software development side of things as well as the infrastructure.  It is true that I have found it is a unique person that has grown up technically with expertise in both software development and infrastructure.  So, most IT Managers in these size of companies manage best the area where they are most experienced.  It is not uncommon for a company to have high turnover within one of the two disciplines simply because the area that doesn’t perceive their value to be equal to the other will have employees that don’t feel appreciated and valued the same as the other.  Even though this is the case, I am not generally turned to surface these type of managers because I charge a fee for my service and companies that are looking for a “specialist” are more inclined to use my service than a company that believes they really only need a generalist.  This is a mistake that is made because the leaders of the company interpret someone that has background in both IT disciplines is a generalist and not a specialist in any one area.  For purposes of this discussion, if a company was looking for a leader of their IT function and they wanted that person to be equally experienced in leading both software development and infrastructure functions they will have a difficult time in locating that person because it is most common that an IT leader has grown up technically on one side of the house or the other.

I do think it is an uncommon skill set and these type of individuals are difficult to locate.

QUESTION: Based on your experience, do you have any candidate coaching tips as far as how to position their resume and how to present themselves for an infrastructure position to a Midwest company in the current job market?

ANSWER: My advice in this market is not different than in other markets.  The key to finding positions is having relationships that you can network with to help you locate openings.  Experience tells me that a person referred by someone that has a connection with the decision maker, however remote that might be, is more likely to receive an interview than one that has no connection at all.  I know this won’t sit well with those that are unemployed right now but, the best time to position yourself for your next position is to be involved in the community of like skilled professionals.  The relationships that you develop while you are employed are the ones that you will connect with when you are looking to make a move or unemployed.  If you work in a large company, get to know as many people as possible within the company, stay in touch when they leave your company, you may need them in the future.  Also, join organizations, offline and online communities, volunteer, etc…  It really doesn’t take that much time it just takes effort.

Sure you want to use job boards and other sources of advertised jobs but don’t limit your search efforts to these.  If you want to get into a company, use your resourcefulness to try to locate connections that you might have that might know someone in the company and ask them to hand deliver your resume or forward from their e-mail to the proper person hiring.  They don’t have to endorse you, remember your just trying to get the opportunity to interview for the opening.  After securing the interview, then you will have to do the rest!

QUESTION: Same as the previous question but for software development candidates?

ANSWER: Answer is the same.

QUESTION: Do you have any advice for candidates that are currently in house and are looking to become a contractor or vice versa in today’s Midwest IT job market?

ANSWER: My experience tells me that most independent contractors became contractors due to their current employer making the decision to outsource the job they were currently doing and the management approached them to become a contract employee instead of an in-house employee.  This is the ideal way to become a contract employee.  Other than that, becoming a contractor requires a special person that not only enjoys doing their IT jobs but, also, enjoys the challenge of locating the next assignment.  I would say that the grass is not always greener on the other side.

At this point in time, rates for most contractors are at an all-time low.  There is less and less contract work and more and more contractors that are available for the work.  If you remember your economics classes, I think you can understand what I am saying.

QUESTION: Lastly, for both infrastructure and software development positions in Midwest IT companies, what are the most in demand skills for each that you are being asked to source?  Is there a noticeable trend for more contract or more in house positions for each?

ANSWER: I’m the type of person that always tries to answer questions directly and this question frustrates me because I have to answer it with a somewhat vague response.  I am definitely seeing more demand for contributor (non-manager) level positions than anything else.  The mix of demand for infrastructure resources vs. software developers is about the same.  But, since I don’t really specialize in any one technology, the technology mix is all over the place. VB.Net, Java/JEE, citrix, vmware, AIX, C#, SQL SVR, t-SQL, DB2, MCSE, MCSD, CISSP, Oracle Forms, PL/SQL, Windows, AS400 (iSeries), etc…

Across the board, the trend is leaning more toward contractor vs. perm.  As a whole, companies continue to be cautious about adding headcount.

This has been a very difficult 24 mos.

Jim, thanks much for taking the time to sit down with me and chat about what you see in the MidWest IT market for both infrastructure and software development positions.  As always, appreciate your experience and wisdom in this area.

Look for Part 2 to dive into the aspects of managing these two different teams.  Plus I’ll argue that a third team also exists within the IT engineering team spectrum to be posted soon.

, , , , , , , , ,

No related posts.