Tuesday, October 1, 2013

Software programming Vs Software engineering

Understanding these two similar concepts may help you paving the way for your future career.
First what is software programming ?
 How do you become a software programmer at least from a formal point of view. Generally you need to complete an undergraduate programme or a bachelor in computer science (CS). CS teaches you how to write clean code and bugs-free code.Computer science programs tend to keep the core small and then expect students to choose among more advanced courses. It also teaches various concepts relating to computer hardware and software basics, networking , security, electrical and electronics fundamentals, database and more. 
                       CS graduates are often comfortable with some of the following programming languages: C/C++, Java, .NET platform, Python, Perl and so popular trio of HTML/CSS/Javascript. With a good command of skills, a CS graduate will easily translate any customer requirements or business logic into a set of computer codes. This simple competence can allow them to grap their first jobs.
  However these skills will reveal very soon to be insufficient . Technology itself is not enough, after all while working somewhere, we need to be paid, we belong to society and a business. Whatever activity or operation carried within a given business needs to add a business value for its survival. Software programming creates of course good products and applications, but there are a lot more expectations. And that is How can we create wealth out of software programming ?
Engineering is the application of scientific, economic, social, and practical knowledge in order to design, build, and maintain structures, machines, devices, systems, materials and processes. Software engineering  (SE) aims to focus on a range of topics that are essential to the SE agenda (problem modeling and analysis, software design, software maketing, software verification and validation, software quality, software process, software management, etc.). Equipped with these knowledges, we can then use software programming as raw material for the software business. As a business we are dealing with teams of  programmers and a large set of other stakeholders. this compel us to really create products and applications that customers want and need (wealth) while maximizing the profits and reducing the costs.
       To conclude I can said that SP teaches us how to code , but SE teaches us how to think big out of the box and therefore use SP as a tool for wealth creation.  I will continue this discussion on my next post as soon as time avails.

No comments:

Post a Comment