Certifying Software Engineers

Abstract

Software engineering profession involves in a wide variety of computing problems that can range from the operating system development to games design. Part of the activities of such profession is converting desired set of tasks that are required to be running via computer systems into algorithms that a computer can use to execute. Adding more difficulties to such profession is that software engineers must ensure that these tasks are working flawlessly within one or more operating system. With such important profession employers are seeking such skills to build applications, design networks, and be involved any other activities that required software design and development (SR Education Group, 2011).

With such important profession, the software engineering body of knowledge describes the skills within the profession of software engineering, and as such; the description of such body of knowledge is highly required. Also, there is a need of guide that can define such body of knowledge where it identifies the subset of such knowledge that can be acceptable, and has the disciplines of such profession (SR Education Group, 2011).   

The Need for Software Engineering Certification

The body of knowledge required for the software engineering must identify the general acceptance knowledge, and practices that required for such profession. Such knowledge doesn’t represent an inventory of everything that software engineers should know, but it defines the core of the software engineering as a profession, and practice. It is not acceptable however to leave the responsibilities of the licensing, and certifications of such profession to organizations and professionals. Software Engineering Technical Council (TCSE) encourages the application of the principles, and the methods that are used for developing computer software through several informal workshops, and international conferences. Also, TC subcommittee developed a proposal for IEEE that defined the software engineering standards (IEEE Computer Society, 2011).

An important body of knowledge for software engineering is the IEEE Computer Society (S2ESC) that represents an association for computer professionals, where software engineering standards are defined. Such committee is involved deeply with creating the supporting knowledge of products, and development standards that can help the software engineering profession as well as sponsoring many international workshops, conferences that promotes the software engineering standards, and some of these areas are (IEEE Computer Society, 2011):

 

  • Reengineering and Reverse Engineering
  • Software Reliability Engineering
  • Requirements Engineering
  • Software Reuse
  • Software Engineering Education
  • Professional Practice

In addition to the above activities, the TCSE also sponsors both the technical, and service recognitions and also sponsors major awards such as Harlan Mills Award (Recognizes practitioners and researchers), and the Software Process Achievement Award (Recognizes professionals for the significant improvement that was made to their organization’s software process) (IEEE Computer Society, 2011).

IEEE Computer Society is leading the initiatives to promote the certification, and the recognition of the software engineering professionals through two levels of software certifications that conforms to a new international standard. Such certifications recognition increases the global acceptance of the certification for software engineers. Both programs created by the IEEE Computer Society (The society’s Certified Software Development Professional/Certified Software Development Associate) are complying with the Certification of Software Engineering Professionals – Comparison Framework and ISO/IEC 24733:2008 (Catis, 2009).   

With the unaligned criteria of certifying the software engineers in different countries, and organization, both International Electro-technical Commission, and International Organization for Standardization (ISO) are working hand in hand to create the common guidelines for such certification, and also ensuring that such certification is portable from region to another that can satisfy the globalization requirements for software engineering, and software professionals. Such global certification is conformed through the 2005 SWEBOK guide that defines and describes what a software engineer is expected to know through such certification. Such standards are also used as a roadmap that can structure the software courses against the education requirements, where such courses are developed. Also, with such standards governments can develop set of rules for software professionals, standards that can assess skills; and policy that can govern the software engineers’ practices (Catis, 2009).  

Software engineering is a combination of computer science knowledge and engineering knowledge. While computer science offers to the software engineers the principles of the data management, data transformations, design patterns, algorithm paradigms, programming languages, and human-computer interfaces, the engineering part of the software engineering principle offers the disciplined process, integrated systems, coordinated teams, and non-functional properties in the software design such as reliability, performance, maintainability, and ease of use. That said, it is imperative for the software professionals to be recognized through a global certification that can provide quality and standardization. Also, licensing and accreditation requires a clear definition of the technical knowledge, principles and practices that are used by the software engineering (Atlee, n.d.).

The core body of knowledge for the software engineering should reflect the good practices that can be applicable to the software products that can be easily achieved, and can provide the assurance of the software product desired quality. The main purpose of the licensing and certification is to provide, and verify the assurances about the competency of those being licensed or certified. As most of governments mandate the licensing of certain professional, professional society such as CIPS Information Systems Profession (I.SP.), and IEEE Software Engineering Certification, operate such certification program to authenticate professionals. The practice of software engineering in US and Canada falls under the Professional Engineers Act and as such; licensing software engineers will improve software quality through the application of application best practices, encourages education, and provides assurance to the public (Atlee, n.d.).

Conclusion

Professional certifications can be found in many industries such as engineering, software development, and law. Such certifications allow the continuations of the skill development that can help professionals to keep up with the current technology. With the increasing demand from employers, and organizations of the certified software engineers, the necessity of creating standards of certification for software engineering becomes essential. Some of the benefits of the international standards certification for software professional, and software engineers are as follows (Visible, 2011):

  • The need for employers to maintain a level of competency.
  • A confirmation that the established software development practices are following the standards requirements for software engineers.
  • The certification will bridge the gap between the education, and the work requirements, and verify the understanding of the software engineering fundamentals and best practices.

Finally, having a global recognized certification for software engineering, and software professional will allow software professional to be able to work globally without restrictions, and also allow organizations to assess the skills, and implement the best practices within their business through the required standards that can create better quality software, and increase the productivities of such organizations.

 References

Atlee, J. (n.d.) Software Engineering Profession and Discipline [Online]. Available from: http://se.uwaterloo.ca/~jmatlee/talks/kwsqa02.pdf (Accessed: 6 May 2011).

Catis, M. (2009) IEEE Software Certification Meets New Standard [Online]. Available from: http://www.ieee.org/portal/site/tionline/menuitem.130a3558587d56e8fb2275875bac26c8/index.jsp?&pName=institute_level1_article&TheCat=1010&article=tionline/legacy/inst2009/jan09/prodservcommsoc.xml& (Accessed: 6 May 2011).

IEEE Computer Society (2011) Software Engineering [Online]. Available from: http://www.computer.org/portal/web/se/home (Accessed: 6 May 2011).

SR Education Group (2011) What should I know when considering a degree in Software Engineering? [Online]. Available from: http://www.guidetoonlineschools.com/software_engineering_info.html (Accessed: 6 May 2011).

Visible (2011) International Certification of Software Engineers [Online]. Available from: http://www.visible.com/Solutions/certification_page1.htm (Accessed: 6 May 2011).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: