Chapter 13
In This Chapter
Building your own program
Continuing your education
Learning from Stanford’s example
Getting an advanced degree
Web development is constantly changing. Although it’s true that formal community college, college, and university degrees are very valuable, as described in Chapter 12, they’re not entirely necessary, and they’re not always sufficient.
Degrees are not entirely necessary because web developers are in such high demand, and because the work that you do can be “self-evidencing.” That is, public-facing websites that you’ve helped create or modify, your portfolio site, and colleagues’ recommendations can add up to a powerful argument for your value on a web development team, almost regardless of formal education level.
However, as we mentioned previously, we do recommend getting a college degree. It’s very easy for the people who shuffle papers in the hiring area of a company to only put resumes in the “yes” pile if they list a college degree. Even for relatively savvy hiring managers, a person with a degree is going to stand out over someone without one, all other things being equal. So you stand a better chance of getting the job you want, at the salary you want, with a degree or two in hand.
One difference between web development and a lot of other relatively good-paying office jobs is that a two-year degree, called an associate degree — an associate of arts (A.A.) or associate of sciences (A.S.), which is more technical — is sometimes sufficient for web development careers, at least for getting started.
However, over time, you’re likely to be regarded as more technically capable, to get hired more easily and more often, and to be paid better, if you move up to a four-year degree — a B.A. (Bachelor of Arts) or B.S. (Bachelor of Sciences).
But the fact that a degree is necessary, or almost necessary, is one thing. Why might a degree, even a four-year degree, not be sufficient?
Because web development is constantly changing. New tools, new programming languages, and new ways of working are constantly coming to the fore.
There are many ways to learn these new tools. Trial-and-error on your own; articles with tips and tricks; online courses; and live, in-person courses are the major approaches. You can also find a degree or certificate program that wraps a bunch of pieces together, although some parts may be uninteresting or repetitive for you.
One argument in favor of structured courses is that they make you take the time for learning. That is, you might be able to learn something yourself in a few days of trying things — but as long as you’re at work, you don’t get the time to do that. So instead, by signing up for a course, you’re taken out of the daily hubbub and allowed to focus on learning.
There are trade-offs, as well, in online and in-person learning. In general, online learning is more flexible. If you can whiz through a relatively familiar topic, online learning might be the best bet. But in-person courses get more of your attention and focus, simply because you’re physically present. You also may have better opportunities to ask questions and to network with others, both about learning the material and future job possibilities.
With all this in mind, do seek out structured opportunities to learn. Find out which approaches work best for you. Use the things you learn on the job and also in projects for your portfolio (see Chapter 16). By using what you’ve learned, it sticks much better than if you only ever use the new skills in a learning environment.
Many colleges and universities allow for a lot of flexibility in their degree programs. Others offer the additional option of specialized majors that are expressly designed to let you do almost whatever you want.
When you go looking for a job, it’s easier if you have a recognized name for your studies, such as computer science. If you want to take a cluster of courses in a particular area, such as database design, you might be able to find a major that has that area in its name; otherwise, you can simply tell potential employers that you had an “emphasis in” the area that you focused on.
You can also put together double majors or interdisciplinary programs. If the healthcare area fascinates you, you can do a combined program of some sort in healthcare, biology, or physiology, along with computer science courses.
Web design jobs are constantly changing, and web design touches just about every area of business, government, and the non-profit world. So combined degrees can be very useful ways into a particular area that interests you.
You can also pursue areas that you might not use directly. A minor in literature or philosophy might help you pursue your own intellectual interests without distracting from your major. Even a double major or interdisciplinary program featuring a non-technical major is unlikely to hurt you much: It shows that you have a broad range of interests, are independent, and have “learned how to learn.” (And, as a practical matter, a break from highly intense computer science courses during your college time might be a good thing indeed.)
According to the U.S. Bureau of Labor Statistics, management jobs in computer science usually require a bachelor’s degree, and the same is true for web development. So if you want to be a manager, and you don’t yet have your bachelor’s degree, figure out how to get one. What specific courses you take on the way to your degree is probably not all that important, as long as each of the courses help you increase your skills in some way.
Figure 13-1 shows the educational requirements for manager’s jobs in computer science, as part of the overall occupational outlook for this area. To see this page, visit www.bls.gov/ooh/management/computer-and-information-systems-managers.htm#tab-4.
Finally, you can ask about auditing courses that interest you. Auditing means sitting in a class, and potentially even taking the exams, without getting university credit. Many professors welcome auditors, as they are often working professionals who lend a nice balance to the bright, but inexperienced, young things who fill most of the seats in their courses. It’s a great way to learn, to meet people, and to consider your options for further education.
Wonder what kind of requirement’s a major university’s computer science program has? Stanford is probably the leading school in the world for computer science, and it’s famous for birthing start-ups, with Google being only the most spectacular of many examples, so we use it for examples here. Figure 13-2 shows the home page for the Bachelor of Science degree in Computer Science at Stanford.
Mathematical core courses are outlined in Table 13-1.
Table 13-1 Mathematics (26 Units Minimum)
Course Number |
Course Name |
Units |
CS 103 |
Mathematical Foundations of Computing |
5 |
CS 109 |
Introduction to Probability for Computer Scientists |
5 |
Math 41 and Math 42 |
Calculus and Calculus |
10 |
Two electives |
N/A |
4 |
Stanford’s core curriculum in science is shown in Table 13-2.
Table 13-2 Science (11 Units Minimum)
Course Number |
Course Name |
Units |
Physics 41 |
Mechanics |
4 |
Physics 43 |
Electricity and Magnetism |
4 |
Elective |
N/A |
3 |
For the core courses in technology in society, you simply choose your own course from a wide range listed in the catalog.
The requirements in engineering fundamentals are outlined in Table 13-3.
Table 13-3 Engineering Fundamentals (13 Units Minimum)
Course Number |
Course Name |
Units |
CS 106B or CS 106X |
Programming Abstractions or Programming Abstractions (Accelerated)* |
5 |
Engr 40 or Engr 40A or 40M |
Introductory Electronics or Programming Abstractions (Accelerated)* |
5 |
Fundamentals Elective (may not be 70A, B, or X) |
3-5 |
Table 13-4 outlines Stanford’s requirements for writing.
Table 13-4 Writing in the Major (13 Units Minimum)
Course Number |
Course Name |
Units |
CS 181W or CS 191W or CS 194W or CS 210B or CS 294W |
Computers, Ethics, and Public Policy Writing Intensive Senior Project Software Project Software Project Experience with Corporate Partners Writing Intensive Research Project in Computer Science |
5 |
The computer science core requirements are covered in Table 13-5.
Table 13-5 Computer Science Core (15 Units)
Course Number |
Course Name |
Units |
CS 107 |
Computer Organization and Systems |
5 |
CS 110 |
Principles of Computer Systems |
5 |
CS 161 |
Design and Analysis of Algorithms |
5 |
Note the presence in the Stanford Engineering course requirements of CS 106X, Programming Abstractions (Accelerated), in case plain old CS 106B, Programming Abstractions, isn’t, perhaps, abstract enough for you.
You should also consider courses that increase “soft skills,” such as skills in communications and project management. Look for courses where you have to do project work in a team and present the results. Also, some schools offer project management courses that are very career-focused. In some cases, at the end of the class, you can sit for a project management certification, such as the first-level Project Management Professional (PMP) certificate.
Technologists are famously irreverent, and looking at Stanford’s core curriculum for computer science is a good test as to whether you have the “irreverent” gene. To some people, a list like this one instantly raises the question, “How am I going to do all that?” These people instantly go into planning mode.
If you have the “irreverent” gene, though, the first thing you might think is, “Well, about half of that looks interesting. The other half, not so much.” And you start picking and choosing interesting and not-interesting courses. You’ll start flipping through the Stanford course catalog, looking everywhere for other courses that might go into a major of your own design. If that’s your reaction, you have the irreverent gene — and a turbulent, but quite possibly highly successful, career in front of you.
Continuing education is an odd part of the education industry. (If you think of it as an industry, you’ll do a better job of making smart decisions about consuming what it offers.)
From your point of view, as the consumer, continuing education can be a time and money sink, taking a lot from you without giving you much in return. On the other hand, it can be a very powerful force in opening up new pathways for your future.
It takes a lot of forethought, creativity, and hard work to make continuing education pay off for you. But it can pay off very well indeed, whether in new knowledge, professional achievement, personal satisfaction, or a combination of those.
Figure 13-3 shows the home page for a web design certificate program offered in North Carolina. It’s a fairly complete 13-course program, with the technical side represented by a JavaScript course called JavaScript for the Non-Programmer. Check it out at www.oshr.nc.gov/psp/webdesigncert.html.
Stanford’s Continuing Studies department is a great example of the pressures faced by major university continuing education programs — and of the rewards possible for students, despite the pressures.
If you look at the website for Continuing Studies at Stanford, you won’t find a single computer science (CS) course. CS is the crown jewel of Stanford’s curriculum, both in terms of its academic reputation and its revenue base; Stanford isn’t going to let people get the rewards of CS courses by, as it were, coming in the side door.
Figure 13-4 shows the website for Continuing Studies at Stanford. Check it out at http://continuingstudies.stanford.edu/courses/courses-by-department.
Especially note the online courses, which you can take from anywhere in the world. Then check out the offerings at colleges and universities in your area, as well as ones you’ve attended previously.
But look through the listings carefully, and you find hidden gems. On Stanford’s site under Online Professional and Personal Development, you’ll find Tame Data to Drive Big Insight: An Online Course. If you click through to the description, you’ll find that this is a course in the area of big data, which is one of the hottest areas in technology, and directly relevant to web development.
In that same heading is another course, Beginning Programming (PHP): An Online Course. PHP is a very popular language for web development, and it also has a big data aspect to it.
Finally, under Technology is a treasure trove of web development-related courses, including website design, WordPress, and JavaScript. The courses mentioned previously as appearing under Online Professional and Personal Development appear here too.
When you take courses as a regular Stanford student, a lot of nice things suddenly appear on your resume. But you can get a lot of cool technology names, plus the Stanford name, on that resume really quickly and easily through continuing studies courses.
Continuing education is, by its nature, highly flexible, and everyone’s educational background and work situation varies. So we can’t give hard and fast rules as to how to work the continuing education game.
Here are a few tips, though, that will help many people in many different situations:
Many of the advantages of an advanced degree also apply to a bachelor’s degree, and vice versa. Read both this section, about bachelor’s degrees, and the next section, about advanced degrees, to get a well-rounded idea of the advantages of all kinds of higher education in web development jobs.
In a field where hiring is driven by your portfolio and your connections, and where the need for a bachelor’s degree is controversial, what about advanced degrees? Isn’t an advanced degree completely unnecessary?
There are three kinds of advanced degrees for most web developers to consider:
If we had to answer the question, “Do I need an advanced degree?” with a simple yes or no, the answer, for many web developers, would indeed be no. You can have a long, successful, and lucrative career in web development without an advanced degree. And there’s a good case to be made that working longer hours or taking on a side project could well be more lucrative over time than taking courses.
However, a longer answer would cite some advantages of advanced degrees that are hard to get any other way:
Different advantages of an advanced degree matter more or less to different people. The key is that, in web development, unlike in other careers, an advanced degree is not always an unadulterated plus. Pursue one for your own reasons, and don’t pursue it if you don’t think you’ll enjoy it.