Job Profile
The days of writing code in personal and environmental isolation
have vanished. Today's successful Software Architect has to
work within teams and develop software that precisely meets
the business goals of clients. If you thrive on the challenges
of designing, implementing, and testing software in near real-time
environments and with the latest development methods, tools,
and practices, the Software Architect field might be right
for you.
Flexibility and teamwork are key. As you design and build
complex system software, such as operating systems, protocol
architectures, or databases upon which application software
programs will run, sometimes, you will need to fix problems
that reveal themselves weeks or months into development. You
must be comfortable moving from tool to tool and method to
method in the search for the perfect solution. In addition,
you must know how to obtain information about bugs and evaluate
their impact on the software you are developing. Although
you will often work independently and with minimal supervision,
you also will need to work and communicate well with others.
No matter what type of software you are developing, both written
and oral communication are important throughout the process.
As a successful Software Architect, you will need to write
clearly and effectively and in a manner that facilitates communication
with technical peers and non-technical management personnel.
As well as strong personal skills, Software Architects need
strong technical skills. As a start, you'll need a thorough
understanding of computer hardware, operating systems, and
application fundamentals as well as specific knowledge of
writing and testing code. In addition to strong computer science
backgrounds, Software Architects also have significant expertise
in complex methodologies such as object-oriented modeling
and design and rapid application development (RAD) tools to
build large-scale systems. Most Software Architects also have
a background in electrical or electronics engineering.
General Technical Skills
The following are some of the skills possessed by a Software
Architect:
- Computer operating systems, including
Windows, Linux, and Unix
- GUI design skills
- Object-oriented modeling and design
skills
- Familiarity with the ISO 9001 standard
- Routing and transport architectures,
including ATM, Sonet drivers
- Current technologies, such as multithreading,
DCOM, ActiveX DLL, OLE, VHDL, and SQL
- Networking technologies, including
TCP/IP and UDP
General Business Skills
The following are suggested skills you can develop as you
expand your knowledge and are promoted within your career
path:
- Management training
- Communication skills
- Coordinating projects and leading teams
Responsibilities
Software Architects are generally accountable for duties in
the following areas:
Planning and Design
- Identify and analyze the business requirements and goals
of software
- Design software to maximize productivity and meet established
goals
- Understand and implement the latest design methodologies
- Write software code that map requirements and goals
- Port code between operating systems as needed for multi-environment
products
Testing
- Use test tools, such as Foglight and Spotlight, to validate
designs and products
- Test software throughout the development process to
uncover bugs
- Rework code as necessary to fix the bugs
- Elicit input from appropriate parties, such as vendors,
customers, and in-house specialists
- Verify that the software meets established industry
and organizational standards and specifications
- Deliver the final software or solution to the client
Communication
- Document information within the product life cycle,
including business requirements and recommendations
- Write and communicate clearly with other team members,
both technical and non-technical
- Understand the intricacies of code destined for intranet
and Internet applications and document accordingly
New Horizons Courses
New Horizons offers a variety of technical training courses
- taken either in a classroom or online - to help a Software
Architect succeed in that challenging and rewarding job role.
To find the course that's right for you, contact the learning
center nearest you. |