6 Ways to Address the Technical Skill Gap

Now Hiring
In my recent post on why there's a tech skill shortage, I provided some fundamental reasons why there is a significant skill gap between what IT organizations are seeking and the skills that many entry level technologists command. It's a serious problem for businesses when hundreds of thousands of jobs go unfilled for more than ninety days while more than 11% of undergraduates are not employed six months after graduating.

There are ways for corporations, universities, students, government, and nonprofits to chip away at this issue. Getting kids coding earlier and establishing bootcamps are good ideas suggested by CareerFoundry. Florida is allowing students to replace their foreign language requirements with coding skills, a move that I would label a compromise as I'd prefer seeing students learn both foreign language and coding. The Forbes Technology Council published a number of important suggestions including getting more woman and girls to code and reviewing incentives, training, and mentoring programs.   There are also many that believe the gap could be solved by offering apprenticeships.

The Tech Skill Gap is Everyone's Issue

You can't solve the skill gap by putting the burden only on employers, employers, or students and it will take a coordinated effort over a period of time to reduce this gap. Here are some of my suggestions

  1. Employers can hire citizen developers and data scientists with technology backgrounds. Businesses need STEM graduates in many areas outside of traditional IT especially if they want to mature citizen development or citizen data science programs. This will require convincing business managers that hiring technical candidates is a smart strategy and also require developing different career paths for candidates that sign on. 

  2. Partner with the freelance community to give experience to entry level engineers. Candidates can build up their experience and technical skills by winning and completing projects  while employers can experiment with new talent without committing to employment.

  3. Engage multiple universities on corporate sponsored hackathons is another way corporations and universities can partner to mutual benefits. By working with multiple universities, corporations can increase the likelihood of getting real business value from these contests while also evaluating the work from multiple potential hires.

  4. Corporations have to renew their responsibilities to provide ongoing training and a reasonable work/life balance to the engineers that they hire. Too many organizations expect short term ROI from training programs and make it difficult for technologists to break from their business deliverables so that they can learn or practice new skills. Even worse is when organizations overwork their top engineers making it difficult for new hires or mid-level talent to contribute. I would love to see large organizations accept a manifesto that requires ongoing training and balancing the workload of their engineering talent.

  5. Universities should partnerships with MOOCs to provide students specialized technology training that may fall outside of the curriculum required for a degree. It's unlikely the average university will prioritize extensive course and lab work in technologies such as Hadoop, Apache Spark, data preparation, CRM, mobile development and other commercial or open source technologies where the skill gap is most significant. 

  6. Reach out to non-profits, veterans and other alternatives to fill skill gaps. LinkedIn, Microsoft, Amazon, and Uber are all investing in military veterans, many who have technology skills and can fill technical roles across the organization. More than 300 companies are participating in TechHire, a campaign sponsored by President Obama to expand local tech sectors by building tech talent pipelines in communities across the country. NPower is an organization that provides individuals, nonprofits and schools opportunities to build tech skills and and is also an opportunity for corporations to support.

These ideas only work if corporations and universities make changes that go beyond filling roles on today's projects and addressing the needs of today's graduates.   
continue reading "6 Ways to Address the Technical Skill Gap"

Why there's a Tech Skill Shortage - A CIO's Perspective

A couple of articles published last week raised the issue of whether universities are graduating sufficient technology talent to fill positions at US companies. First, Gary Beach provided significant evidence that the skills gap is no laughing matter to CEO and CIO that recognize technology can drive transformation and growth. He quotes studies showing over 500K IT jobs remain open after the first 90 days and that the most sought after skills are in algorithm design, distributed systems, cloud computing, machine learning, mobile development and NoSQL. In the UK, TechRepublic asks why 11.7% computer science graduates remain unemployed six months after graduating.

I'd like to offer some very simple reasons why the skill gap is real and why new graduated are entering the market without sufficient skills to gain employment. In my next post, I'll provide some suggestions on what businesses, students, and universities can do to close the gap.

Transformation Drivers and Financial Constraints Drive CIO Hiring Strategies

Gartner basically shows flat IT spending over the last five years while CIO are required to do more supporting digital transformation, big data, mobile, security and other initiatives. Even when transformations such as cloud, SaaS and lowcode platforms can help reduce costs over time, there is a significant transition period where CIO have to fund multiple platforms and skill sets in parallel.

Couple these financial constraints with the need to go faster, deliver more innovative solutions, and provide solutions that enable amazing user experiences across multiple channels. CIO have to find an optimal mix of talent that can drive these initiatives, meet competitive challenges, and live within financial constraints.

Lastly, maintaining systems for key business processes is an important secondary challenge as the cost of downtime is more expensive and the expertise to maintain multiple interconnected legacy systems scarce. Top talent is often assigned to drive transformation and those left to support production platforms require multiple skills and talents to resolve issues, identify root causes, or perform upgrades.


 CIO Hire Multi-Skilled Technologists with Deep Expertise

What this means for most CIO is that when they need to hire, they are likely searching for multiple skills with deep understanding of several platforms. They can't hire DBAs, databases architects, database programmers, and system engineers to manage their databases and are likely looking for people that demonstrate multiple skills. They are unlikely to be on a single database platform and are probably investing in Big Data and NoSQL technologies, so database specialists are expected to be strong in different technologies and platforms. Databases don't operate in silos and have data preparation, analytics, mobile, and other interfacing applications, so engineers and developers need some mastery of these middle tier applications. If they're developing custom workflows and user interfaces then "web developers" are expected to have mastery in both "front end" and application development domains. CIO always struggle to fund testing so they are likely looking for people who perform some combination of functional testing, automation, load testing, security validation, browser testing, and other forms of quality assurance. UpScored.com's representation of the top 30 skill gaps likely resonates with many CIO.

When the logistics permit hiring someone skilled with one or few technology skills then they are more likely to outsource this resource need. The project demand for this skill set may be temporary and it is often cost effective to fill gaps using freelancers or with offshore or nearshore service providers.

Lastly, digital transformation often requires leveraging emerging technologies where having significant experience and knowledge is necessary to be effective delivering solutions. CIO are more likely to hire experts for these initiatives because the risk of under-delivering with mediocre or entry level talent is too significant.

Businesses are All Competing for Top Talent, Outsourcing for Skills in Single Technologies

So the gap is simple and real and here's why. When CIO are hiring, they are looking for employees that either already have deep expertise in multiple technologies, or show the capacity to learn these quickly. They are willing to pay top dollar for a versatile data scientist that can work with multiple platforms rather than invest in several data scientists with specific skills. When they need scale or specific skills, they are more likely to build offshore captives, partner with service providers, or look to hire remote freelancers.

This also explains why so many graduates have a hard time finding positions. If they come out of school knowing only a handful of technologies and platforms with entry level experience, only the largest hiring firms will be able to interview twenty to hire five and aim to retain two.

The Tech Industry Has Better Options to Address the Skill Gaps

This isn't the first time the tech industry, academic institutions, and tech graduates have witnessed a significant talent gap. Whenever there is a new group of technologies that can drive significant business transformation there is a strong likelihood of skill gaps in both new and legacy technologies. Remember how hard it was to find web programmers in the late '90s to develop websites while searching for cobol programmers to address Y2K issues?

But there are options that can address some of these gaps that I will cover in my next post. Signup below if you want a preview!

continue reading "Why there's a Tech Skill Shortage - A CIO's Perspective"

What is Data Preparation and understanding Vendor Capabilities

I guessed I missed the memo saying that ETL, Data Integration, and Data Quality are outdated terms (and technologies) and the new term used at least by Gartner and at O'Reilly Strata last week in NYC is Data Preparation. I can't say that I blame the industry because few executives understand data integration, ETL is associated with linear, long running data batch processing, and last generation's enterprise versions of data quality tools were too complex and expensive for many organizations.

What is Data Preparation?

At Strata last week I was able to see a number of vendors that are listed in Gartner's Guide for Self-Service Data Preparation. What is universally different from the new generation of data tools versus older ones is that they are "self-service" tools targeting either business users, data scientists, or citizen data scientists. Beyond administrative tools, the capabilities and user experiences of these tools are largely designed for non-technologists, although many enable advanced capabilities and the ability to plug in R, Python, or other code developed by IT or data scientists. This is a sharp contrast to ETL and data quality tools of the past that were largely designed for IT. Gartner goes on to illustrate several other differences around data types, sources, models, and other areas of differences between traditional data integration and data preparation.

When you review different vendors, you'll see that they focus on different aspects of data preparation and the sophistication of their capabilities vary considerably.

  • Many market themselves as tools that enable Big Data and Hadoop by allowing business users to easy load and join data sets into their Hadoop clusters. For the CIO that has big data infrastructure that is underutilized, these tools are designed to be "on ramps" to enable business users to begin loading data and performing analytics. DataMeer, Pentaho, and MicroStrategy are examples.
  • Some are positioning themselves as data lakes, or data lake management tools. They have similar data preparation capabilities for business users, but add IT operational capabilities around the data lakes. Vendors include Zaloni.
  • Most vendors then have some capability to either transform, join, or cleanse data. Many will use visual pipeline tools to illustrate steps, data grids to profile and identify cleansing issues, visualizations to help users discover basic information around the data set, and catalogs so that users can search and find relevant data. Example products are from Trifacta, Talend, Informatica, and Paxata
  • Many of the data visualization vendors also have some amount of data preparation capabilities. For example, Qlik can do data transformations and Tableau can easily do blends, grouping and binning. Other vendors in this space are Microsoft Power BI and SiSense.

I didn't get to visit every vendor at Strata such at Attivio, Waterline, ClearStory Data, RapidMiner and others that play in this space, but it's clear that CIOs and Chief Data Officers have their work cut out for them reviewing and selecting data platforms that work easily with their existing investments and platforms.

Want to learn more? Please sign up for the newsletter where I will share one secret to evaluating data preparation platforms.

continue reading "What is Data Preparation and understanding Vendor Capabilities"

Alexa, Siri, and Cortana Voice Controls Going Mainstream

Star Trek Scotty, A Keyboard, How Quaint
Alexa has over 3000 skills. The iPhone 7 goes wireless, a step Apple is taking to get users to leverage Siri more frequently and easily. Microsoft is broadening Cortana's AI capabilities

We've reached an inflection point; the end of the keyboard, mouse, and touchpad and the start of voice commands as a legitimate controller. When you develop your next application, you are likely implementing mobile first, web second and thinking about a watch experience. Now add voice controls to the mix and someday soon voice inputs will outnumber keyboard inputs.

A couple of weeks ago I saw a developer configuring Alexa to push data into AWS Lambda and store information. Alexa has some limitations in that voice commands needs to be configured up front, but the demo showed that it's relatively straightforward interfacing basic voice commands to applications.    

Reminds me of this classic Star Trek scene. "A keyboard. How quaint" says Scotty

continue reading "Alexa, Siri, and Cortana Voice Controls Going Mainstream"

Modern Software Development - Why Less Code is More

StarCIO Less Code is More
Last week I participated in a panel, "The Future of Software" at the Northeast Javascript conference and was asked a question about code quality. "Are you seeing better or worse code coming from developers today?"

"I am seeing less code today."

I'm not just talking about low code platforms that can enable software developers and citizen developers to build entire applications with relatively little or even no code. I'm speaking about applications where you have to develop proprietary code but can accomplish your objectives with minimal coding effort. How? By leveraging programming environments, frameworks, and libraries that do most of the heavy lifting for you.

Stories from the trenches on too much code

Let me share a couple of stories with you. First, about an application that I reviewed about fifteen years ago that had over one million lines of PERL code. Now the code base leveraged frameworks and libraries and was very well structured into modules and functions. I don't think very many people would call it "bad" code, but it was big and complex. When it came time to update the code to add functionality or improve performance, the development team struggled to understand dependencies and perform end to end tests. That code base ended up getting rewritten largely to address performance issues, but the secondary objective was to put it into an application framework and better enable a larger development team.

Here' another story at a different job. About five years ago I was week one in a new CIO role and was asked to go and review a new product that was under development. It was May, the product was due in August, and the team was following "agile" so I asked to see a demo. As I recall, the demo was of a single screen, a dashboard with a handful of charts that let's just say looked less than impressive. More precisely, it looked like something out of a 1980's version of Lotus 123. I then asked to see the code that generated the dashboard, so the developer proceeded to walk me through several hundred lines of code it required to generate it. That product had to get a restart, first because the project wasn't anything close to being agile, but more importantly, because we needed to switch platforms. While the underlying BI framework was powerful, it required way too much programming to perform even basic data visualizations.

Why Less Code is More

With today's software development frameworks, code quality should partially be judged by the "less is more" metaphor. With all of today's technology, you should be seeking out frameworks that meet operational, security and other criteria that enable the productivity of a team of developers, not just your star developer that has enough talent to get things done without a lot of help.

Why is this so important? Because application development isn't just about getting 1.0 out with a superior customer experience on time and on budget. If you're agile, 1.0 is just the MVP and the organization should be planning to do enhancements, fixes and other upgrades. With less code, you have less to maintain. In general, you have fewer dependencies and complexities for new developers to understand before they implement changes. You have fewer places that you control that can negatively influence performance, scalability, or security.

It's not the only code quality metric. I also look for modularity, evidence of reusability, the presence of naming convention, and the existence of unit testing. But if it's a large code base I know I have an uphill battle.

continue reading "Modern Software Development - Why Less Code is More"

Understanding the difference between Low Code, Citizen Development, and Sales Bull

Lying salesman
I started with low code development environments over a decade ago. We were a ~10 year "startup" with multiple businesses and limited technology resources to support them all sufficiently. One of our emerging business required some automation to enable an internal and customer facing workflow. They were an early form of an ad network essentially selling banner ads to US national advertisers and buying placements across a number of local websites. They needed a system that would track the proposal terms, the inventory acquisitions they were making across websites, and have the ability to ensure profitability. They also needed the ability to invoice websites and to capture ad inventory from them.

We built the entire workflow in Quickbase. It included a back-office process that used platform's native interfaces and a customer facing extranet that was developed using their APIs.

That's how I got started with low code platforms, but that's not where I stopped. I've used low code platforms across several organizations and have several posts covering the best line of code you didn't have to write, four reasons why citizen development may be the next big thing, and what IT it takes to be successful on low code platforms.

What are low code platforms?

Low code platforms enable the development of applications without a lot of formal coding. In the '80s and '90s, we called them 4GLs to differentiate these languages from more native, lower level 3GL programming environments like C++ and Java. The idea of 4GL was to eliminate a lot of the coding expressions that enable an application to function and free the developer to focus on the business logic and presentation. The goal was to enable developer productivity and platforms like PowerBuider, FoxPRO, even Microsoft Access and others enabled rapid application development within a specialized scope of application.

There were a few fundamental issues with 4Gs. First, they were highly proprietary so if you built apps on them, you were stuck with their dialect and code base. Second, even though they offered some productivity improvement over 3GLs, they still required a lot of coding performed by a developer that was trained and had experience working with the development environment. In other words, you had to hunt for a specialized skill set. Third, the productivity improvement was possible on a class of applications that the software vendor targeted, so until you experimented with the platform, it was hard to know its true capabilities and deficiencies. Finally, many of these programming languages emerged pre-web, pre-mobile, and pre-digital and are ill suited to today's device, data, and integration requirements.

Some answers emerged about a decade ago when "low code" platforms emerged. These platforms came out of the web 2.0 and mobile and rather than just target simplifying the coding dialect, their goal was to minimize or eliminate it. With platforms like Quickbase and others, you could eliminate a lot of coding entirely and instead, configure forms, reports, and workflows without having to write a lot of formal code.

What are Citizen Development Platforms? 

Forrester has 10+ platforms evaluated under low code and Gartner has 15+ under their Magic Quadrant for Enterprise Application Platform as a Service, Worldwide so you have a lot of research to do to evaluate and select one or more platforms nowadays. Some of these platforms will work successfully across a broad range of business applications, others are more niche. But what's the difference between low code platforms and citizen development?

The answer lies in who the vendor is targeting for the application development work. If the platform is designed to be operated by application developers and aims to make them more productive, then this is a low code platform. These platforms can be extremely powerful like enabling developers to connect to multiple data sources without a lot of heavy lifting, but at the potential cost of vendor lock in if their dialect is proprietary. Some of these platforms generate 3GL code (Java, C# etc.) and alleviate that risk.

To be a citizen development platform, it has the added criteria that they are designed from the ground up to be used by business users. Citizen development platforms maximize digital transformation because they empower individuals and business units to enable business process automation and even customer facing workflows without having to engage software developers until absolutely needed.

And sales bull?

Now there are a lot of platforms out there that look RAD, 4G, low code, or even citizen development to the untrained eye, but a seasoned CIO, CTO, application architect, or anyone who has skill to evaluate technology platforms can recognize where they fall short of delivering to any of these promises. The word is out and every organization has to develop more application, data capabilities, and algorithms faster than their competitors. So if you're a sales rep for any platform, you have to sell and demonstrate RAD capabilities to have a good chance at closing a sale. In addition, RAD is the music targeted by the untrained business decision maker looking to enable digital transformation.

It all looks good in concept until six months later when the business is hiring platform expertise at a premium and has yet to deliver a full functioning applications. Even if the application is delivered, can it be extended easily without a lot of rework? Can core business logic or user interfaces be reused in multiple applications? Do the applications require a lot of testing whenever the vendor updates their platform or APIs? What are the boundaries of performance, i.e., can it work with larger data sets, quantities of users, or multiple user roles or personas?

The simple answer to platform selection and implementation

When you're going to make an addition to your home, you hire an architect and a contractor to develop the plans. When you think about savings for your retirement, most people will work with a financial advisor or wealth manager to aid in financial decisions. If you have to draft or review a business critical contract, you're likely to seek advice from an attorney.

The same is true for platform selection and implementation. There's no shortcut because the type of platform benefiting one organization may be a complete miss for another business' opportunities and challenges. You need a CIO, a CTO, an application architect, or someone technical enough to guide selection, implementation and management of the platform.

I've been asked this question a lot. Hope this helps.
continue reading "Understanding the difference between Low Code, Citizen Development, and Sales Bull"

Five Key Investments to Drive Digital Transformation

StarCIO Smarter Faster
Heading back after summer breaks and most CIO are confronted with either developing, completing, and likely selling their 2017 budgets and plans. When it comes to digital transformation, many will think about plans for Big Data, IoT, AI, blockchain, and other business enabling technologies as core to 2017 plans. Some might be thinking about mobile payments, marketing automation, cloud migrations, digital customer experiences and other investments that improve products, services, capabilities, or efficiencies.

So let me suggest a few other digital transformation investments you may have overlooked. These are the less sexy investments that should underpin some of your more strategic initiatives.
  • Data quality and master data management - It's really hard to push Big Data, analytics, and BI programs when underlying data issues have limited attention or are not addressed. If you're trying to become a more data driven organization or leverage data in product development, investing in data stewardship practices which includes data quality and master data management is recommended.

  • Sales intelligence - If you're digital transformation includes delivering new products and strategic product enhancements (it should!), then you're going to want to track how existing sales channels, new sales channels, and changes in sales strategy impact selling new digital products versus incumbent products. Even if this can be accomplished with out of the box CRM reports (which is unlikely), you'll still want to put instituting sales intelligence on the strategic roadmap to drive training and process changing. 

  • Citizen development and citizen data science programs - Are your development resources stretched? Are you struggling to hire data scientists? Are you falling behind creating and updating enterprise applications in parallel to your strategic investments? Do you have millennials on staff that are capable of taking on more technically challenging work but need business and technical direction? If you answered yes to several of these questions, then you might want to look at sponsoring a citizen development program. See my previous right ups on practices for citizen development programs or how to kickoff a citizen data science program. Also, see InformationWeek's recent write up on my team on how one IT shop applies low code development practices.

  • Customer experience monitoring - As you're deploying more customer facing applications, you have to consider how to best monitor the end user experience and the health of the underlying systems. To best monitor systems for digital threats and issues, it's probably a good time to review technologies and approaches to threat monitoring, intrusion detection, and application level monitoring.

  • Workforce enablement - While many organizations have invested in tools for collaboration, enterprise mobility, unified communications, and agile project management there is still room to address other workforce enablement practices. Are you encouraging and measuring the shift off email to collaboration tools? Are you actively looking to reduce the number of hours in meetings? Are you measuring employee engagement in your innovation and portfolio management programs?

Another view through the Digital Lens to make your organization smarter and faster.

continue reading "Five Key Investments to Drive Digital Transformation"