What are software engineers, and what do they do?
We do a lot of things, and there is no formal definition of software engineer. * Some like to create websites, which is a huge world. I mean...there is web design, front-end (the part that you see), back-end (servers and more), etc. They create responsive web applications that can work on phones. They create new APIs, amazing tools, or new web frameworks. * Some like the mobile world. * Some work on harder things, like cryptography, compilers, artificial intelligence, and operating systems. Each of this could be divided into a lot of new things. We just...create software :D
Software: The parts of computers and computing that are not hardware. Thus, the programs that hardware runs. This is inclusive of the operating system, utilities, games, office applications, and so on and so forth for a long, long list. Engineer: A person that designs, builds or maintains engines is the original but it was redefined over time to the more systematic, mathematical, and analytical parts of a wide range of design and construction processes. Add the two terms together: A person that writes computer programs in a systematic, mathematical, and analytical fashion.
Software engineers are esentially people who build, design, debug, and publish software. Sometimes for a company or for personal uses but some give it to the world/internet.
SoldierDuck, I would say that is too generic. That defines a programmer or coder, but software engineering goes a bit beyond that. This is because of the field of engineering and what it takes to be a member of an engineering society and not just a programmer. See these sites for information on engineering: http://www.cs-tcse.org/ https://www.acm.org/about/se-code vs. just being a professional programmer: http://asp-software.org/www/ The main reason for such a difference is the consequences of poor programming practices that do not fully engineer the issue: http://royal.pingdom.com/2009/03/19/10-historical-software-bugs-with-extreme-consequences/ And yes, many of those were caused by people with engineering degrees. Being an engineer does not stop problems from happening, but more examples like the Therac-25 mistake are brought up in engineering classes than they are in general programming.
Join our real-time social learning platform and learn together with your friends!