As more and more business flows into SAAS and cloud computing investments, technology job seekers may want a better understanding of where to focus their learning, certifications and skills. The following is a look at software-as-a-service skills from the perspective of a CEO who has built SAAS-based cloud infrastructure from the ground up. eWEEK recently interviewed Apprenda CEO Sinclair Schuller.
The
hype is over: Adoption of cloud applications and software as a service (SAAS)
is for real, and this means jobs for now and the future. Despite the need for
stronger security and the preference for private clouds in the enterprise, the
cost-reduction benefits make these technologies very attractive to companies
and IT departments.
What
are the predominant skills necessary to work in and with SAAS systems? There
are essentially four areas of skills to comprehend and master: concurrent
programming, building for Web scale, employing high-availability software
infrastructure and performance-based architecture, according to Apprenda CEO Sinclair Schuller, a
Clifton Park, N.Y.-based SAAS infrastructure provider to the software industry
with more than 800 end users of its SAAS Grid Express offering.
"Another
way to look at SAAS skill sets is to group them in two buckets: industrial and
academic," said Schuller to eWEEK. "Industrial skills are those that
you can to some degree learn on the job but employ knowledge of programming
languages, of the framework du jour and understanding how to correct bugs.
Academic skill sets are higher-level skills with knowledge of how to design
systems for high availability and scale, many of which came out of technology
research communities, and have experience in areas like memory management
systems, thread scheduling and many skills aligned with operating systems."
In
terms of concurrent programming, Schuller considers it a major developer skill
because of the ability to write for parallelism and handle the millions of
instances of the software accessing the service at the same time. The Web-scale
demands are incredibly large and complex.
Some
of these development skills require working experience with agile development
methods with a rigorous discipline in testing, and in building working
architectures from the outset. Also, these architectures have to be built for
cost attractiveness and security, said Schuller.
"The
majority of the discussion on skill sets for SAAS focuses on the IT engineer
and architect, which are obviously important," said Schuller. "Yet,
the software developer has to some degree been ignored. There is pressure on
software developers to have to transform their thinking from a packaged
software world to that of a service provider. ... There is a paradigm shift
going on here."
That
shift means understanding multitenancy and efficient distribution at the data
level. It also means knowing how to design systems that weight performance
mechanics against cost and how to optimize for speed and service-level
requirements.
"The
software is so closely tied to the revenue model in SAAS and cloud applications
that developers and architects need to understand the products have to validate
and prove themselves to the customer all the time," said Schuller. "Customers
will decide very quickly if the product does not work for them."
Not
working is not really an option. If the scale, architecture and performance are
off, you will be affecting the bottom line of your customers. It also means
designing security mechanisms so customers can't see other customers' data and
having secure programming and recovery plans and processes in place.
What
do most companies not understand about software in the cloud?
"Well,
most of it," joked Schuller. "But seriously, many do not comprehend
the risks in magnitude of scale and that there cannot be any 'We will get to
that issue later' and roll out an offering before it is ready."
Schuller brought up the example of Sage Software and its foray into Sage Live, which was
a disaster and shut down after two weeks when customers' passwords were showing
up on URLs. Risk management is paramount, and critical failures will bite and
bite hard.
When
asked if certifications are important in the employees he hires for Apprenda,
Schuller said they are not necessary but are a very good thing.
"I
would never hire exclusively based on certifications, but it helps if they are
there," Schuller told eWEEK. "The industry does need a standards body,
and those standards need to be rigorous, deep and define competency levels."