Login Here
Newsletter
Stay informed on our latest news!
Recent blog posts
- Software Engineer
- IT Architecture best practices.
- SOA or Service Oriented Architecture
- Emerging Trends in E-Commerce give boost to Better Technology
- How to make a good eNewsletter
- Google Chrome? I like it.
- How to become a successful Blogger.
- What is an application suite?
- Dimensional data modeling
- OLAP or on-line analytical processing is gaining momentum as the need for making sense out of the huge amount of data increases.
Software Engineer
Tue, 09/22/2009 - 09:46 — jose.anton
A software engineer is much more than a programmer. He is more like a army general marshalling his troop of programmers to achieve a strategic goal.
A software engineer is not a programmer though the terms have been used to describe any person associated with computer software. Software engineering has also been confused with Computer science. Though a proper definition of a software engineer is elusive, an attempt can be made to enumerate his qualifications. It should be mentioned that there is no clear consensus to what software engineering actually means and several professional bodies, national and international have defined software engineering in different ways.
Software development life cycle or SDLC consists of many parts and programming is a part of it. Whereas software engineering would include design, development, testing implementation, reliability and maintenance of software systems.
A software engineer usually starts off his career in a firm as a programmer and moves up the ladder to assume position as a software architect or engineer. This is one of the reasons why students in the United States of America avoid software engineering degrees because of the fear of being displaced by cheap labor from third world countries. However, it is fallacy that the job of a software engineer can be displaced by low level programmers. This notion of vulnerability has most probably arisen due to the misunderstanding of the role which software engineer plays in SDLC or software development life cycle. The design and architecture of software is a more involved process than programming. With the advent of more complex computer applications, many of them straddling the globe, the role of a software engineer has become all the more critical. Design considerations and rigorous implementation with best engineering practices is required to drive software development. A thorough understanding of computer science combined with professional project management skills, high level of mathematical and analytical ability is required to make a genuine software engineer. Mere capability to write a few hundred lines of code is insufficient to create a robust software application.
It is tempting to compare a software engineer with a civil engineer. A good civil engineer should have a good understanding of mechanics, mathematics and material science. A construction worker merely has to understand brick and mortar. Likewise the mortar of software is the code which programmers write whereas a software engineer is the civil engineer.
Software engineer designs and execute software projects providing reliability, maintainability and robustness. He has to keep in mind systems and processes and has to understand the underlying business logic before undertaking software projects. The job of a software engineer goes much beyond that of a software programmer.
By Jose L. Anton, CEO
GreenCode Technologies, Inc.
(954) 840-8068
