Monday, March 2, 2009

Software Development Jobs Careers

What Software Development involves

Software Development is the process of developing software to meet the requirements as set out by the end users. Software Developers are sometimes called Software Engineers or Programmers, can also be involved in software implementations, installations and support of the testing teams through each testing cycle. Software developers are knowledgeable in software languages such as C++, .NET, Java, Visual Basic and PHP.

As technology in this area is constantly evolving, what is essential today will be obsolete in a few years. Software Developers need to have the ability to learn new technologies to stay competitive in the job market. Being adaptable and having the ability to learn new languages quickly is more important than being an expert in any one language.

Software Development Roles

There are many phases involved in the Software Development Lifecycle (SDLC), and to succeed as a Software Developer you need to have the ability to carry out each role.

Scope Analysis

Business Analyst's are usually responsible for gathering the requirements from the end users in a scope document in large organizations. In smaller organizations such as start up companies Software Developers are responsible for this too. The software developer or business analysts agree with the end users to rule certain items out of scope for the project due to time and budgetary restrictions. This scope document should be clearly defined and not ambiguous. It is then signed off by both the business and technical teams. This document can be referred to during the rest of the project life cycle in the event of a dispute.

Specification

At this stage a Functional Specification document is drawn up by the lead software developer describing what software is to be written. This document is for the benefit of the programmers and is based on the scope document.

SOFTWARE DEVELOPMENT JOBS CAREERS

Software Architecture

This step reviews the interfaces between this new software system and existing software systems as well as reviewing existing hardware and any new requirements that may have arisen.

Coding

This involves breaking down the specifications into code. This is the most obvious part of a software developer’s job but usually only makes up a small percentage of their time.

Testing

Unit testing is completed by the software developer to ensure their code works according to the specification. When satisfied the Development team releases a version of the software to either the System Testers or User Acceptance Testers. These professional testers work with the software developers to highlight bugs and issues. They test the applications from an end users point of view. There are often many versions and releases of code at this stage.

Implementation

After the testing phase is successfully signed off by the testing teams the code is then approved and moved into a production or live environment.

Documentation

Documentation of the internal design of the software is important for external interfaces. Code should be documented and commented in such a way that a new programmer should be able to pick up when the previous one left off.

SOFTWARE DEVELOPMENT SUPPORTING MANAGEMENTS

Software Training and Support

In smaller organizations the developers are responsible for training the business areas in how to correctly use the software and letting them know of the new features and functionality that have been added.

Maintenance

This is the final phase of the SDLC. This involves dealing with newly discovered problems or new requirements. Often a number if issues are grouped together to form a mini release which quickly moves through all the steps above. With a well defined scope at the beginning of the SDLC the need for new requirements should be limited.

Career Opportunities

Web Developers can work in just about any industry from Insurance and finance to Government and Non profit Organizations. There are different types of websites e.g. informative, entertaining, communicative or commercial, each requiring different skills. Ecommerce websites with frequent visitors require advanced security systems to protect their customer’s details while informative websites require regular updates.

When applying for jobs as a web developer, it is a good idea to have an online profile, detailing your skills with links to your work. This way you can display your completed work to potential employers. If you start out by designing websites for your friends or family put your contact details on each page so even if you don’t get paid you may possibly get some business.


SEARCH SOFTWARE DEVELOPMENT JOBS


No comments:

Post a Comment