Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My friend got a job as a systems engineer, but I'm not clear on how it differs from a systems analyst or a systems architect.

What unique role does a systems engineer play in a company that other positions can't fill?

share|improve this question
add comment

5 Answers

up vote 3 down vote accepted

The definition for Systems Engineering will vary across different organisations and companies, so this is just one case:

On a project a couple of years ago I had the title Systems Engineering Lead - One thing that I took away was that the whole Systems Engineering process used process-specific jargon to the extreme (one example - 'emergent property' in the design context).

I think I answered to the Systems Engineering Authority who had 1 or 2 assistants who together were there to ask deep searching questions at awkward moments - actually they were extremely helpful to the extent where we had kind of dress-rehearsals for the formal reviews.

The top priority was producing and maintaining the Systems Engineering Management Plan (SEMP) through each of the stages.

This is a document that describes the engineering plan covering the life of the project, which is split into: Scope, Requirements, Design, Implementation, Integration, Testing, Deployment, Training and Support.

The project is divided into Systems Engineering Stages, each one of these is marked by a review (Requirements Definitions Review, Preliminary Design Review etc.).

The SEMP references a documentation baseline, this is what I spent the majority of my time on (for better or worse). Each engineering discipline has its own documentation set, these documents have many cross references and must all be aligned (coherent) in time for the review. The baseline changes between stages but there would normally be about 40 documents highlighted as critical for a specific stage. I think there were 9 stages. The final review was an all-day affair.

One of my key responsibilities was to ensure that the project (i.e. the documentation) was ready in time for each review. The review process itself is formal with a well documented process, culminating in checklists and a red/green/amber mark for each checked item. It comprises an inspection of the document set and interviews with key contributors for the specific review type for that stage.

This was a BIG project and the process was heavy to the extreme, so experiences will vary on other projects. My overall impression was that the Systems Engineer is responsible for making sure that the project does not fail from the engineering perspective. Or, in the case that it does, make sure there's a good document trail that indicates why it did.

One issue that wasn't fully resolved was how the Systems Engineering Lead works with the Project Manager, there was sometime conflict when deciding if the project plan came before the engineering plan.

This was perhaps not my most rewarding job and quite stressful (especially at review times), but it did provide for a good high-level view of the entire software development life-cycle. So, I'm glad I did it, but I might not try it again for a while.

share|improve this answer
add comment

Job titles tend to be very amorphous concepts for a lot of companies, but in my experience a systems engineer is someone whose specific expertise revolves around the physical system architecture, administration, maintenance, and design/configuration. This person would be responsible for determining what kinds of servers/systems a particular project requires for both the back end and the front end. This might even extend as far as the network side (determining system requirements for load balancing or perhaps routing).

An analyst performs the research and provides guidance regarding the metrics surrounding the needs of a project. They determine that a server must be able to handle X application with Y users over Z time period, etc. They determine the needs of the users and how the application should respond to those needs.

An architect determines, based on the analyst's drawn up specifications, which hardware/software is required, how it should be configured. Some of the architecture decisions may actually be made before the analyst sees the business requirements portion. The architect would determine if a single machine is preferable to a farm or a load balanced web site is necessary versus a singular site.

The engineer does it.

share|improve this answer
add comment

"Systems engineering" is an appropriate term when you are developing something so complex that the people who work on individual parts of the system don't understand the big picture well enough to make good engineering decisions outside their own specialties. In such a case the systems engineers work hard enough on the interactions of the overall system that it isn't humanly possible for them to be up to date on the individual technologies that make up the whole, even if they may have started there early in their career. The systems engineer isn't an administrator - he (or she) needs to make lots of system-level design decisions and technical trade-offs to ensure that the complex system satisfies customer requirements. You can find hordes of systems engineers in the aerospace sector and in weapons development. But I am not sure if the term is used differently in the IT field.

share|improve this answer
add comment

As other folks have pointed out, the role varies from company to company. The best way to get insight into your friend's work is to ask him directly. If this sounds interesting to you, find out what exactly systems engineers do in your company - there should be some overlap, but the positions likely won't be identical.

share|improve this answer
add comment

As this link suggests from Microsoft, the formula is simple:

System Engineer = designer + implementer + administrator

However, by reading Wikipedia, it seems that the most important aspect of a system engineer is to be present over the entire life-cycle of a product.

share|improve this answer
    
Those are two completely different uses of the title "systems engineer". –  Alger Aug 20 '11 at 19:00
    
@Alger, someone who is there for design, implementation, and administration kind'of is there for the life-cycle. Why they're different? –  Saeed Neamati Aug 20 '11 at 19:06
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.