There are many job labels when it comes to IT, and many individuals get confused when trying to understand what it is a person exactly does when they hear job titles such as Software Engineer. Let’s see what they actually do and if they make websites.
Even though a specialized field of a Software Engineer can be web development, their main role will be to design, build, code, and maintain, web-based applications, features, systems, or products. This is different from a Web Developer who builds and maintains websites. However, a Software Engineer may have the knowledge to build websites.
This article will explain what a Software Engineer does (including the various fields and roles), and with that, we will relate and compare it to a web -developer. By understanding that, we will be able to determine if a Software engineer can indeed make a website.
What is a Software Engineer?
A Software Engineer is a specific form of an IT (Information Technologies) specialist in its most literal form. They will apply Software Engineering principles to computer software, taking into account design, development, testing, evaluation, and then maintenance.
What is Software Engineering
Software Engineering is the systematic application of scientific and technological knowledge, methods, and experience applied to the design and implementation, testing, and documentation of software. In a simpler form, it is the development and application of the software.
What does a Software Engineer do?
Now that we know what a Software Engineer is and what Software Engineering is let’s discuss what it is they actually do, and by understanding this, we can relate their job, if possible, to building websites.
Take note that the term Software Engineer is a very broad term, and we will have to sub-divide a Software Engineer’s job into fields and roles in order to get a better understanding of what it is they actually do.
Software Engineer fields
Applications development and project engineering
This field is problem-based, non-web-based software development, and the Software Engineer will use languages to develop applications in languages such as Java and C+.
Systems development
Systems development engineers design and code the background software created to support application development, and this type of engineer will most likely code in the languages of C and C++.
Web development
These engineers design software applications that are designed to run in a web browser, and they will create these applications using languages like HTML, JavaScript, and PHP.
Embedded system development engineer
This engineer creates applications and systems that control various devices and machines that are different from traditional computers.
We can see that there is a specific field for a Software Engineer in terms of web development. However, we can still break down the roles of a Software Engineer to establish what parts of web-based applications or websites they will have a role in.
Software Engineer roles
Front-end Software Engineer
These engineers develop user interfaces (UI) for software applications, web applications, or various products and features. They handle user experience, cross-browser compatibility, troubleshoot, and bugfix their code.
Back-end Software Engineer
These engineers work hand-in-hand with front-end engineers, and their job focuses on the underlying core logic of the software environment.
Full-stack engineer
These developers are both front-and back-end engineers. They have the skills required to develop a fully functional web application.
There are three other types of Software Engineers that we will name but not detail because, for the most part, their job does not lay with making websites but rather assessing applications and manage databases and concentrate on security. They are assurance quality engineers, dev-ops engineers, and security engineers.
Regarding web development
I cover in some detail what Web Developers do in another article I wrote here (Do Web Developers Need To Know Photoshop). So we will not cover that as much in this article, but we will outline what they do to understand if a Software Engineer does build websites.
A Web Developer will typically design, create and maintain a website, and they also have back-end, front-end, and full-stack developers.
The back-end developers will make sure that the site and databases will send and store information correctly while the front-end developers will work on the UI and graphics, making the website exciting and engaging.
Web Developer vs. Software Engineer
As we can see, for the most part, a Software Engineer is a person who handles the development of an application. This application can be web-based or within a standalone environment. They usually work in a team, and they will take a product from idea to inception, overseeing, coding, fixing bugs, troubleshooting, reworking, implementing, and maintaining it. An example of an application that a Software Engineer will work on, is Gmail.
This gives us a better grasp of what it is they do. Although Gmail is in your web browser and is technically part of a website (stored, visible information on the web if we simplify what a website is), Gmail is a system unto itself and is not a typical website.
Not only do they work on specific products or applications, but they can also work on features. Features we can say are small applications or systems that run within an environment. This can also be web-based. For example, you can have a Web Development Engineer create a feature that allows someone to click a button on a website, and that button will prompt them to take a test.
Take note that the test can be anything, and that is not the focus. The focus is that the Software Engineer will build some form of application, system, or feature (in our example, a test) that will be visible and usable within a web browser (and most likely on a website).
Now a Web Developer will not build the system, application, or feature themselves but rather implement and put it on the website, making it available for the user. Typically a Web Developer will build websites that we can consider to be the norm, such as a site containing information and digital media, and they will work in conjunction with a Software Engineer in order to design and implement any form of application, system, or feature that the website requires.
Remember that you do get full-stack developers in both cases of a Software Engineer and a Web Developer, but for the most part, all these individuals will work together designing, creating, and implementing what the product is together.
Can a Software Developer be a Web Developer and vice versa?
This all depends on the person and their knowledge of the coding languages they have. There is no clear line in IT that separates one job from another, and more likely than not, you have many people who can do many things, although they do specialize in a field.
A Software Engineer that specializes in web applications and knows how to code in HTML, PHP, and JavaScript may have the knowledge and the know-how to build a website or at least major aspects of one. On the other hand, a front-end Web Developer who has knowledge of graphic design and coding with CSS will not be a Software Engineer.
This is something you have to take into consideration if you are looking at what to learn and what part of IT you would want to have as a career. Hence, although there are many aspects of Developer jobs that overlap, there are specializations, and it would be in your best interest to know them all before starting on your career path.
Conclusion
We discovered that a Software Engineer could be divided into many fields and even roles taking on almost anything that has to do with designing, creating, implanting, fixing, and maintaining applications, systems, products, and features.
These applications, systems, products, or features can be web-based or in a standalone environment (embedded systems). You even have Software engineers that make software for other fields such as medical science, consumer electronics, aviation, automotive industry, and more (although we did not cover that in this article).
Web Developers typically build, design, create, code, and maintain websites and work hand-in-hand with a Software engineer if there is some form of feature, application, or system they need to implement on a website.
Lastly, a Software engineer may have the skills to build a website depending on their knowledge of coding languages, but that does not mean a Web Developer can be a Software Engineer.