© 1997
Department of Computer Science, Monash University
An Informal Career Guide for Aspiring Computer Scientists
by Carlo Kopp
Department of Computer Science, Monash University
The computer has captured the imagination of the modern world, finding an ever increasing number of applications in industry, government, research, education, defence, entertainment, commerce and last, but not least, the household.
This is a trend which was first observed during the 1960s, and today still shows no sign of slowing down.
Where there is growth, there is a demand for skilled people, and where demand is strong, skilled people can command respectable salaries and good job security.
A career in computing is usually professionally rewarding and well paid.
Because computing permeates the modern world so completely, there is a vast number of job types of widely varying skill levels to which a young professional can aspire.
The greatest challenge in finding a career in the modern world of computing is figuring out where you can best fit into the bigger picture. The ideal job is a well rewarded, stable position, well matched to your temperament, talents, formal academic training and past experience. To find such a position you must do an appropriate degree course, learn your strengths and weaknesses academically and professionally, discover what interests you and what bores you, and finally, identify an organisation which has a demand for your specific capabilities.
In a highly competitive job market your best means of being successful is to develop your skills to match the types of jobs available in the industries available.
Having made these observations, we must note that the career path of most individuals is seldom locked into one category alone.
Indeed, in many organisations computer professionals will perform tasks which may fall into several of these categories at any time. Similarly, many individuals will change the type of work they do during their career, hopping across categories. Some organisations will intentionally move staff between such jobs, to broaden their experience and skills.
The market availability for many specialisations will rise and fall over time and people will often drift across job types in the quest for more interesting work or better salaries or both.
What we end up doing at any point in our career depends on our interests, temperament, skills and, of course, opportunities.
In general, the better your skills and experience, the more opportunities are available.
Collecting a set of skills, formal academic training and experience and matching these to a career can often be a complex task. This is for a very good reason - computers, software and the underlying science which allows us to create such technology are often complicated, requiring a large and complex industry to produce and support them.
You should not let this complexity intimidate you in your quest for a career as a Computing Professional. Means and ways of navigating yourself through this maze do exist and are not that hard to understand. With a little self knowledge and common sense you can easily plot yourself a course which will take you in your preferred direction.
When deciding upon a career as a Computing Professional there are two basic questions which you must ask yourself.
What type of work do I wish
to do ?
What technology do I wish to work with ?
To understand the importance of these questions, we'll take a brief look at the types of work and range of technologies available to computing professionals, to give you some idea of what to look for in a computing course.
Obviously you will learn more about them during your computing course and therefore be well placed by such time as you begin your job search as a computing graduate
TYPE OF WORK
The jobs performed by Computing Professionals can broadly be divided into four major categories.
Within each of these categories a wide range of skill levels, salaries and job difficulty exist.
Research and Education
Research and Education is performed by research scientists and lecturers who are typically individuals with a good track record of high academic achievement, have usually completed a higher degree (Masters or Doctorate) and enjoy dealing with complex abstract problems and sharing knowledge.
A research scientist is a scientific explorer who attempts to solve problems which have never been solved before.
Lecturers typically teach university courses and impart knowledge to undergraduate and graduate students. In universities many academic staff perform both research and teaching. Both are challenging but difficult occupations which are seldom rewarded in income for the training and effort required to qualify.
Typically only several percent of any student class ends up in these occupations.
Development, Design, Systems Analysis
Development and Design is performed by software developers (also known as development programmers) and hardware and system designers. Systems Analysis is specialised commercial software development work
Like researchers and lecturers, developers and designers are typically individuals with high or good academic performance, very often with a higher degree, who enjoy the creative process and the challenges and intellectual discipline of converting new scientific ideas into products.
A developer or designer will produce software, hardware or systems to meet a client's requirements. This process involves the understanding of a customer's technical needs, the search for a suitable solution, the creation and testing of the solution, and the maintenance of the product design once it has been fielded.
A Systems Analyst typically designs dataflow diagrams or database schema which are used to produce commercial software systems, such as financial packages, inventory, production or manufacturing stock control systems, or client or customer databases.
In larger organisations a systems analyst may specialise in this occupation. In smaller organisations the systems analyst may also convert the specifications into a program.
An occupation related to systems analysis, often overlapping, is business analysis, where the analyst analyses the function of the business and produces specifications for systems analysts, or for development programmers.
Development and design is a challenging and difficult occupation: well rewarded in countries with strong manufacturing economies - less well rewarded in Australia which has a weak manufacturing sector.
Systems analysis and business analysis is often less technically challenging than development and design of software and hardware, but is usually much better rewarded in Australia, as demand has been quite strong in recent times.
Much like researchers, only a small proportion of any student class ends up in Development and Design positions. A much larger proportion end up working as Systems Analysts.
Support and Administration
Support and Administration is performed by system administrators, database or application administrators, and hardware or systems support professionals, who are typically individuals with an undergraduate (Bachelor) degree and with good academic performance who enjoy interacting with people, maintaining software, hardware or systems in service and solving problems.
An administrator or support professional is most often employed by an organisation not specialising in computer technology and is therefore the organisation's expert maintainer of computer software tools or hardware.
Professionals working for organisations which use computer technology advise management on the purchase and operation of products, support products in service and advise and solve problems for non-expert users.
Professionals working for organisations which produce computer software and hardware advise on sales and marketing, devise customer solutions, install and commission products, and provide support to customers once the product is in service.
Support and administration is seldom a boring occupation and can be exceptionally well rewarded in Australia, compared to other specialisations.
A large proportion of any student class will end up in this occupation.
Marketing and Sales
Marketing and Sales is performed by marketers, salespeople and sales support specialists (often called sales engineers) respectively, who are most often individuals with a talent for negotiation and dealing with people and are less interested in the intricacies of the technology being sold.
A marketing professional is typically concerned with analysing customer requirements and demand for products, defining product specifications, and producing sales literature. A sales professional will negotiate directly with customers or clients, to sell a product or service. A sales support professional will provide technical advice to management, sales, marketing, and customers or clients. In many organisations, these job descriptions may overlap.
The prerequisite for performing such work is personality and temperament, as well as some technical skill.
Salespeople, marketers and sales support specialists are mainly occupied with finding product solutions for customers, demonstrating products and negotiating for product sales, although they also may spend time conducting market research and advising their employers on commercial opportunities. They typically enjoy the adventure of competing for business and the often lucrative rewards of being successful in selling products or services.
Professionals in this area can often reap exceptional financial rewards if successful, but the work itself is often difficult and will always include its share of disappointments.
Job security is often poor and the very nature of the occupation means that it is exceptionally competitive at every level.
Typically a moderate proportion of any class will end up in this occupation.
How does this insight help us with our choice of what career to choose as a Computer Professional?
It helps us by showing that no matter what we like doing most, what we do best, and how we perform professionally, there will always be one or more categories of work which we can perform successfully.
The factor which most commonly determines whether we are successful or not is how hard we work and how good our skills are in relation to the type of work we are doing.
Very few people successfully choose themselves a profession for life in their late teens. It is only once you understand your own abilities and tastes that you can seriously focus on a direction.
In Australia, as in every other economy, availability of work in any given category is closely tied to the structure of the economy. The largest employers of computing professionals are financial institutions and large retailers. Closely following are larger mining and resource companies, and the heavy engineering companies which support them. Government departments also cover an appreciable fraction of the job market. Small and medium sized businesses, particularly in manufacturing or the supply of computers, collectively provide another substantial but smaller range of opportunities.
Reflecting these structural patterns, most of the available positions fall into the categories of systems analysis, support and administration. With the decline in Australia's manufacturing industry, the demand for research, development and design skills has been modest, although the mining and resource industry has provided a robust number of positions for scientific software tool development and support.
As noted earlier, people will often move between positions through their careers, and may change the type of work they perform many times throughout the course of a working life.
Examples of common moves are support and administration professionals moving into sales and marketing, designers and developers moving between development-design and support-administration jobs or researchers moving between academic and design-development jobs.
Highly experienced professionals in any category may choose to do consultancy, teaching, management or to found their own businesses.
Computing is without doubt one of the broadest, most technologically diverse and interesting disciplines available to us in this century.
The choice of what technological facet of computing you choose to specialise in is an often complex question.
Were it a matter of interests alone, we could pursue what we enjoy and do best. In practice, the demand for any specialisation can fluctuate quite dramatically with the economic demand for the product created by such specialists. In some instances, the demand for some specialisations may vanish entirely as new technology displaces older technology.
The key to success in the choice of specialisation is to find a sensible balance between general computing skills, fundamental knowledge and specialist skills.
A high level of specialisation can make you vulnerable to market fluctuations, with exceptionally well paid work when demand is up and no work when demand is down. A low level of specialisation often makes it difficult to get better paying work but makes you less vulnerable to fluctuations in market demand.
The choice of what technological skills to learn is often a difficult one. Essentially what you will learn in any university course is a mix of fundamental or basic knowledge and practical or "hands on" skills in using particular software or hardware tools.
Fundamental knowledge never changes and, therefore, what fundamentals you learn well will remain with you for life.
Most jobs are centred on practical skills and therefore practical skills make you more competitive in the short term. However, because practical skills often become obsolete or superseded fairly rapidly, especially where the technology is evolving quickly, you are trained to have a deep understanding of computing so that you can modify your practical skills over time.
Competitive economic pressures mean that many employers will prefer to shed staff as their skills become obsolete, rather than retrain them. Computer scientists are trained to learn new skills quickly - a skill that will be useful over the very long term. Finding a proper balance between theory and practice is a crucial factor in being successful professionally.
Good fundamental knowledge better equips you to learn new technology quickly, and therefore to adapt to changing technology. If you understand the inner workings of a class of tool[1], you can learn any tool in that class much faster. Good fundamental knowledge makes you more adaptable, and can be regarded as a form of occupational insurance. Should you learn to use a particular tool without grasping its operating principles, when that tool becomes obsolete your knowledge has also become obsolete (remembering what keystrokes worked with tool XXX will no longer be useful, once you must use tool YYY !).
Because computer technology evolves so quickly, every computer professional will have to learn a large number of tools throughout his or her career. Equipping yourself with the skills and fundamental knowledge to adapt quickly is therefore a good investment.
A good undergraduate course is typically designed to provide a robust set of fundamental skills, balancing breadth and depth.
In the broadest sense, computing as a discipline can be divided into:
Software topics are primarily concerned with the programs which are run on computers. Hardware topics are mostly concerned with the inner workings of machines which perform computing, while systems topics are mostly concerned with the interaction between software and hardware, and interactions between systems. All three areas are important parts of the whole and no computer professional can go through life without bumping into each area at one or another time.
A discipline as broad, deep and complex as Computer Science is hard to summarise in a page without doing injustice to one or another branch of the discipline. You should therefore regard this discussion as a guide only.
Software oriented specialisations are typically divided into the following categories:
Hardware oriented specialisations are most often divided into the following categories:
Systems oriented specialisations span hardware and software, and are therefore often identified with either category:
Your course will contain some compulsory topics and some elective topics. It makes good sense for you to seek advice on what elective topics to choose to produce a particular package of skills for a particular specialisation. Beware of "flavour of the month" specialisations, as the demand for these can dramatically fluctuate in the market.
The key to success lies in selecting the best balance in technology to cover the areas likely to fit your intended job content.
Typically, course structures and electives provide a wide range of possible content. Students may choose a standard three year pass degree, a four year honours degree, or a four or five year double major with or without honours. Therefore, students may opt for narrower course content in a shorter undergraduate pass degree course, broader content in a double major, or deeper content in an honours degree course. A double major with honours provides a very broad and deep course content, and would be particularly useful to a development programming career.
Examples could be splitting electives between databases and operating systems, operating systems and hardware, graphics and databases, software engineering and databases, software engineering and artificial intelligence, or compilers and artificial intelligence.
Another strategy can be that of splitting course content between a technological focus and a non-computing industry discipline focus. An example would be a split between computing and either accounting, business studies or economics, for a career as a systems/business analyst. Another possible split would be between computing, and geophysical science, geology, chemistry, mechanical or chemical engineering, or mathematics, for a career in the mining and resource industry. People interested in working for computer suppliers and manufacturers or the telecommunications industry can opt to split computing with electronic/electrical engineering, either via a double major in Computer Science and Engineering or a Computer Systems Engineering major.
Computer Science is a fascinating, challenging, broad and rapidly growing discipline, which offers a wide range of career opportunities.
Whilst it demands much hard work and commitment, it also provides good rewards in remuneration, job satisfaction, standing in the workplace and job mobility.
[1] Common software tools are
word processors (eg MS Word, WordPerfect), spreadsheets (eg Lotus
1-2-3-,
MS Excel), WWW browsers (eg Netscape Navigator or MS Explorer),
photoretouching
tools (Adobe Photoshop).
About
the author:
Carlo Kopp has fifteen years of industry experience. He has worked as a systems programmer, embedded programmer, application programmer, computer design engineer, technical support engineer, sales support engineer, production engineer and manager, research and development office manager, adviser in strategic marketing, consultant and trade journal writer. He holds a first class Honours Degree in Electrical Engineering (1984, UWA), completed a research Masters Degree in Computer Science (1996, Monash) and is currently working on his PhD in Computer Science at Monash University.
Disclaimer:
The views and opinions in this document are those of the author and do not constitute the policy or official position of Monash University. This document is provided as an informal guide to prospective students and does not in any way supersede or supplant any official Monash University syllabus or course structure document.
1/08/97