Showing posts with label Education. Show all posts
Showing posts with label Education. Show all posts

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

Wednesday, November 12, 2014

STEM - Stop Talking, Start Helping!

There is a lot of talk across the nation in promoting STEM careers with our younger students.  This continues to be an issue that we need to address.  More jobs continue to open up within these fields and that trend will only accelerate as the Baby Boomers retire.

Take a quick look at the number of job openings that are expected thru 2022: BLS: Occupational Outlook Quarterly.  Let's review the top jobs identified in this report (as of Spring 2014):
  • Software Developers - 218,500 openings thru 2022, average wage $92,660
  • Computer Systems Analysts - 209,600 openings thru 2022, average wage $81,190
  • Computer User Support Specialist - 196,900 openings thru 2022, average wage $46,620
  • Software Developers, System Software - 134,700 openings thru 2022, average wage $101,410
  • Civil Engineers - 120,100 openings thru 2022, average wage $80,770
You know what, those are pretty good wages!  I recognize that these are not the starting wages, that said, you can see that overall, these are jobs that will be in demand.  Students entering into these jobs should see wage increases that will allow them to earn a decent living.

My focus in this post will be careers in Computer Science.  While other STEM careers are critical - I'll focus on those that I'm most familiar with, those that have powered my careeer.

Unfortunately, here in the States, we are doing a very poor job of educating our students about what opportunities are available and are not focusing our curriculum to encourage young students to explore the career choices.

Only 1 in 10 of our high schools offer computer science programs for their students (as identified by TEALS).  That is a scary statistic - if 9 out of 10 schools can not provide early experiences to students that might be interested in Computer Science, how are we expecting these students to make the choice to pursue degrees in Computer Science.  More importantly, if it is this bad at the high school level - what do you think it looks like at the middle school level.

I firmly believe that if we don't find a way that allows middle school students a way to explore these careers early and then do not reinforce that through high school experiences, that we are failing the next generation.  More importantly, we are putting the future of our companies at risk.

So, here are my ideas of what needs to be done:
  • Our local school boards need to find a way to introduce computer science curriculum into all middle schools.  These courses need to count as math or science credits.
    • We need to specifically find ways to encourage both young men and women to take these courses.
  • Our local school boards need to find a way to introduce computer science curriculum into all high schools.  These courses need to count as math or science credits.
    • Alternately, some states are declaring that computer language courses would count as foreign language credits.
  • Our states need to fund the expansion of STEM exploratory courses at both the middle and high school levels.
  • Businesses need to step up and provide volunteers to go into the schools and assist students as they explore STEM careers.  Some of this is being done through initiatives like Lego League, but we need to find these types of programs and make them available to every school, every year.
  • Businesses need to open up and hire more entry level technology students.  I have seen the tide shift to where many companies now only want to hire people with several years of experience.  They no longer want to hire newly graduated students and mentor them into the next generation of experts within their company.  Or they only want to contract and rotate people in and out every 18 months.  That may work for their bottom line today, but it destroys the expertise that they will need when current subject matter experts retire.
And, yes, before you ask, I'm holding myself accountable.  For years, I have taken time to regularly talk to high school and college students about career opportunities and what life is like working within the Computer Science field - specifically software engineering.  I have volunteered to assist as schools present various tech initiatives for their students.

If those of us in this field don't take the time to encourage the next generation to step up and become the future technology experts, who will?  If we don't take the time to encourage our schools to address the educational needs that will drive job opportunities, who will?  If we don't take the time to personally lobby/communicate with our state leaders on the need to drive change in this area, who will?

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