Broad Job Area Software Architecture and Design

By Darrell Sims,2014-04-14 03:45
12 views 0
The Role: A Software (SW) Architect's main activity is analysis and high-level design. People in these jobs work on software technologies and solutions

1. Broad Job Area: Software Architecture and Design

2. Examples of Job Titles:

    ? Software Programmer

    ? Systems Developer

    ? Systems Architect

    ? Systems Architecture & Design Scientist

    ? Systems Integrator (creates specific products by putting components


    ? Network Designer

    ? Computer Scientist 3. Job Description:

The Vision: In order to keep up with the dramatic performance advances of

    hardware, calls for software systems development to keep pace, to enable it to be

    exploited for commercial benefit. Software Architects conceive the operating

    software which brings hardware to life, then specify the overall structure which will

    support sustainable developments on it. These are the foundations of the software

    technology, which make up software technological solutions. This is a deep

    technological role, which involves software complexity but also the ability to work as a member of a team. Entry to a career is usually via programming in a specialist,

    software development environment, though the understanding of basic hardware

    functions is also important. Career development can lead to increasing technological

    specialisation in chosen fields and, or team and project management.

The Role: A Software (SW) Architect’s main activity is analysis and high-level

    design. People in these jobs work on software technologies and solutions which are

    the fundamental blocks on which computer applications and telecommunications

    networks are built. SW Architects have to track the technical progress of a project to ensure compliance with or enhancement of the existing architecture or design.

    Depending on their particular role individuals may be called upon to carry out

    research, analyse, determine the structure (architecture), design, build, test, implement or maintain such software. This is a very technical job, which is basically concerned

    with programming or program design. However, it requires understanding of both

    hardware and software because, at this level, the software solutions are influenced by the nature of the hardware (e.g. microchips, computers, telecommunications

    equipment, individual devices such as a computer controller in a car). Analysis made

    by SW Architects and Designers would include studying the problem and the aim of

    the software to be developed as per the specification given by the customer or the

    marketing department. The analysis would include studying the relevant standards

    and the hardware documents. Then the SW Architect would aim to develop coherent,

    concise, accurate and clear to the customer, marketing and other development models.

    These models would depict the system and its environment e.g.

    user/software/hardware interactions, in terms of its static and dynamic elements. This Skills Profiles/Profile 7/Update

requires creativity and the ability to abstract and invent elegantly simple models of

    complex entities.

It involves interviewing the customer or other sources of the job specification or of

    system knowledge (e.g. marketing department, potential users), and hardware

    developers or other subject matter experts who might range from bankers to musicians

    depending on the job to be done.

In the design aspect of the role the models mentioned above are enhanced to cover the

    systems constraints such as performance, programming language, operating system

    etc. For this aspect of the job an engineering mind is needed to develop a solution,

    which is both scientifically sound and meets commercial requirements such as TTM

    (time to market), Cost, Quality, Re-use. In order to implement, the models designed

    are specified in a machine executable language and validated for correctness.

The solution designed could be unique to one company or intended to be sold to many

    different customers. Examples of products worked on in this type of job are:

    ? Operating systems (e.g. Windows)

    ? Programming languages (e.g. Java)

    ? Software controlling specific devices ( e.g. minidisc systems or a part of a

    motor car)

    ? Telecommunications network controllers

The Lifestyle: Most people in this type of job tend to work in software

    development laboratories as part of a highly capable team. The size of the team would

    not only depend on the product, but also the stage of development. For instance, the

    development of the initial concepts of a product requires much smaller teams than the

    actual programming stage. More experienced people, who are often recognised

    experts in a product or technological area, could find themselves visiting customers to

    make sales calls, give presentations or solve problems; alternatively they might

    represent their company at large industry events.

4. Tasks associated with the Job:

    ? Establishing market requirements or enterprise needs.

    ? Building architecture.

    ? Developing clear, concise, accurate and coherent models of the


    ? Extending analysis models to solve system constraints.

    ? Designing solutions.

    ? Designing and testing prototypes.

    ? Defining detailed specifications.

    ? Creating maintenance and implementation plans.

    ? Enhancing products.

Skills Profiles/Profile 7/Update

    5. Technology areas associated with the Job:

? Operating systems (e.g. Windows)

    ? Programming languages (e.g. Java)

    ? Embedded systems (e.g. Control functions of a mobile phone) ? Software to control specific devices like a minidisc system or the

    management of a motor car.

    ? Database management systems to allow for creation, retrieval and

    management of large amounts of data (e.g. DB2) ? Systems for controlling large computer systems and networks ? Software to control the operation of games machines (excluding the games) ? Software to enable the use of the internet (e.g. Netscape) ? Application development tools

    ? Software to control the operation of a telecommunications network

    6. Type and level of Skills:

Behavioural Skills

? Technical Orientation and Interest

    ? Analytical

    ? Teamwork

    ? Communication

    ? Innovative

    ? Persuasiveness

    ? Business Acumen

    ? Relationships

Technical Skills

? Software Engineering

    ? Systems Design and Architecture

    ? Computing Systems Design

    ? Computer Programming

    ? Mathematics

    ? Systems Development Methods

    ? Technical Documentation

    ? Applications Design Concepts

    ? Re-use create design patterns/components

    Skills Profiles/Profile 7/Update

7. Description of Career Path/ Future Opportunities:

Probably starting as a programmer either developing or enhancing a specific product,

    the professional can develop into building the design and possibly the architecture of

    products or even families of products. At this stage the person would be a recognised

    authority on a particular product within the company and possibly even within the


With some experience in this type of work there are also possibilities of developing a

    career along other lines such as:

    ? Understanding how to satisfy customer needs in the market place and

    developing requirements for new capabilities and products. Experienced

    people in this field could end up setting overall directions for the

    development of product families or even a whole industry sector.

    ? Project Management. This involves managing and controlling a team of

    developers. For successful individuals the size of projects being managed

    would increase and could end up directing the activities of a whole

    development laboratory.

8. The type of person this job would suit:

This job would suit a creative person with a desire and the ability to perform highly

    technical jobs to solve problems and develop software products.

People entering the industry are normally expected to have either:

    - University qualifications in SW Engineering or other IT related

    subjects. These qualifications as a minimum will be at Bachelors level, but

    many entrants have higher level degrees

    - Extensive successful technical experience in other related technical jobs

    such as computer programming or network design

This job suits people who are primarily interested in highly technical jobs in the IT


Skills Profiles/Profile 7/Update

Report this document

For any questions or suggestions please email