Common Misconceptions
Misconception #1: CSSE is the Same as CSE​
While many compare UW Bothell’s CSSE degree to UW Seattle’s CSE degree, there are many stark differences that separate the two programs and in turn make career hunting a much different experience for students at both campuses. We make this distinction in this guide to mitigate the issue of CSS students taking advice for CSE students while not having access to the same resources.
Curriculum Quality​
One major difference between CSSE and CSE is the quality of coursework included within each degree program’s curriculum. CSS students often overlook this difference because of the common selling point of the CSSE degree being “more practical” than CSE. However, courses like CSS 350/360/370 are often cited as these “practical” courses, yet provide minimal practical knowledge and skills due to outdated content. In contrast, most CSE courses have students work with modern software engineering practices and technologies such as unit testing and the React framework in CSE 331, or Linux and Bash scripting in CSE 391. Simply put, CSE courses cover much more _content and _more useful _content _compared to CSS courses (even if they share the same overall theme).
This issue is clearly present in many of the core classes for CSS students. For introductory programming courses, CSE 143 covers several additional topics on top of CSS 143 content, including maps, hashing, backtracking, and trees. For data structures and algorithms courses, CSS covers the content in the two-part sequence of CSS 342 and CSS 343. In the CSE program, the content from both of these courses is condensed into CSE 332 which covers all the same topics plus parallelism in just one quarter.
This issue is also present in elective classes. Take for example the topic of database systems, which is covered at UW Seattle in the course CSE 414 and at UW Bothell in the course CSS 475. In CSS 475, professors usually cover database design/diagramming and basic SQL by the end of the course. In CSE 414, these topics are all covered before the midterm or in significantly less time throughout the course. CSE 414 also introduces several more advanced, modern topics like Transactions, NoSQL, and Advanced SQL before the final exam.
In other cases, CSS simply does not offer a course that is offered for CSE students. One major example is CSS’ lack of a dedicated algorithms course, which is offered as CSE 417 and CSE 421 at UW Seattle. Algorithms in particular are crucial to understanding how to solve coding problems seen in technical interviews, and not having a dedicated course leaves CSS students at a clear disadvantage.
However, if you are reading this guide in Spring 2022 or later, you may be able to take the newly introduced course _CSS 449 which is a dedicated algorithms course for CSS students._
Career Resources​
The other main difference between CSS and CSE is the quality and amount of career resources provided to students. In particular, CSE students have access to resources like exclusive recruiting fairs with many participating companies such as Amazon, Facebook, Google, etc. specifically targeting students in the degree program. UW Bothell also has tech recruiting fairs, but the industry connections are not at the same level as CSE.
CSE also has other dedicated career resources for students like a career board, career center, and career advisors experienced in tech recruiting (such as CSE’s former career counselor Kimberly Nguyen) to assist students in the career hunting process. These types of resources are either completely unavailable or minimally available for CSS students.
Misconception #2: Classes are the #1 Priority​
Related to the prior discussion on the quality of the CSS curriculum, a common mistake CSS students make when career hunting is dedicating a majority of their time to coursework and not toward other career preparation. In this section, we will discuss why class performance/GPA is not the most effective use of time for securing an internship or job.
GPA Obsession​
While GPA can be a significant factor in consideration for certain companies (such as quant/trading companies), its importance is often overinflated relative to other important factors that most companies look for in job applicants. For example, showing that you’ve worked on substantial coding projects to develop your skill set is almost always more important than having a near-perfect GPA. Or, this time spent toward classes could instead be invested toward interview practice to nail your next technical or behavioral interview.
However, this does not mean that performing well in classes is something to completely overlook. It is generally best if you maintain a 3.5+ GPA to stay in the running for the most competitive companies, and above 3.0 for most other companies. Overall, it is best if you can meet these GPA standards while investing the rest of your time in other career prep activities like building personal projects, learning data structures and algorithms, and practicing interviewing skills.
Value of Classes for Modern Careers​
It is also important to consider the value of the skills and knowledge gained from specific CSS courses. Specific to the CSSE degree is the infamous CSS 350/360/370 sequence, which many students describe as being large time consumers while providing minimal valuable information for software engineering. For classes like these, it is the best use of your time to simply put enough effort to get a decent grade while focusing your time on more career preparation activities.
In contrast, there are some courses in the CSS program that are worth putting in extra time to learn the content, as they cover useful skills and concepts for interviews and/or specific career paths. Examples of these classes include CSS 342 and CSS 343 which teach data structures and algorithms -- the core of technical interviews. Or, elective courses like CSS 436: Cloud Computing, which covers many modern technologies and allows you to practice these skills in substantial course projects. More of these useful courses can be found in Appendix C.
Misconception #3: Internships/Jobs are Easy to Obtain​
Finally, we wanted to clear up the misconceptions around the difficulty of obtaining internships/job offers. In short, getting an internship/job offer is hard, and will require a substantial time commitment over several months. This section will describe why this process is so difficult by prefacing some sections that will be covered further in this guide.
The Numbers Game​
A common mistake CSS students make is only applying to a small set of the top tech companies in the Greater Seattle Area like Microsoft, Google, Amazon, and T-Mobile, then assume they’re done applying. Especially for those attempting to get their first internship/job, this is absolutely not a good way to career hunt. In reality, most students send out dozens of applications before their first bite into interviewing with a company, and hundreds more before they land an offer. This is why the career hunt is often called a “numbers game” due to the sheer amount of roles and companies you will be applying to.
For your first internship/job, it is critical to send out as many applications as you can to viable roles (even if the technologies used or company prestige isn’t the best) to maximize your chances at landing an interview/offer. Also, don’t be put down when you receive rejection after rejection from companies when you first start applying. It is just a normal part of the process and is the reason why it is so important to mass apply -- all it takes is one company to give you a chance to make your career hunt a success.
Preface: The Technical Interview​
The technical interview is what many applicants consider to be the hardest part of landing a software internship/job. In summary, the technical interview is a stage in the overall interview process where a company will test you on your technical skills and knowledge of data structures and algorithms as a way to screen you as an applicant. This stage requires weeks to months of hard preparation -- some compare it to studying for the SAT/ACT to get into college.
We will cover the technical interview process in more detail later in this guide, but for now just know that it will be a major part of your preparation and it is okay to struggle in this step. If you want to preview what the technical interview questions are like, you can visit the resources here.
Your Class Standing​
Finally, we want to clear up a piece of information regarding class standing and landing internships/jobs. If you are a freshman or sophomore, you may have more trouble landing interviews/offers as many companies focus more on recruiting juniors and seniors. However, some programs like Google STEP specifically exist for freshman/sophomores, so look out for their open application dates to increase your chances of landing an offer.