Software Developer Vs Software Engineer

4 47
Avatar for StrungSafe
4 years ago

Who cares?

The difference between software developer and software engineer may seem superficial but it should represent a difference and all software developers and software engineers should care. Ultimately, as of today, there is no actual difference between these titles besides preference and potentially a company's title structuring.

What is a Profession?

Wiki defines professions as an occupation founded upon specialized educational training, the purpose of which is to supply disinterested objective counsel and service to others. The milestones which may mark an occupation being identified as a profession include:

  1. an occupation becomes a full-time occupation

  2. the establishment of a training school

  3. the establishment of a university school

  4. the establishment of a local association

  5. the establishment of a nation association of professional ethics

  6. the establishment of state licensing laws

Some examples of professions include civil engineers, law, doctors, etc.

Why are these professions held to such a high standard? Having licensing and associations to hold these professions accountable is necessary because we don't want people calling themselves, for example, a doctor when they have not had the proper training. The licensing and profession association is meant to ensure individuals working in that profession are held to a high standard that should help to ensure the individual is able to complete their job and in a safe manner. Peoples' lives are at sake with many (dare I say all) of these professions and if we allow anyone to operate on someone or say design bridges then there is certainly to be a high chance of unqualified people to hurt others.

So is writing software a profession? While some of the items listed above are certainly true; none are required to be completed to work in software as a job or a career. A challenge in calling software development a profession is most software can be learned and written freely; there is no way to prevent people from writing software. This eliminates all the requirements that makes a profession a profession. To write software, there is no board, no team, that one has to be approved by before writing software. With this in mind, all people that write software can't be called a profession

Software Developer vs Engineer

A software developer is an individual that can write code, potentially any software (though typically I've seen the title limited to people that work on server side software). The person may even write great code but that should not qualify someone to be able to call themselves a software engineer.

A software engineer should be an individual that has proven their training and expertise. The software engineer will have a foundation in hardware, networking, and be an expert in software development. A software engineer will know and follow the best practices to ensure the software they develop is safe to use and able to evolve without causes unintended consequences (or at least know when it does so it can be fixed). A software engineer should be held to the same standard as other professions to ensure we have software engineers developing safe software.

Software in Critical Applications

Software is becoming just as critical as physical structures; many times even controlling the physical structure. The Boeing 737 Max tragedies has in part been blamed on software (though there were other issues too). We also see software being relied upon by NASA and SpaceX to control their rockets. Software is seeping into our everyday life, even to places we don't realize. For these critical applications, where the software must perform as expected every time and be predictable in every scenario, is becoming increasingly common. Currently, we rely on the creators of these critical infrastructure to ensure their software developers are creating safe code; that doesn't always work because some software developers lack autonomy or may misunderstanding how software and/or hardware work.

Luckily, there have been some advancements in programming languages like Ada that help to ensure that the software being created with it are safe. Ultimately a new programming language can't solve all the issues of creating software and we should be ensuring that critical applications are being worked on by qualified individuals.

Making software a profession would help to ensure that we are producing people that are capable of consistently producing safe software. A software engineer would use techniques that allow them to plan, design, and build software that they can prove at any time how the software will perform in any scenario. Making software a profession would also ensure that negligent developers are punished (if that be criminal charges or simply disbarring the person from practicing as a software engineer) for allowing unsafe software to be released.

Conclusion

In today's environment, software developers and engineers are no different from each other besides the title. Some organizations may use the title in their hierarchy but not all organizations will. However, if we want for software to become a profession, we should care and there should be a difference. A software developer can be anyone that can write software; a software engineer should be someone that is rigorously tested and held to a high standard of ethics.

3
$ 0.01
$ 0.01 from @Chemaclass
Avatar for StrungSafe
4 years ago

Comments

I am sure that after considering several companies, you will choose ASD https://asd.team/ , because now there is no cooler team for software development. We have now signed a contract with them and they have started the development of our project. So far we are very satisfied, as we can feel the professionalism and experience of this team in each of their actions. We are confident that the final product will be outstanding and we are happy to work with such a dedicated team.

$ 0.00
3 months ago

As a new player in the tourism sector, we're looking to create a mobile app that offers seamless booking experiences, travel guides, and real-time customer support. Finding developers who understand the unique challenges of the tourism industry is crucial for us. What advice do you have for selecting a development team that can deliver a high-quality app with an excellent user experience? How can I assess their capability to handle complex integrations with third-party services?

$ 0.00
3 months ago

It means Software Engineer is more trained and specialized right?.. Awesome

$ 0.00
4 years ago

Ideally it would but in today's market it does not. Ideally the engineer would have certifications and tests that ensure a minimal level of training and specialization. Much like other engineers like civil engineering.

$ 0.00
4 years ago