5 answers
Asked
1180 views
What are some benefits and drawbacks of being a web developer compared to other IT/computer science careers?
I'm in 10th grade and I'm doing a project on web developers which is a career I'm interested in going into when I get an associate's or bachelor's degree in IT.
Login to comment
5 answers
Updated
Robyn’s Answer
I think starting in a place of personal interest is great. Be open-minded to new evolving project needs and requirements to create opportunities to explore new areas of learning and focus for yourself. Every time you take on a new project look for an opportunity to grow your skills and experience. You will be surprised what you will get to learn.
Updated
Patrick’s Answer
It's truly inspiring to see your active pursuit of web development for your future. This field offers a myriad of benefits, such as the opportunity to channel your creativity into designing visually captivating websites, the high demand across diverse industries, and the freedom to work remotely, promoting a balanced lifestyle. On the flip side, you'll face challenges like the fast-paced evolution of technology, which demands continuous learning, the pressure of project deadlines, and the stationary nature of the work. This underscores the need for regular breaks and physical activity to maintain a healthy work-life balance. As you dive deeper into your project and career choices, ensure they align with your personal interests and strengths. Don't forget to consider related IT or computer science careers to find the perfect match. Should you need more information or have any queries, don't hesitate to get in touch. Wishing you all the best in your academic journey and future career exploration.
Updated
Hasnain’s Answer
Web development is a dynamic field with both benefits and drawbacks. Here are some points to consider:
Benefits of Being a Web Developer:
1. High Demand: With the increasing reliance on the internet, there is a consistently high demand for skilled web developers.
2. Diverse Opportunities: Web development covers a broad spectrum, from front-end development (user interface and user experience) to back-end development (server-side logic). There are also full-stack developers who work on both ends.
3. Creative Expression: Web developers often have the opportunity to express their creativity through designing user interfaces and crafting visually appealing websites.
4. Flexibility: Many web developers have the option to work remotely or as freelancers, providing a flexible work environment.
5. Quick Entry into the Field: Compared to some other IT careers, web development often has a lower entry barrier, making it accessible to beginners.
6. Constant Learning: Technology in web development evolves rapidly, providing continuous opportunities for learning and skill development.
Drawbacks of Being a Web Developer:
1. Fast-Paced Changes: The fast evolution of web technologies means that developers need to stay updated constantly, which can be challenging for some.
2. Job Pressure: Tight deadlines and the pressure to deliver can be stressful, especially for developers working in fast-paced environments.
3. Browser Compatibility Issues: Ensuring that websites work well across different browsers and devices can be a complex task and sometimes frustrating.
4. Client Expectations: Dealing with client expectations, revisions, and feedback can be challenging, requiring good communication and project management skills.
5. High Competition: Due to the popularity of web development, there is high competition in the field, which may impact job opportunities and salary negotiation.
6. Technical Debt: In some projects, quick solutions are prioritized over robust, long-term solutions, leading to technical debt that may need to be addressed later.
Remember, the experience can vary depending on the specific job, company, and individual preferences. It's also worth considering that these points are not exclusive to web development; many are common in various IT and computer science careers. Exploring different aspects of the field through internships, personal projects, or additional coursework can help you make informed decisions as you progress in your education and career.
Benefits of Being a Web Developer:
1. High Demand: With the increasing reliance on the internet, there is a consistently high demand for skilled web developers.
2. Diverse Opportunities: Web development covers a broad spectrum, from front-end development (user interface and user experience) to back-end development (server-side logic). There are also full-stack developers who work on both ends.
3. Creative Expression: Web developers often have the opportunity to express their creativity through designing user interfaces and crafting visually appealing websites.
4. Flexibility: Many web developers have the option to work remotely or as freelancers, providing a flexible work environment.
5. Quick Entry into the Field: Compared to some other IT careers, web development often has a lower entry barrier, making it accessible to beginners.
6. Constant Learning: Technology in web development evolves rapidly, providing continuous opportunities for learning and skill development.
Drawbacks of Being a Web Developer:
1. Fast-Paced Changes: The fast evolution of web technologies means that developers need to stay updated constantly, which can be challenging for some.
2. Job Pressure: Tight deadlines and the pressure to deliver can be stressful, especially for developers working in fast-paced environments.
3. Browser Compatibility Issues: Ensuring that websites work well across different browsers and devices can be a complex task and sometimes frustrating.
4. Client Expectations: Dealing with client expectations, revisions, and feedback can be challenging, requiring good communication and project management skills.
5. High Competition: Due to the popularity of web development, there is high competition in the field, which may impact job opportunities and salary negotiation.
6. Technical Debt: In some projects, quick solutions are prioritized over robust, long-term solutions, leading to technical debt that may need to be addressed later.
Remember, the experience can vary depending on the specific job, company, and individual preferences. It's also worth considering that these points are not exclusive to web development; many are common in various IT and computer science careers. Exploring different aspects of the field through internships, personal projects, or additional coursework can help you make informed decisions as you progress in your education and career.
This was super helpful, thank you!
Benjimen
Updated
Anthony’s Answer
Hi Benjimen,
I have a Bachelors degree in Computing (quite a while ago now), but it was a great balanced start to my career as it offered a taste of some of the different skill domains from an IT point of view (Software development and coding, Network engineering, Information design, consulting, running projects, etc.)
The reality is a degree in technology can be a great solid baseline for learning the fundamentals of technology, and this will serve you for your whole career. After that start, IT requires you to have a continuous learning attitude, as this is an important part of success in the industry.
After over 20 years in IT I can share the pros and cons from my experience:
Cons:
- It's hard work, with times of long hours.
- You have to watch your health.... physically you are at a desk a lot, mentally there can be some stressful scenarios (deadlines, high expectations, always having to learn or do something for the first time).
- Sometimes you can't easily explain to others what you do.
- Technology teams and functions are sometimes treated like more of a cost that people would rather not spend, so there are frustrations in the IT world when trying to get great quality outcomes.
Pros:
- It's mostly exciting, especially in the long term as the industry is constantly changing.
- It can create great opportunities in rewards, both pay, but also the ability to travel and work in different places as the skills are so globally applicable.
- Technology is so broad now, with so much impact into all areas of industry and human existence that you can have real impact into areas you are passionate about.
As for your Web Developer vs IT question... I see Web Development as just a part of the broader IT industry. It's a great place to start, but you will be a better We Developer in a pure technology sense it you understand IT at the fundamental levels, and more broadly.
One consideration you could think about is how much of the Web Developer side interests you because of the visual design and human interaction aspects, as opposed to the technical aspects? This could help you find your starting point.
No-matter where you start your journey, technology is so broad now and it's a great industry at allowing you to pivot and adjust your career later on.
Good luck in the future!!
I have a Bachelors degree in Computing (quite a while ago now), but it was a great balanced start to my career as it offered a taste of some of the different skill domains from an IT point of view (Software development and coding, Network engineering, Information design, consulting, running projects, etc.)
The reality is a degree in technology can be a great solid baseline for learning the fundamentals of technology, and this will serve you for your whole career. After that start, IT requires you to have a continuous learning attitude, as this is an important part of success in the industry.
After over 20 years in IT I can share the pros and cons from my experience:
Cons:
- It's hard work, with times of long hours.
- You have to watch your health.... physically you are at a desk a lot, mentally there can be some stressful scenarios (deadlines, high expectations, always having to learn or do something for the first time).
- Sometimes you can't easily explain to others what you do.
- Technology teams and functions are sometimes treated like more of a cost that people would rather not spend, so there are frustrations in the IT world when trying to get great quality outcomes.
Pros:
- It's mostly exciting, especially in the long term as the industry is constantly changing.
- It can create great opportunities in rewards, both pay, but also the ability to travel and work in different places as the skills are so globally applicable.
- Technology is so broad now, with so much impact into all areas of industry and human existence that you can have real impact into areas you are passionate about.
As for your Web Developer vs IT question... I see Web Development as just a part of the broader IT industry. It's a great place to start, but you will be a better We Developer in a pure technology sense it you understand IT at the fundamental levels, and more broadly.
One consideration you could think about is how much of the Web Developer side interests you because of the visual design and human interaction aspects, as opposed to the technical aspects? This could help you find your starting point.
No-matter where you start your journey, technology is so broad now and it's a great industry at allowing you to pivot and adjust your career later on.
Good luck in the future!!
I love that you mentioned not being able to explain your job to others as a con! It's such a small thing but it's definitely a con. I've given up on the idea of my family understanding what I do at this point!
Gurpreet Lally, Admin
Updated
Robert’s Answer
Good question! A career as a web developer is still a common career, and it pays well. The more experience you have, the better your pay can be. But, before we swing into the specifics of that, I wanted to talked about "computer science careers" -- as that is a common misconception. You also mentioned a "degree in IT" -- that isn't a thing (aside from an MIS degree), and you should be careful about that. Because most of those AA/AS programs are worthless, and mostly exist to take your money.
But first, let's talk about Computer Science. There is really no such thing as a "computer science career." A lot of universities are offering a Bachelor of Science/Art in the field of "Computer Science" -- and they mean that literally. The science of computing. Having gone through that program myself (as it was the only one offered at my university), I can tell you exactly what majoring in Computer Science will entail.
The vast majority of universities still teach Computer Science as a training program for people who wish to study the science of computing, work in labs a researchers studying computing, earn graduate degrees on the science of computing, and teach about the science of computing. That means: a lot of math and physics classes, a LOT of theory classes, a lot of history classes, and quite a few formal logic and esoteric classes that don't fit under any other category.
For my lower division courses, before I could be accepted into the full major of Computer Science, I had to have completed (with a C+ or better) the following:
• Calculus I and Calculus II
• Calculus based Physics I and II (both with labs)
• Statistics for Engineers (Calculus based)
• Biology I (with lab) or Chem 1
• Linear Algebra or Applied Linear Algebra or Number Theory or Combinatorics or Deductive Logic II (all of these are math courses, you got to pick one)
• Discrete Structures for Computer Science (a formal logic course)
• Programming Concepts I & II (basic Java programming)
• Introduction to Computer Architecture (assembly language programming -- and it was hands on with programming assignments, USING assembly language!)
• Introduction to Systems Programming in UNIX (C and bash programming on the command line, using Linux (nobody uses UNIX outside of university anymore))
The names of those courses will changes depending on the university you attend, but the structure will stay pretty much the same for all accredited universities.
And that was just to get INTO the major. Those classes are also in addition to your general education classes the university requires for you to graduate (you get your degree from the college of your major (e.g. the College of Math and Science for a Computer Science degree), but it is granted by the university itself, which has its own requirements.
Here are the rest of the courses I had to take for my degree:
• Data Structures and Algorithm Analysis (a course of algorithms like binary searches, b-tree, recursion, etc. Was taught in Java when I took it)
• Computer Software Engineering (a programming course, but also a course about writing formal documentation for a project, e.g. a design document, and similar)
• Object-Oriented Computer Graphics Programming (this was taught as a "make a game" course when I took it, we coded in Java, and we were required to implement the MVC pattern for our (working) graphical game. Essentially we were given a basic Atari level game and told to implement it using Object Oriented Programming. We had to use OOP to get credit)
• Database Management Systems (a database course, fairly useful in the real world)
• Computability and Formal Languages (a combination theory class, and history class, about how computers make decisions, and how ancient programming languages work)
• Computer Organization (a circuit design course, when I took it we had to use prolog and design actual working circuits of an actual working (basic, but still) CPU)
• Computer Networking Fundamentals (a network course, e.g. how to make computers talk to each other. When I took it they made us implement the ancient Token Ring standard of computer networking. And I mean that literally, they had a lab setup, we had to code in C, and implement a Token Ring networking protocol)
• Operating System Principles (more circuit design, formal logic, C programming, and Boolean algebra)
• Business and Computer Ethics (a philosophy course)
• 3 classes from the following optional (elective) list:
○ Career Planning
○ Computer Science Seminar
○ Fieldwork in Computer Science
○ Professional Practice
○ Co-Curricular Activities in Computer Science
○ Special Problems
○ Seminar in Peer-Assisted Learning
• Senior Project - Part I & II (your capstone project, a 2 semester long team project where you get an actual software assignment from a sponsor, write up design documents for it, then build it and give it to the sponsor)
I hope you can see from that list, that a BA/BS in Computer Science is in no real way going to prepare you for a career in: web development, backend development, frontend development, or even just general purpose programming. The degree programs in place right now were largely created in the 1960-1980s, and they haven't changed much since then. They still presume that someone majoring in Computer Science wants to be a generalist who knows all about the science of computing. A BA/BS in Computer Science trains you well to enter graduate school for Computer Science, or to work in a lab developing a new programming language, or maybe a machine learning lab or similar. It WILL NOT adequately train you to work in a corporate job as a software engineer/programmer.
There are degrees out there that do a better job of that. I know of one in particular, California State University, Chico offers a Computer Programming degree. That degree cuts out most of the history and theory courses, and the courses covering ancient programming languages and processes, and many of the math and science courses, and replaces them with ... PROGRAMMING courses (I know, weird, right?)
Long story short, if you are not working in the industry, interning, or working on your own to learn modern job-related skills, a BA/BS in Computer Science will not prepare you will for a "Computer Science Career" -- as most of the jobs open to Computer Science majors are programming and engineering jobs. Sure, there will be the occasional "do you want to help us with our cool new research project" types of jobs, but most of the available jobs will be for programming/frontend/backend/database work. You will touch on those concepts in university, but you will not study them in depth.
Now, real quick, let's circle back around to your statement that you wanted a "bachelor's degree in IT." I have never heard of a BA/BA in "IT". The closest I have heard of that is an MIS degree. That is a more hands-on version of a Computer Science degree, and it is focused on those who wish to enter "IT" as their career. The reason I am putting "IT" in quotes is because that is a catch-all term that companies and organizations use wildly differently. If you apply for an "IT" job at a Fortune 500 company, likely you will join an IT department, with formal roles, and formal training, and certificates. And your job role will be well defined. You will support networking, or computer deployment, or phone systems, or wiping and readying computers for new hires, etc. However, at a startup, "IT" generally means that you will be the "tech person." Copier breaks? Call the IT person. Need the website updated? Call the IT person. Linda in sales can't see something on her personal phone? Call the IT person.
"IT" can be a formally trained, and certified role -- it can also be chaos where you are asked to handle anything and everything that even looks like it might have stood next to a computer at some point. Additionally, an AA/AS degree in "IT" is a waste of your time and money. Most of those "schools" exist solely to keep passing you, no matter what, so they can keep taking your money. Many of them have recently gone bankrupt (search for "Corinthians bankruptcy" and "ITT Tech bankruptcy"), after having taken large amounts of money from their students. The students are left with a worthless degree, no job, and no more available financial aid (because they spent it all at the "IT" school). I STRONGLY advise against spending your time or money on an AA/AS-only "IT" "school." If you want to go that route, attend an accredited Junior College in your area, and get your AA/AS from them, likely in Computer Science or MIS.
An AA/AS degree won't open many doors for you though, as most companies aren't interviewing anyone without a BA/BS degree, or an equivalent amount of years of experience (usually 6-8).
Finally, you asked what the benefits are of being a "web developer" -- I am going to assume you meant a "full stack web developer", as that means you can code and support the frontend and the backend (and likely the database). The benefit to that job role is you get to see the applications you build get used, and you get to create them, which is fun. You won't have to put up with the rather picky issues that come from systems/command line programming, nor will you necessarily have to deal with a rigid OOP programming environment (unless you choose Java EE as your tech stack). Full Stack Web Developer jobs pay well, and come with a lot of freedom, and responsibility. However, if you only know frontend (the UI consisting of the HTML/CSS/JavaScript) or backend (Java, C#, Python, etc.) or databases (SQL, and similar), then your staring pay will be lower. But that's okay too, as the responsibilities will also be lower.
I know that was a lot of information, but you asked kind of a wide ranging question, and I wanted to be sure to address all of your points. Hope that helped you.
But first, let's talk about Computer Science. There is really no such thing as a "computer science career." A lot of universities are offering a Bachelor of Science/Art in the field of "Computer Science" -- and they mean that literally. The science of computing. Having gone through that program myself (as it was the only one offered at my university), I can tell you exactly what majoring in Computer Science will entail.
The vast majority of universities still teach Computer Science as a training program for people who wish to study the science of computing, work in labs a researchers studying computing, earn graduate degrees on the science of computing, and teach about the science of computing. That means: a lot of math and physics classes, a LOT of theory classes, a lot of history classes, and quite a few formal logic and esoteric classes that don't fit under any other category.
For my lower division courses, before I could be accepted into the full major of Computer Science, I had to have completed (with a C+ or better) the following:
• Calculus I and Calculus II
• Calculus based Physics I and II (both with labs)
• Statistics for Engineers (Calculus based)
• Biology I (with lab) or Chem 1
• Linear Algebra or Applied Linear Algebra or Number Theory or Combinatorics or Deductive Logic II (all of these are math courses, you got to pick one)
• Discrete Structures for Computer Science (a formal logic course)
• Programming Concepts I & II (basic Java programming)
• Introduction to Computer Architecture (assembly language programming -- and it was hands on with programming assignments, USING assembly language!)
• Introduction to Systems Programming in UNIX (C and bash programming on the command line, using Linux (nobody uses UNIX outside of university anymore))
The names of those courses will changes depending on the university you attend, but the structure will stay pretty much the same for all accredited universities.
And that was just to get INTO the major. Those classes are also in addition to your general education classes the university requires for you to graduate (you get your degree from the college of your major (e.g. the College of Math and Science for a Computer Science degree), but it is granted by the university itself, which has its own requirements.
Here are the rest of the courses I had to take for my degree:
• Data Structures and Algorithm Analysis (a course of algorithms like binary searches, b-tree, recursion, etc. Was taught in Java when I took it)
• Computer Software Engineering (a programming course, but also a course about writing formal documentation for a project, e.g. a design document, and similar)
• Object-Oriented Computer Graphics Programming (this was taught as a "make a game" course when I took it, we coded in Java, and we were required to implement the MVC pattern for our (working) graphical game. Essentially we were given a basic Atari level game and told to implement it using Object Oriented Programming. We had to use OOP to get credit)
• Database Management Systems (a database course, fairly useful in the real world)
• Computability and Formal Languages (a combination theory class, and history class, about how computers make decisions, and how ancient programming languages work)
• Computer Organization (a circuit design course, when I took it we had to use prolog and design actual working circuits of an actual working (basic, but still) CPU)
• Computer Networking Fundamentals (a network course, e.g. how to make computers talk to each other. When I took it they made us implement the ancient Token Ring standard of computer networking. And I mean that literally, they had a lab setup, we had to code in C, and implement a Token Ring networking protocol)
• Operating System Principles (more circuit design, formal logic, C programming, and Boolean algebra)
• Business and Computer Ethics (a philosophy course)
• 3 classes from the following optional (elective) list:
○ Career Planning
○ Computer Science Seminar
○ Fieldwork in Computer Science
○ Professional Practice
○ Co-Curricular Activities in Computer Science
○ Special Problems
○ Seminar in Peer-Assisted Learning
• Senior Project - Part I & II (your capstone project, a 2 semester long team project where you get an actual software assignment from a sponsor, write up design documents for it, then build it and give it to the sponsor)
I hope you can see from that list, that a BA/BS in Computer Science is in no real way going to prepare you for a career in: web development, backend development, frontend development, or even just general purpose programming. The degree programs in place right now were largely created in the 1960-1980s, and they haven't changed much since then. They still presume that someone majoring in Computer Science wants to be a generalist who knows all about the science of computing. A BA/BS in Computer Science trains you well to enter graduate school for Computer Science, or to work in a lab developing a new programming language, or maybe a machine learning lab or similar. It WILL NOT adequately train you to work in a corporate job as a software engineer/programmer.
There are degrees out there that do a better job of that. I know of one in particular, California State University, Chico offers a Computer Programming degree. That degree cuts out most of the history and theory courses, and the courses covering ancient programming languages and processes, and many of the math and science courses, and replaces them with ... PROGRAMMING courses (I know, weird, right?)
Long story short, if you are not working in the industry, interning, or working on your own to learn modern job-related skills, a BA/BS in Computer Science will not prepare you will for a "Computer Science Career" -- as most of the jobs open to Computer Science majors are programming and engineering jobs. Sure, there will be the occasional "do you want to help us with our cool new research project" types of jobs, but most of the available jobs will be for programming/frontend/backend/database work. You will touch on those concepts in university, but you will not study them in depth.
Now, real quick, let's circle back around to your statement that you wanted a "bachelor's degree in IT." I have never heard of a BA/BA in "IT". The closest I have heard of that is an MIS degree. That is a more hands-on version of a Computer Science degree, and it is focused on those who wish to enter "IT" as their career. The reason I am putting "IT" in quotes is because that is a catch-all term that companies and organizations use wildly differently. If you apply for an "IT" job at a Fortune 500 company, likely you will join an IT department, with formal roles, and formal training, and certificates. And your job role will be well defined. You will support networking, or computer deployment, or phone systems, or wiping and readying computers for new hires, etc. However, at a startup, "IT" generally means that you will be the "tech person." Copier breaks? Call the IT person. Need the website updated? Call the IT person. Linda in sales can't see something on her personal phone? Call the IT person.
"IT" can be a formally trained, and certified role -- it can also be chaos where you are asked to handle anything and everything that even looks like it might have stood next to a computer at some point. Additionally, an AA/AS degree in "IT" is a waste of your time and money. Most of those "schools" exist solely to keep passing you, no matter what, so they can keep taking your money. Many of them have recently gone bankrupt (search for "Corinthians bankruptcy" and "ITT Tech bankruptcy"), after having taken large amounts of money from their students. The students are left with a worthless degree, no job, and no more available financial aid (because they spent it all at the "IT" school). I STRONGLY advise against spending your time or money on an AA/AS-only "IT" "school." If you want to go that route, attend an accredited Junior College in your area, and get your AA/AS from them, likely in Computer Science or MIS.
An AA/AS degree won't open many doors for you though, as most companies aren't interviewing anyone without a BA/BS degree, or an equivalent amount of years of experience (usually 6-8).
Finally, you asked what the benefits are of being a "web developer" -- I am going to assume you meant a "full stack web developer", as that means you can code and support the frontend and the backend (and likely the database). The benefit to that job role is you get to see the applications you build get used, and you get to create them, which is fun. You won't have to put up with the rather picky issues that come from systems/command line programming, nor will you necessarily have to deal with a rigid OOP programming environment (unless you choose Java EE as your tech stack). Full Stack Web Developer jobs pay well, and come with a lot of freedom, and responsibility. However, if you only know frontend (the UI consisting of the HTML/CSS/JavaScript) or backend (Java, C#, Python, etc.) or databases (SQL, and similar), then your staring pay will be lower. But that's okay too, as the responsibilities will also be lower.
I know that was a lot of information, but you asked kind of a wide ranging question, and I wanted to be sure to address all of your points. Hope that helped you.