What is better, to be a web developer or a software engineer? I am a computer science student with a passion for web development. Should I continue with web development (front-end + back-end + cloud)? Are there good jobs for web developers?

Updated on : December 3, 2021 by Emiliano Robbins



What is better, to be a web developer or a software engineer? I am a computer science student with a passion for web development. Should I continue with web development (front-end + back-end + cloud)? Are there good jobs for web developers?

First of all, the question is whether there should be one thing or another that has overlapping definitions. It's like asking if it's better to be a racing driver or a stock driver. Since a stock car is generally used for racing, this is usually the same as a racing driver, and yet it doesn't specify if you're just the guy who drives the stock car to the junkyard when it's no longer running. .

I've been working as a software developer since the late 90's and much of that development has been web-based application development, so I can provide a bit of history on the growth of the web.

Keep reading

First of all, the question is whether there should be one thing or another that has overlapping definitions. It's like asking if it's better to be a racing driver or a stock driver. Since a stock car is generally used for racing, this is usually the same as a racing driver, and yet it doesn't specify if you're just the guy who drives the stock car to the junkyard when it's no longer running. .

I've been working as a software developer since the late 90's and much of that development has been web-based application development, so I can provide a bit of history on the growth of web development that might help put the terms in a bit of perspective. that could help you understand why there is so much confusion and help you decide which "path" is for you.

In the late 90s, the Internet finally took off. People used it as some kind of super powerful yellow pages to advertise their company and products, and some enterprising people used it to help educate people, often at high personal cost. Most of the sites were "static", which means that all the pages looked the same and, other than the flashing text, there was not much you could change on the screen. At this point, there were already some "dynamic" sites where you could post data and get feedback. Most of these were made with a technology called cgi that used some kind of perl script on the backend. I say something because this is a bit earlier than my own software development and I don't know much about it. The point is that

One of the first web-based applications I worked on was the use of a technology called Active Server Pages, and it included the challenge of constantly explaining to administration and security teams that a web-based application was different from a website. The rules were such that we had to get approval every time a web page changed, and since our web page changed every time a user submitted information, this discussion became tedious to explain.

Another difficult topic was hiring. Most of the people who claimed to be expert web developers were actually just designers. We quickly learned to ask what technologies they had used for web development and if the only thing on the list was the cover, we knew they didn't know they weren't "web developers", just "web designers".

So, as you can see, a bit of confusion has engulfed the web development role for some time now.

The reality is that true web development is another word for client / server software development.

Now let me point out another distinction that has emerged over the years and is likely to continue to change as long as people are still confused by the name. Software development VS software engineering.

I have worked with many developers and as you do, you will find that many of them clearly fall into one of two different types, neither of which is necessarily better or worse than the other, but one of which is typically necessary for a more complex development.

One guy, sometimes called a code monkey, but usually just called a developer, is the kind of developer who knows how to write code. This type of developer is usually very fast at coding and knows the software language they use very well. However, these developers often lack the skills necessary to solve difficult problems. If you don't explicitly tell them what you want done, they will constantly ask you how or give you something that doesn't work.

The second type of developer is often paid more and in the right situation is worth more, and this is commonly known as a software engineer. This is the type of developer who can look at existing code snippets, find out what's going on, and figure out how to make it work better. Software engineers tend to be more aware of what is happening in development. For example, they are more aware of whether a process searches for data using an index or a scan, and which is faster and why. These are the types of developers who are often least concerned with the language being used and most interested in how to solve a problem. They will make new formulas if one does not yet exist to get them what they want or need. These are the developers who usually design the best practices, such as SOLID encoding. Keep in mind that these developers are not always the fastest. They often get stuck in analysis paralysis where they know so many ways to solve a problem and can't always decide which one to use. They also frequently deviate from certain difficult problems. Good software development environments will hire both types of developers.

However, being this type of "software engineer" tends to be more of a personality issue. If this is not who you are, I would not go down this path, despite the possible salary difference. You won't be happy trying to live up to expectations if you're not of this type and it can be hard to live up to even if you are. On the other hand, if this is the type of person you are, it will be difficult for you to be anything else.

One last tip. Once your title is 3 years old or older, it only matters that you have one, not what it is in, as it will probably be out of date by then. At that point, all the title does is go to the secretary who is sorting the resumes. Your experience will count more in the interview.

By the way, the Internet is not a fad that is going to disappear. If anything, it is replacing the old client / server development paradigm.

"Best" makes this kind of question silly, and anyone who makes generalizations about this is misinformed at best and young at worst. Anyway, the lines get blurrier every day. And his career prospects are fantastic in either one.

***

Modern front-end web development has gotten really sophisticated and much more challenging and complex than it was more than 15 years ago. I think old school CS still considers it a bit of markup on a page and some pretty styles that anyone can learn in an afternoon. You can still do that, but there are also gigantic web applications (for example, Google

Keep reading

"Best" makes this kind of question silly, and anyone who makes generalizations about this is misinformed at best and young at worst. Anyway, the lines get blurrier every day. And his career prospects are fantastic in either one.

***

Modern front-end web development has gotten really sophisticated and much more challenging and complex than it was more than 15 years ago. I think old school CS still considers it a bit of markup on a page and some pretty styles that anyone can learn in an afternoon. You can still do that, but there are also gigantic web applications (for example, Google Maps or Facebook or Spotify) that require a great deal of organization, knowledge, skill, foresight, and teamwork to put together.

Historically, back-end web development has inspired more respect and continues to command a lot, and I see no reason why it should be compared unfavorably to software development. There are web server architectures that are works of engineering as beautiful and sophisticated as a physical suspension bridge. Building a system that can handle millions of requests per second is as valuable a task as any in computing.

At the other end of the spectrum, just to provide a counterexample, there are software developers doing insignificant work on some corporate incentive, compensation, and management tool. The point is: you can't generalize much just from discipline.

Take a look at this article for a perspective on modern web development - web application development is different (and better)

***

If the title of "engineer" matters to you, don't. Some people get pedantic about the connotations of developer versus engineer (versus programmer, architect ... the list goes on) but it's kind of a wash. Engineer involves a more technical approach and a degree related to computer science. You will have that. Where I work now, we don't really have titles, but we can make them up when needed. I opt for "Front-End Engineer" or "Full-Stack of Pancakes" - I mostly do frontend stuff in my day job, but I also do a lot of full-stack work and do software in my spare time, so ... any man. I can't speak to how things are in big tech companies (the land of the app developer I, the app developer II,

***

Now, the daily gratification you get from the results of what you work varies between computer science disciplines. If you like to write code and watch the web page update and if the new function you just created in your web application works perfectly, then front-end web development is a good choice. If you love opening your monitoring dashboard and seeing a massive drop in CPU load and AWS bills after your latest deployment, then back-end web development or maybe devops or sysops is great. If you want your code to be 99% accurate in your last round of cross-validation on voice audio samples and transcribed text training data, then work on natural language processing algorithms (in industry or academia) . These are artificial examples,

But what really matters the most is the team and organization you're working with, and what industry or topic (e.g., journalism or human-computer interaction, or sports, medicine, aerospace engineering, whatever) you choose to apply your abilities. . Read a lot and talk to as many people as possible who work in disciplines and environments that may interest you, and get an idea of ​​their daily work, what tools they use, their career paths, etc.

The differences between web and software development pale in front of all these other considerations.

Neither is better, but I wouldn't rule out either. I assume you define a "web developer" as someone who works on the front end (JavaScript, some Java, HTML, AJAX) and a "software engineer" as someone who works on the back end (C, C ++ , Java). In that sense, a "web developer" uses frameworks like Node.js and a "software engineer" creates services like Hadoop, Apache, and other daemons.

I have worked both on the back-end (database engine, HTTP services, etc.) and on the front-end (monolithic UI, web frameworks (like Struts), HTML, etc.). Due to my experience, I have a deep respect for both.

Fo

Keep reading

Neither is better, but I wouldn't rule out either. I assume you define a "web developer" as someone who works on the front end (JavaScript, some Java, HTML, AJAX) and a "software engineer" as someone who works on the back end (C, C ++ , Java). In that sense, a "web developer" uses frameworks like Node.js and a "software engineer" creates services like Hadoop, Apache, and other daemons.

I have worked both on the back-end (database engine, HTTP services, etc.) and on the front-end (monolithic UI, web frameworks (like Struts), HTML, etc.). Due to my experience, I have a deep respect for both.

For back-end work, it seems like a lot of the things you do go unnoticed except for a few people in the company. It is not included in discussions of what a customer needs or who gets to work with that fancy new doohickey software. Despite the lack of attention it receives, there are many different side projects you can do that are interesting while the services are running.

For front-end work, I have to admit, it's sexy. It is very rewarding to find a new way to show something and show it off. This makes many people in the company notice it immediately. However, the care you receive has its drawbacks. Because clients will see your work directly, your work will be constantly criticized. Your presence at countless meetings is expected to integrate new features for TODO. All reported bugs are yours, until you can prove that the backend is the cause. Once you find the source of the bug, your two weeks of research will turn into a one-day fix for the backend guys ("Hey, thanks backend guys for fixing the bug in such a short time. By the way , What led them to the front-end? How long to find the problem? ")

Due to my experience, I found a happy place in my career by spanning the front-end / back-end boundary. From my point of view, working exclusively on one side will "pigeonhole" your career. Once you say you are a web developer you get stuck working in PHP or another user interface language of the day. Can you do that for your entire career? On the other side of the coin, if you are just a C / C ++ expert, are you satisfied with being in the nondescript project that no one talks about?

If you noticed, I didn't mention anything about money because we all earn roughly the same amount in salary (starting and ending). You only have to worry about long-term career goals and satisfaction. Do you want to impress your teachers and classmates? Go to graduate school and solve the "peddler" problem. The rest of us are doing the necessary things.

In the end, what I would suggest is to be a "software engineer working on web applications". Passions (and technology) change over time. Don't limit your skills with a degree. Your career will thank you later.

Let's say you are choosing an educational track and you have two explicit options: "software engineer" and "web developer." You want to do web development, which is great, but there are a few reasons why you might want to go the "software engineer" route anyway.

1) Being a software engineer is a perfectly useful title if you want to get a web development position
2) Correctly apply the fundamentals of software engineering in web development, because the web is not just scripting
3) It is completely possible and such maybe even your coursework probably won't give you much in the

Keep reading

Let's say you are choosing an educational track and you have two explicit options: "software engineer" and "web developer." You want to do web development, which is great, but there are a few reasons why you might want to go the "software engineer" route anyway.

1) Being a software engineer is a perfectly useful title if you want to get a web development position
2) Correctly apply the fundamentals of software engineering in web development, because the web is not just scripting
3) It is completely possible and such Maybe even your coursework might not provide you with many practical skills
4) People seem to hold software engineers in high regard

Regardless of which route you choose, I encourage you to do some work to develop your own web development skills, not only because it will help you in the long run, but because it is fun! Look up frameworks like Ruby on Rails and ASP.NET and try building your own web application from scratch. I guarantee you will learn quite a bit (and perhaps more than you would in school or even your first position in the industry, combined). Do lots of searches for best practices and read the wealth of information that people have. Find third-party libraries, from unit testing frameworks to NoSQL databases, pick what you like best, and make it work. Read up on semantic HTML, try CSS preprocessors, etc., etc.

It sounds like a lot of work and research, but in reality none of these things are that complicated. You will be amazed at how much you can learn just by reading the blog posts you find with a search.

Your degree will help you land your first position, but understanding your work in depth will make you good at it. You will be able to identify the places where your business is doing the wrong thing and try to figure out how to change them. You will be able and willing to do almost anything your business needs, and they will love you for it. And if you have a good idea for a web application of your own, you can make it happen.

Judging from your introduction, your definition of web development is somewhat wrong. A web developer is the person who develops for the web. The web is NOT the Internet. The web consists of web pages and the typical languages ​​to build them are HTML, CSS, Javascript and PHP. Of course there are more, but let's stick with these really popular ones for now. Of these, HTML and CSS are not programming languages. They are markup languages. Therefore, a person who writes either is not considered a "true" developer. Javascript and PHP are two languages ​​that are generally frowned upon for being an unstructured mess.

Keep reading

Judging from your introduction, your definition of web development is somewhat wrong. A web developer is the person who develops for the web. The web is NOT the Internet. The web consists of web pages and the typical languages ​​to build them are HTML, CSS, Javascript and PHP. Of course there are more, but let's stick with these really popular ones for now. Of these, HTML and CSS are not programming languages. They are markup languages. Therefore, a person who writes either is not considered a "true" developer. Javascript and PHP are two languages ​​that are generally frowned upon for being an unstructured mess. However, its ease of use led to rapid and wide adoption. Javascript specifically has grown significantly and is now used in the backend of many web platforms.

A software developer is a person who normally applies the theory of algorithms and data structures, knows the machine to a certain extent, and is not dependent on a specific language. A software developer could write in each and every one of: Python, Java, C, C ++, Javascript, and even PHP, among many others. A software developer can also write HTML, but has the ability to write a program that dynamically generates the HTML.

Hence the paradox of your description. The title software developer is quite generic and includes the backend and frontend of network services. It involves some theoretical pedigree and technical expertise. However, the term web developer refers to a very limited subset of them. A professional who is strictly a web developer cannot develop the backend of a distributed application.

If you want to work in the cloud, you should focus on what is called distributed systems. Learn about both networking technologies and distributed software engineering. If you get good at it, then web development will be a skill you can pick up in a free weekend.

Finally, always remember that just because a piece of code works and gives the correct result, it does not make it correct or efficient.

Web development is software development too, it's actually a subset of software development, therefore I don't understand what their argument is.

On the surface, web development doesn't seem too complex or as challenging as developing applications that need to run on the PC, but that's not true, web development (also known as engineering applications to run on the web) is so challenging like any other. other discipline.

It may be what they are trying to say is that technologies like HTML, XML and it may even be PHP are not as sophisticated as other CS tools and they may be right, but almost

Keep reading

Web development is software development too, it's actually a subset of software development, therefore I don't understand what their argument is.

On the surface, web development doesn't seem too complex or as challenging as developing applications that need to run on the PC, but that's not true, web development (also known as engineering applications to run on the web) is so challenging like any other. other discipline.

Perhaps what they are trying to say is that technologies such as HTML, XML, and may even be PHP are not as sophisticated as other CS tools and they may be right, but almost all the tools that have been used in software development in general do. have made. It has also been applied to web development and therefore from a complexity level point of view you will come across the same complexity.

Money wise, there is no compelling evidence to suggest that you are going to earn more or less if you become a software developer versus a web developer, so I wouldn't worry too much about that as I think you can't be sure in that.

I can feel your pain I graduated last August and I am the only person in my school's IT department (that I know of) who now works as a web developer. I often felt left out of the conversations because I didn't want to be a traditional software engineer and many times I felt less intelligent for loving JavaScript. However, I stood my ground and now earn more money fresh out of college than any other recent graduate I know.

But that is not really important. Money is great, but the reason I love my job is because I can do what I enjoy every day. It could have been a traditional

Keep reading

I can feel your pain I graduated last August and I am the only person in my school's IT department (that I know of) who now works as a web developer. I often felt left out of the conversations because I didn't want to be a traditional software engineer and many times I felt less intelligent for loving JavaScript. However, I stood my ground and now earn more money fresh out of college than any other recent graduate I know.

But that is not really important. Money is great, but the reason I love my job is because I can do what I enjoy every day. I could have been a traditional software engineer and I have the skills for it, but I didn't like it as much as web development. The problems I solve on a daily basis and the culture of web development are very different from traditional software engineering, and I love it.

I think that's the real appeal of web development; the sheer amount of background people come from to get into web development is insane. Since we don't have traditional degree programs for our skills, most of the people you meet do so because they enjoyed it enough to learn on their own.

So in general, if you like it, stick with it. It really is a field that if you love it, you can find ways to make money easily.

Also, if you noticed, I say "traditional software engineering" throughout my article, because web developers are software engineers, we only create software that runs primarily within the browser.

Web development * is * nothing compared to software development, not necessarily in terms of money, but in terms of breadth. Web development is a subset of software development that ties you to a specific technology (though a technology that is likely not going away anytime soon), putting the "web developer" in the same class as the "cobol developer."

Any software developer can do web development, up to a point (although 'web developer' often involves experience in graphic design and layout as well -...

Continue with Quora + Unlock this answer and support creators like John Ohno by joining Quora + Start your free trial

What is better, an artist or a scientist?

There are many high paying jobs for both web developers and software engineers. The jobs are very different.

A web developer must be excited about the latest and greatest news, because tools change much faster. You will have to spend a lot of time reading manuals and you better have a good memory. You will probably work with younger people. You will probably have a better chance of working on something other than accounting and payroll software. And you will see a visual representation of your program.

But for me, the most important

Keep reading

What is better, an artist or a scientist?

There are many high paying jobs for both web developers and software engineers. The jobs are very different.

A web developer must be excited about the latest and greatest news, because tools change much faster. You will have to spend a lot of time reading manuals and you better have a good memory. You will probably work with younger people. You will probably have a better chance of working on something other than accounting and payroll software. And you will see a visual representation of your program.

But for me, the most important difference is conceptual. I was drawn to programming because I like to try to make sense of the world. Programming takes something complex and breaks it down into an algorithm. The pleasure of coding is taking some complex process from the real world, constructing an abstract representation of it and manipulating it, learning things from its abstract representation.

Web programming does not have that joy for me. In web programming, complexity is from artificial, arbitrary, man-made things that are unmatched in the real world. You are not struggling to summarize complex processes from real life; you have difficulty doing things on the client with the data that is on the server. So the abstract structure that you build and hold in your mind has no educational value. It doesn't tell you anything about real life.

IMO
what the profes was and how they probably meant the implicit separation of Web Developer is very focused and almost exclusively a CSS front-end web developer HTML / Javascript / quite static versus a software engineer to concentrate on application development / server / dynamic backend.

This dichotomy is breaking down a bit with much heavier applications being made in the browser or using browser techniques to produce applications. I would say that in the next 5 years languages ​​will move further into the web developer stack, but design / algorithm skills will develop.

Keep reading

IMO
what the profes was and how they probably meant the implicit separation of Web Developer is very focused and almost exclusively a CSS front-end web developer HTML / Javascript / quite static versus a software engineer to concentrate on application development / server / dynamic backend.

This dichotomy is breaking down a bit with much heavier applications being made in the browser or using browser techniques to produce applications. I would say that in the next 5 years or so, languages ​​will lean more towards the web developer stack, but algorithm design / development skills will be based more on engineering as you will be doing more structured work on it. browser. This will mean the need to be able to have a deeper understanding of the operation of the browser and computers in general (Engineering) in order to obtain the necessary performance as the interface becomes more and more cumbersome.

In the end, they are just names, not skill sets. I have a feeling that what you want to do would actually be titled Software Engineering in a Web Application by those teachers who are trying to define a difference. So learn the Software Engineering stuff and learn to apply the principles to web languages ​​and you'll be ready for anything in the future, no matter how someone decides to label it.

Also note that the titles are not very standardized. Each company uses its own definition and they usually don't match, so worry more about the skills you want to acquire and less about what people call them.

Those are just titles. I work on a web application and my title is software engineer. In the past, I have been a web developer. In both positions, I did almost the same job.

People who look down on "web development" are ignorant of what web development is today. Just look around and see what you can do "on the web" and you will see. Would they leave Google applications because it is 'web'? Most likely they will not; they would say "well that's software engineering, not web development".

They live in the past where "web developer" meant the high school kid who mixed HTML, CSS, and Java.

Keep reading

Those are just titles. I work on a web application and my title is software engineer. In the past, I have been a web developer. In both positions, I did almost the same job.

People who look down on "web development" are ignorant of what web development is today. Just look around and see what you can do "on the web" and you will see. Would they leave Google applications because it is 'web'? Most likely they will not; they would say "well that's software engineering, not web development".

They live in the past where "web developer" meant the high school kid who mixed HTML, CSS, and Javascript in exchange for a pizza. The field has matured significantly.

Learn the principles of software engineering, so you can do your web stuff at a high level. But if the web is your passion, don't let its ignorance stop you from following it.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.