It is very common to receive questions from students about careers; how to establish them and what to study. These come in various form of:
- What course should I do?
- What job should I apply for?
These questions are some of the hardest to answer. Not just because the answer will directly impact someone's life, but also because of the amount of information missing from the discussion. I know nothing about the person’s temperament, aptitudes, and desires. Furthermore the question suggests that the student does not really understand the IT industry or career development within the industry. This article is intended for those students new to IT seeking to develop a successful career that will support their families and provide high levels of personal satisfaction.
Personal aptitude
While it has been argued that anyone can succeed in any role with enough effort. The corollary is that you will enjoy a role, get further in a role, and probably be more profitable in a role if it is something you have an aptitude for. Different cultures view freedom of choice, and personal happiness differently. Regardless of your cultural bias, the Information Technology field is so vast that you not only have choice, but you must make choices or you will just drift. Before considering what career path to choose, you should take some time to think about your personal traits and aptitudes.
- Do you enjoy working with people, or do you prefer working in isolation?
- Do you like routine, or do you enjoy variety and the unexpected?
- Do you like strategy and planning creating complete solutions? Or are you better at completing tactical steps to perfection and not worry too much about the big picture?
- Are you a visual person who enjoys patterns and the artistic representation and balance of objects (Form before Function)? Or are you more interested in the inner workings and prefer Functionality over Form?
- Do you enjoy debate, negotiation, compromise and getting the best out of diverse points of view? Or do you prefer to focus on the technically best solution and not get involved in deciding what to do and why?
- Do you enjoy seeing the patterns in the world around you, whether it is in the motion of nature or in numbers, or find that you see relationships in terms of time, or facts, or multiple dimension that others don’t seem to see?
- Do you have an aptitude for guiding and coaching others to achieve results that are far better than you could achieve personally?
- Do you enjoy working irregular hours, long days and over weekends to achieve a personal goal? Or do you prefer the structure of being able to walk away at an agreed time focussing your efforts in fixed windows of time?
Whichever best fits you, there is a role in IT for you.
IT—As many different roles as stars in the heavens (almost)
Note: This article is not intended as a comprehensive dissertation on the state of IT and employment opportunities. It is intended as a high level point in time overview to help new entrants to better understand the scope of opportunities. For any role here, there could be dozens of variants or crossover roles where the sum of an individual’s experience can be utilised in some unique way.
In the 1960’s roles in IT could be described as those who built computers, those who ran computers and those who wrote programs to convert data into information. Specialities tended to be based on types of hardware and specific programming languages. Many people started a job in their twenties and could have the same job (with promotions) thirty years later.
In this decade the Roles and Specialities are far more diverse and change much faster, which makes trying to enumerate them all both; next to impossible, and rather pointless. Instead it is more productive to talk about the nature of the roles and how they link back to your innate skills.
IT, or more specifically computerization, is now integrated into almost all aspects of the western world and is impacting how people do business and manage their lives throughout the world. If you can identify a field of human endeavour you will also find an IT specialist backing that endeavor.
At the leading edge are the Business Analysts who have an understanding of real world processes and problems, and they apply their IT skills to identifying and outlining solutions that will deliver business advantage to their company or clients. For those entering IT as a 2nd career this creates an advantage and opportunity to leverage existing skills while building an IT career.
An analyst will typically have a non-IT skill set, plus a fairly broad but possibly shallow IT skill set that will allow them to identify ways to use data, communication, and compute resources to solve a problem or create an opportunity. In many ways an analyst is like a talent scout. They will have an ability to see patterns and how to fit them together like a jigsaw puzzle to create solutions.
Once the analyst has identified and outlined the opportunity, it will be reviewed by a business team to decide if the opportunity is appropriate and a currently viable business investment.
If the client chooses to pursue the idea, it will then go to the Architects (Solutions, Application, Data, Infrastructure Network etc.) who will start to estimate the size of the solution, and from there start to identify how the information will flow, how it will be gathered, and how it will be reported. This in turn will inform decisions about how and where it will be stored, and processed. All of these decisions by the Architects are based on understanding of the business needs, the technical services, plus years and often decades of experience. An Architect will understand how to build solutions, and at one time will have been a practicing engineer or developer. It is not an Architect’s role to build the solution. Their role is to design it and provide sufficiently detailed information that will allow:
- The Business management team to understand the costs and risks, and decide if it is a good business decision.
- The Dev and Ops or DevOps teams to build it, if the decision is made to proceed.
An architect will typically have many years of experience involving both a wide technical exposure, and a solid understanding of business financial and risk management. Successful architects will typically invest a lot of time in ongoing training in a wide range of disciplines. Like the analysts, an architect will be good at fitting pieces together. However unlike the analyst, an architect must have deep technical knowledge to help them ensure that the solutions will actually work before they try to build them. An architect must be able to see multiple solutions to any one problem and choose the combination that will provide the most benefit within the business and technical limitations. The ability to see and make decisions about trade-offs is a critical skill for an architect. All technical solutions have pros and cons, and these need to be balanced against business needs and limitations. An architect must also learn to be methodical and have discipline in their process to ensure that they do not miss important details that could potentially ruin their company or client or cause them to be personally liable for the losses.
Once the decision is made to proceed with the solution as designed, the various aspects of the design will be distributed to either technology teams or multi discipline project teams. There teams will typically comprise Developers, DevOps and Specialists in Networking, Security, UI design, Data analysts and other disciplines as needed.
The term Developer is a general term referring to someone who is adept at manipulating one or more program languages or frameworks to process data and produce Information. The Development team will be responsible for translating the Application Architect designs into reality. A developer works in a highly abstracted environment using words and symbols to cause data to change form and produce a predictable (and useful) result. Writing programs is very much like logic puzzles where you need to cause events to occur in a particular order. This work is often mentally taxing with long periods of intense focus. For some developers the problem becomes a different form of reality. Successful developers often have irregular lives with periods of intense work, and periods of downtime. Many successful development companies recognize this, giving their developers a lot of latitude to manage their own time, but in exchange demand high rates of productivity.
The DevOps role is a relatively new type of role in IT. With the evolution of Infrastructure as Code, there was a merging of Developer and Infrastructure roles into DevOps in which a person or team used development practices to create and manage the infrastructure that the applications being developed will run on. This role is generally closely integrated into the Dev teams to advise and facilitate work to avoid delay. A DevOps engineer will have a good understanding of applications, plus specialist understanding of the infrastructure services that will be used. They will be the people who will implement that Solution Architect’s designs to support the applications. The DevOps role has similarities with the architecture roles in that they must be able to balance conflicting pros and cons, do calculations to determine the resources needed under different loads and make decisions about how best to meet those loads. In addition the person in the DevOps role needs to be able to understand what the Dev team is trying to achieve and support it, plus offer suggestions about how to deliver the solution in a way that will be efficient and cost effective to implement.
Specialists, as mentioned above, normally start off as general engineers or developers who have been in roles that have allowed them to work and learn deeper skills in a particular area. In many cases they will have also done extra study to make themselves more competent and more sought after. The Specialist will work alongside a team or an architect to help refine the product, get the most out of the technology, or just ensure that common mistakes are avoided.
Networking specialist is a role that has been around since before the Internet was born. Many Networking specialists were specialists before becoming involved in the Cloud, and have a unique perspective of how to design and secure a system both inside the virtual cloud environment, and on the perimeter where it connects to the real world. Increasingly Network specialists are starting in Cloud as general engineers and then learning though specialist training (Cisco, CompTIA, Juniper, etc) to do Network design and work with physical equipment. The Network and Security specialists tend to be closely related because parts of both roles involve controlling access on networks.
Security specialist is an intellectually difficult role. In many ways similar to an Architect, it requires an ability to work with detail but see the big picture, work with technology but deal with issues in business and legal terms, deal in rules but be able to think like a criminal and find gaps that others cannot see. Many Security specialists were specialists before becoming involved in Cloud, and have an insight into how to design and secure a system both inside the virtual cloud environment and in the physical world. Increasingly Security specialists are starting in Cloud as general engineers and then learning through exposure and specialist training to work with physical equipment. The Security Network specialists tend to be closely related because parts of both roles involve controlling access on networks.
A User Interface (UI) specialist crosses boundaries with behaviour science and graphic design and programming. A UI specialist will think in terms of how the customer will flow through the system and how they will interact with it.
They make decisions such as when to have a consistent design for comfort and ease of use, and when to have a unique design to draw attention. There are also aspects of visual design to make the environment appealing and draw the customer eye to key areas at the correct time. The UI designer will work closely with the development team to ensure that correct information is collected and presented in a functional and appealing manner. Programming skills are very useful, but knowledge of specialist tools supersedes that.
The User Experience (UX) specialist is related, and sometimes the terms are used interchangeably even though they are different.
The Data analyst/specialist, and DBA have always been important. However, the roles are becoming increasingly important in all areas due to the ever increasing volume of data being collected, stored and processed.
The data specialist will normally be someone who has worked in roles where they have had an opportunity to experience how large volumes of data are processed, know what is efficient, and how to optimize both the storage and the processing. The analyst should be equally skilled in the design of the data structures, selecting the right storage medium, and programming so that they can coach the development team to handle the data efficiently.
In business speak, the term Data Analyst can also refer to someone who is skilled at data processing and reporting and can squeeze information and insight from the massed data for Business Information (BI).
Instrumentation and Reporting is very closely related to UI design and data analysis. This is the ability to present information in a way that communicates the essence of the data in a clean and highly consumable manner.
Subject Matter Expert (SME) is a general term used for someone who specialises in a technology or industry. Typically an SME is someone who was a generalist and has had an opportunity to work in a specialist area and has combined that with specialist training. Sometimes it is done the other way round, starting with specialist training in university and then trying to find roles to take advantage of that skill. Everything in life is a trade off. Consequently an SME will be a specialist in one area, but weak in others, so they are often embedded in teams where they can trade skills and support each other.
Once the application or solution is released into use, there are other IT roles that come into play to ensure that it delivers and will continue to deliver value.
The IT Management team has evolved in the past years from being very infrastructure and operationally focussed, to being outcome focused. This change has been driven by both the ability to deliver business applications faster, and the reduced cost and complexity of hosting IT services. The IT manager will have a strong business perspective, understanding financial management, risk management, and life cycle issues. Technical skills will be an asset but will normally be of lesser importance compared to business needs, compliance requirements, and forecasting & tracking changing trends.
Once the service is up and running, there is always a requirement to assist customers to get the most of the service whether private, corporate or internal.
Support and help roles are often undervalued and seen as a stepping stone to more exciting roles. However, the people who hold these roles often have much better insight and greater experience than the engineers or developers who build systems. A good support person will have well developed communication skills, specifically the ability to translate feedback from frustrated or inexperienced customers into technical terms, convert technical feedback into understandable customer speak and at the same time communicate to management in business terms about the impact of the issues. This requires solid understanding of the technology and the function of the application, plus highly developed communication skills.
IT has become so widespread that it is hard to find an industry that does not in some way make use of IT services. When discussing Roles in IT, we should also recognize that there are roles for IT skilled personnel outside of IT. Non-IT companies have long had roles for people with IT skills to make sense of data and recently consultants and advisors looking for ways to help the business take advantage to new opportunities.
Cloud vs. the physical world
As Cloud becomes the dominant means of delivering IT services, there is an increasing trend to forget that there is a very real physical world that underpins all the Cloud services. Obviously there are physical data centers that the Cloud runs on, and there will always be opportunity for a few engineers and specialists to work for the Cloud providers managing thousands of physical services and related infrastructure. Outside of these vendors, there are vast and critical physical systems for Communication, plus traditional hosting and on-premises systems that still require highly skilled engineers who specialize in the physical systems that underpin the virtual world. These roles should not be viewed as legacy or out-of-date, but as specialist roles that will increasingly only be available to the best of the best.
The Impact of time and change on career decisions
It is a curious thing that we humans live our lives immersed in time and the impact that time has on our world, and yet we often fail to consider the impact of time in our planning. It is true that in many other fields, you can learn something once and be fairly confident that that will remain the case for decades. However IT and in particular Cloud IT is changing so quickly that whatever you know now will quickly become less relevant, and fall out of step with the rest of the industry. Unless you refresh your knowledge on a regular basis. All of us in this industry need to be conscious that many aspects of our technical and process knowledge will be irrelevant in as little as 5 years. I cannot think of any skill set or industry in the history of human endeavour that has been subject to this rate of change.
To borrow from a concept in Physics. Half life is the time required for a quantity to reduce to half its initial value. If you apply this idea to your IT knowledge or a skill we could say half life is the measure of time when half of your knowledge or skill will be irrelevant in the industry.
As a comparison let's consider the half-Life of various trades.
Job | Indicative half-life |
---|---|
Stone mason | 200 years |
Plumber | 80 years |
Engineering Fitter/Welder | 50 years |
Medical Doctor | 25 years |
Traditional IT | 15 years |
General Cloud IT | (hard to know as it hasn't been around long) |
Cloud Design and Development | 5 years |
Wikipedia: Half-life (opens in new tab)
At a simple level, this means that making detailed planning more that 5 years into the future is somewhat pointless. However, knowing the areas you have innate skills in and want be involved with, and then making a decision on that basis will keep you up to speed and ready to plug into the right sort of roles as opportunities surface.
In other words: Plan and actively take steps to be ready when the right role in the next big thing comes on-line.
Choices to make and how to manage your career
- Know yourself. Know the things you do best, and the things about yourself that need more work.
- Choose directions that play to your strengths.
- Build a broad foundation of skills that will allow you to adapt to changing technology and opportunities.
- Never stop studying. IT and the job market change so fast that you need to at least understand what is coming even if you cannot master it. Feed your strong skills but also try to develop your areas of weakness so that they do not hold you back more than necessary.
- As you develop your career you will need more than technical skills to step up into better roles. Study broadly in the areas of:
- Leadership
- People skills (soft skills)
- Business management
- Risk management
- Contract Law
- General knowledge (you never know what will be useful).
- Don’t get hung up on titles and job descriptions. People with skills are valued and respected by their peers. People with titles but not the matching skills are often disrespected. Build the necessary technical and non-technical skills and take on the title when you are ready.
The next step
Set a study plan to start filling in the foundation skills that all Roles build on, Learn more about yourself and progressively make decisions about your study plan as you learn more about the technology and what excites you.
Start with Getting started with A Cloud Guru.
If you need help, please contact Pluralsight Support.