Friday, January 30, 2015

Education and Software Development - It's going to get Rough!

I've been talking to several different groups lately on how we attract more people into technology fields - specifically Applications Development.  If your an employer and you're out looking for development talent - it ain't easy!

Maybe for the larger companies that have offices all over the country and that can pull from multiple pipelines, they might have it easier.  But for many small to mid-sized companies that are attempting to build or maintain their development shop - it's tough to source good talent.


Don't get me wrong - if you take your time, don't panic and hire the 1st candidates that show up (even though they don't match the qualifications or clearly will unsettle the team) and force yourself to hire individuals that truly meet the needs of the position and have the personality to fit in with the team, you can do it.  The flip side is you loose months of productivity within the team because the position sits open.  Now let me state right here - I will take the pain of an open position vs hiring the wrong person into the position.  And, yes, I have the scars to prove hiring the wrong person is a bad idea.  Trust me, it just doesn't work.

I will not speak for every company, or every geographical area across the United States.  We all have our own issues when attempting to find employees.  Overall, I think I have a great story to tell prospective employees - from the organization that I work for to the community that we work in, there are a lot of positive things happening.  Look no further than the following link if you want to know why folks should look to metro Des Moines area as a place to work and live.  This is a beautiful community with easy access to other metro areas and a lot of reasons to live and play right here at home.  We have plenty of colleges and universities in the metro area and our K-12 educational system is as good if not better as any other school district in the country.

However, I compete against a lot of companies in the local area for talent - large financial and insurance companies, to small and mid-tier companies - including tech start-ups.  The baby boomers are beginning to retire - which is leaving holes in all of our teams.  And our companines are demanding that IT shops expand to meet the needs of internal and external users.  In essence, we are competing for the same talent and we all need to be honest about where we are going to find these workers and also be honest about the false criteria we have within our hiring process that rules out good people.

Back in the day, many school districts actually had software development classes taught in the high schools.  I was lucky, when I was 12 I had a friend show me a teletype terminal (just dated myself) hidden in a small room at the middle school I attended.  I was curious and wanted to play around with the thing - not knowing what it could do.  Luckily, I had a math teacher that got me an account on the computer that the terminal was connected to and I began to teach myself BASIC.  By the time I hit high school, I was able to take formal software development classes using Fortran (and, yep, I've dated myself again).  If my memory serves me right, the high school instructor that taught me Fortran also ended up teaching me Assembler outside of class - that was some real fun.

Today, very few K12 school districts have formal technology classes provided to students.  Some of the larger schools in the metro area are able to provide them, but many don't have the money and the smaller school districts from what I can tell don't have the expertise or the money.

Well, in my opinion something is going to have to give:
  1. As parents - we need to stop hitting the easy button!  School is to prep our kids for the real world after they graduate.  While I encourage my own kids to be involved in sports - it's not at the expense of their education.  If there is a tough test coming up - I'll pull them out of practice to ensure that they are ready for the test.  We also need to speak honestly with our kids about what careers will allow them to live independently when they leave the house and move out into the real world.  We also need to support the instructors that are teaching our kids - that means when they aren't getting the grades we expect we hold the child accountable as well as the teacher.
  2. At the middle school level - kids need to be given formal opportunities to play with technology both from the hardware and development perspective.  We also need to change the way that we communicate these opportunities and ensure that we market these career opportunities equally to young women and young men.  Our field is woefully underrepresented by women - this didn't use to be the case and we need to turn this around.  If that means we have young women only technology competitions, than we have to think along those lines.
  3. We need to begin ensuring that every school district has the means to provide technology trade classes to their students.  Much like we have trade classes for auto (used to also have for metal and wood - some high schools still do), we need to have trade classes at the high school level for Technology fields.  If done right, these students should then be eligible for entry level jobs into the work force.
    1. Infrastructure courses that allow students to learn how to build and troubleshoot networks.
    2. Application courses that introduce students to the concepts of software development using scripting languages and progress to more structured languages used by business.
  4. We need to encourage our State Department of Education to ensure that Computer Science courses taught at the high school count towards the overall Math and Science credit.  Some states have even moved to count these courses as foreign language courses replacing Spanish, French or German.
  5. We need to look at the possibility of software educational boot camps.  I've been looking at these as tools to find developer talent over the last couple of years.  I have yet to pull the trigger, but based on what I'm reading and hearing, this is going to become a valid tool for many of us.  This is a very compressed educational and hands on environment that gives someone the basic skills they will need to join a firm as an entry level developer.  Usually requiring 10-12 weeks of 40+ hours a week to get the student ready and certified.
  6. We need to encourage and work with our Community Colleges to ensure that their course curriculum matches the needs of the business community - unfortunately, technology changes happen frequently and it's tough for the Community Colleges to keep retooling for the latest greatest fad.  We need to encourage the Community Colleges to stick with the bread and butter of what is needed within the local business community - augmented with some of the newer technology.  Slow down the pace at which they retool.
    1. While some of the scripting languages are hot, most business have standardized on Java, C++ and C#.  Let's make sure that they are learning the languages that will get them jobs.
  7. We need to continue to work with our 4 year colleges and universities.  Ensuring that their course work aligns with the needs of the business community.  These are fine institutions and they provide a much deeper experience for candidates before they come into the workforce providing both deeper theory and the practical how to of applications development.
  8. As business leaders and technology leaders - we need to make sure we are seeding our technology teams with entry level candidates when at all practical.  While it is easy to go out and hire only 'experienced' candidates - we are doing a disservice to the organization by not mentoring our next generation of leaders and subject matter experts.
We have become somewhat complacent because we have traditionally held a very strong lead on the rest of the world.  That lead is evaporating and we need to ensure that we are preparing the next generation to continue along the journey. 

Collectively, we need to get off our back end and demand the best from our kids and their schools.  We need to look at multiple ways to source entry level candidates into our organization and we need to be flexible when we look at how these entry level candidates got their education.  The days of sitting back and demanding that every candidate have a four year degree are over.

If you'd like more information on my background: LinkedIn Profile