Part 1 Introduction
Part 1 Introduction
1. IT Boom: It
happened once!
We belong to an era that gave birth
to new industries resulting in innovative technologies, abundant business
opportunities, millions of jobs and sophistication our lives. IT is one such industry.
In early 70s, students seeking
admission to engineering programs opted for mechanical, civil and electrical engineering.
Even though some of them had an offer of admission to join the brand new and
first-hand computer-engineering program, they did not change their mind. They
wanted to avoid the unknown. During later
years, this trend changed. In 90’s it became a mad rush - a mad rush to pursue
undergraduate and graduate programs in Computer Science, Computer Engineering,
Information Technology and the likes.
This mad rush is not just about admissions. There is more to it.
Sometime in 1991, I attended a job
interview of one of the top twenty IT companies in India. There were several job openings for software
engineers with experience ranging from two to five years. I was looking forward to a better opportunity
and that is when I got this interview call.
I was the fourth or fifth in the queue to be interviewed. My turn came
and I entered the room. There was a
young man who greeted me and offered me a seat.
He was very vibrant and enthusiastic. After several general questions, that young
gentle man – the interviewer, who was seemingly in a hurry, asked me only one
or may be two technical questions! The
interview was over in less than five minutes. Bingo! In two weeks, I got a job
offer with a firm commitment on an opportunity abroad. It was a tempting offer.
Nevertheless, I decided not to join because I did not see any merit in their
interview process. The interview was too
trivial and uninspiring. One of the two technical
questions that I answered without any efforts was, ‘How do you count the number
of records in a table using SQL?’ The other question was, ‘What are the
attributes of a file in Unix?’ Those
days, relational databases and UNIX were the hot topics. There was no Internet,
Java, .Net or the likes. It was a boom time for software engineers. The demand
was extremely high. It was a mad rush.
Yes, it was a mad rush. In 1999, a year before the dot com burst I
was in the team of technical interviewers in my organization. On a weekend, we
were camping in one of the large cities in India to conduct interviews in web
technologies. We had booked two
conference rooms in a five star hotel for two days. On the first day of the interview, our team
interviewed close to fifty young engineers – they were all working
professionals with two to five years’ experience. Out of all those who attended interviews, our
team shortlisted four or five of them.
Though we were way behind our target, we did not compromise on quality.
Coincidentally, in that hotel two
other organizations were conducting interviews to hire engineers with more or
less the same set of skills. The next
day, I was interacting with the panel members of one of those
organizations. He introduced me to a new
panel member in his team. This new panel member was none other than someone our
panelists interviewed the day before. We had decided not to shortlist him
because his technical experience was not up to our expectations. On the
first day, we interviewed him and he was a reject. The next day, he was screening resumes and
conducting interviews for another organization!
I smiled at that surprise! Why
was that happening? Mainly because, it was a mad rush! – A mad rush to recruit
hundreds or thousands of engineers to grab IT projects coming from
international customers. Opportunities
were skyrocketing!
I am sure some of you witnessed
similar experiences. It happens in a demand driven industry. Obviously! However, a demand driven industry does not continue
to remain demand driven over years! You
know what happened as we celebrated the New Year 2000.
The challenges that preoccupied our
industry during the run-up to the millennium, especially the Y2K problem, the
dot-com bubble and the events that followed the downturn, had significant
impact on all of us, our families and peripheral industries that relied on the
IT growth. Many startups vanished because of a lack of additional funding.
While the confidence and hope of product development organizations thrived after
the telecom bust, several other socioeconomic and political factors challenged
the industry. IT industry bounced back within few years and had another spurt
of growth until 2007. Next, a seemingly
isolated turmoil in the US sub-prime segment spread like a wildfire triggering
‘Global Recession’ in 2008 and even after six years since it hit our world
continues to recover gradually – it is painfully a long running recovery!
Looking back, the so-called IT boom
happened once or twice. That is history. Many pundits have predicted that a similar
boom is a distant dream. However, most businesses are upbeat, confident and strong
to face the future. They are devising
innovative strategies and approaches to overcome the new challenges. This applies to IT professionals too. We cannot do what we did years ago and expect
the same results. We know that.
Whether it is a boom time or a
downturn, I have consistently experienced, heard and acknowledge two things -
these are our takeaways.
- There is always a scarcity of competent and experienced professionals in this industry. Those who are competent, dauntless and adaptable survive and grow.
- In this new economy, businesses need innovative solutions, which in turn need expert teams and collaborative and trusted partners. If your goal is to be one among them, you can succeed!
*-*-*-*-*
2. Decades of
Transformation
IT industry has gone through
several decades of transformation. The term ‘Software Engineering’ emerged from
the conferences organized by NATO (North Atlantic Treaty Organization) in 1968
and 69. The power of hardware multiplied year on year. Several trends in hardware, networking and
software emerged. Much of these are well
documented and available in textbooks and on the Internet.
Gone are those days when monolithic
IT systems were developed and maintained by exclusive communities of IT
professionals confined to technology-savvy regions of the world. The challenges
of software engineering during the 21st century are quite different and multi-fold
because of factors such as globalization and technology evolution.
Global software engineering (GSE),
which involves virtually distributed teams working across time zones, is a
growing area of practice and research. While GSE enables our industry to
leverage the skills and competencies of software professionals across the
globe, it poses several difficulties with regard to time differences, communication,
coordination, and cultural issues.
Meanwhile, the evolution of IT in
terms of programming languages, databases, tools, platforms, and methodologies demands
that IT professionals cope with emerging technology areas and paradigms while
also holding down their day jobs. Developments during the past decades have
presented such new platforms and paradigms as virtualization, service
orientation, cloud computing, agile software development, DevOps movement, Lean
Startup, cloud native development, data analytics, artificial intelligence and
connected devices or IOT (Internet of Things). With the popularity of GSE and
evolutionary methodologies, it has become imperative for IT professionals to
stay current with a very high level of team spirit and a collaborative attitude
in order to deliver results that matter.
Nor are GSE and the ongoing
technical evolution in IT the only two challenges IT professionals have to register.
According to IDC study, over the next decade the number of servers, the amount
of data managed by data centers, and the number of files to be processed
worldwide will multiply by 10, 50, and 75, respectively, whereas the number of
IT workers will only double. Capers Jones predicts that during much of the 21st
century, maintenance projects may absorb almost 70% of the world’s software
professionals.
Moreover, businesses as well as
social ecosystems around the world is rapidly becoming digital.
These are some of the challenges of
21st-century IT professionals. Besides,
the significance and expansion of digital economy is making digital
transformation a business imperative for almost all businesses worldwide. According to a survey by Harvard Business
Review in 2017, close to 50% of the respondents agree that their traditional
business models would cease to exist by 2020.
Digital revolution is enabling businesses innovate and implement new
business models, connect with new partner ecosystems and leverage digital
platforms that provide immense speed to operate, succeed and enhance customer
satisfaction. Even one of IBM, Exxon
Mobile Corporation, General Electric Company, Bristol-Myers Squibb and Merc -
the top-5 US firms by market capitalization in 1900 could not retain their
position in 2017. Digital natives,
online platform companies and technology providers such as Apple Inc., Alphabet
Inc., Microsoft Corp., Amazon.com Inc., Facebook Inc. have taken the lead to
mark their position in the top-5 list.
*-*-*-*-*
3. Band-Aids
and Paradigm Shifts
Evolution encompasses two
interesting things – Band-Aids and Paradigm Shifts.
Band-Aids are the small corrections
or fixes what we apply on our beliefs and approaches to resolve issues are
improve the results. Decades ago, IBM
did several enhancements to the architecture and design of its mainframe
computers to improve performance and capacity.
In the world of personal
computers, we saw several upgrades to processors and operating systems. Yesteryears’ software development model known
as Waterfall model underwent several improvements with techniques such as
prototyping, feedback loops etc.
Paradigm shifts are radical changes
in our beliefs and approaches. Once in the world of IT dominated by mainframe
computers, the invention and popularity of personal computers resulted in a
paradigm shift. In the world of
procedural languages, object-oriented programming introduced a paradigm shift
in the way of designing and developing software. Nowadays, functional program is gaining
popularity. Iterative Development – especially Rational
Unified Process based on iterative development and Agile Software Development
through methodologies such as Scrum, Extreme Programming etc. are good examples
of paradigm shifts.
Sometimes unaware of the power of
such paradigm shifts, we continue to apply Band-Aids and expect phenomenal
results. This does not mean that we must
stop applying Band-Aids. Paradigm shifts
and Band-Aids are the two interesting aspects of evolution. We must be aware of what those are and apply
them in the right context. In addition, we must understand that some paradigms
co-exist. We are in a world that needs
multiple devices, methods or approaches and techniques.
Thinking further, this applies not
only to software development but also to our personal effectiveness,
self-development, and other key aspects.
Try this! List the paradigm shifts
and Band-Aids that you know. Talk to
your colleagues and add more to your list. Are you choosing the right ones to
deliver remarkable results?
*-*-*-*-*
4. Software - A Pervasive Phenomenon
When IT was in its infancy, the
term software had a limited meaning and context. It referred to the programs and other related
information used by a computer. Now computing is not restricted to computers
and nor is software. There is an element of computing and software in many
devices including cell phones, wristwatches, automobiles, and medical
electronics and so on.
Whether you are an IT professional
or not you are touched by this pervasive phenomenon. More than 70% of the world population is
internet users – it is approximately 65% in Europe and Americas, 30% in Asia
and 15% in Africa. This is the result of a steady 30% year-on-year growth and
it is expected to continue in future.
The world’s popular and largest
bookseller – Amazon, is a software company. Today’s well known music companies
deliver music through software. Disney had to acquire Pixar, a software company
specializing in animation to remain relevant in entertainment industry. Photography has gone digital. When is the
last time you bought a Kodak film roll? We know Flickr, Picasso and Snapfish
more than Kodak. How frequently do you
use Skype or WhatsApp to talk to your near and dears? Communication is driven by software.
Alarm clocks are disappearing. Our
smart phone wakes us up! A vast majority of us start our day by checking our
messages on our smart phones even before we brush our teeth or go for a cup of
coffee.
Moreover, most of us go restless
when there is no Internet access or the software product or application we are
dependent on malfunctions or crashes!
Let us accept. Software has
penetrated every aspect of IT. IT is part of our lives.
Remember the last time you went to
your local bank and waited because of a software malfunction or network
outage? Have you been through delays in
airport because of slow software? Have
you read about how project delays and inefficiencies affected senior citizens
in acquiring an insurance policy of their choice?
*-*-*-*-*
5. You Consume What You Create!
Eating-your-own-dog-food is a slang. It is about a company using its own product
to demonstrate the quality and capabilities of that product. It is as simple as
that. More than two decades ago in
Microsoft, an email with subject line ‘Eating our own dog food’ motivated team
members to use increase the internal usage of the company’s product.
In some cases, it is not a one-time
activity or internal usage. It does not stop there. Let me give you some
examples.
Years ago, I was part of a project
team that developed software for a travel site. We tested it and released it to
users. Some of us were the users during
the initial months. That is how we ate our own dog food. Years later, I visited that site to book air
tickets for my family vacation. In addition, I continue to use it. I am a
regular customer there. That is what I
mean when I say, “you consume what you create!”
There is more to it. I am sure
either you or one of your relatives or friends works for an organization that released
a world-class operating system or search engine or an application to file
income tax return or an application to get Aadhaar
card (Unique Identification card to the citizens of India) or a website that
helps vacation planning. Evidently, your
family, friends and folks consume what you create!”
You consume what you create! Your
families and friends consume what you create! That is a step beyond
eating-your-own-dog-food.
Let me name two noble professions –
teaching and medicine. Teachers dedicate
their lives in creating competent students. Some of those students become
competent teachers in future to prepare the next generation. In medical profession, doctors and nurses
provide health care. These professions influence
many human lives. We remember great teachers, and doctors and feel grateful
their services.
Remember, IT enables such noble
professions.
Are you ready to cook something
delicious and deliver it?
*-*-*-*-*
6. You Can
Mine!
In his book Professional Software
Development, Steve McConnell has included a chapter that talks about software
gold rushes. A PDF copy of this chapter
is available for download in Steve’s website http://www.stevemeconnell.com.
Don’t miss it.
We have had gold rushes in our
industry. With lots of energy, enthusiasm, intelligence, hard work and ad-hoc
approaches several startups became success stories. We are in a different world
today. The completion is stiffer than
ever for both professionals, and businesses. We need to be disciplined and
systematic to succeed.
For this, first you need to know
what to deliver. Next, you need to figure out how to deliver what you deliver.
You are on the right track. Your
curiosity and interest in reading this book is a true sign that you want to do
it right. You, I believe, will consider
this book a memorable milestone in this journey.
Believe in yourself. You can mine!
*-*-*-*-*
Prologue Table of Contents Part 2 Getting Ready
Comments
Post a Comment