Going Back To School

If you are already a software developer but don’t have a degree in computer science or are looking to break into the field you may be considering going back to school. There are several options ahead of you based on what you are wanting to do and your academic history. In addition, returning to school will impact your life in ways that you may not be considering.

” Most of the episode will apply no matter where you live.”

This is about going back for formal education, not code school or bootcamps. We’ll have another episode later talking about code school and how to determine if you should attend and which school is best. Having not attended schools outside of the US most of our examples will come from experience here in the States.

The decision to go back to school or to attend in the first place is big and life altering. It should not be taken lightly. It’s a very personal and difficult decision to make. If you are thinking about it, this is just some information you’ll need to consider when making that decision. Take your time and weigh all the options. If needed create a pros and cons list that lists the benefits and costs of your choice along with the benefits and costs of choosing not to go back to school.

Episode Breakdown

Ways to Return to School

There are several different paths you can take when going back to school. You may not have attended school past high school or have a degree in another field.

07:20 First Time Student

The traditional path is to attend college after high school or a year afterwords. This is what most people think of when they are talking about going to college. A way to save money on the traditional path is to take general education courses at a community college before attending and graduating from a university. Other somewhat traditional paths include military service or volunteering through something like the Peace Corps. People do this to assist in paying for college. Some may not be interested in college after high school.

“A lot of the military discipline helps them out.”

Reasons for not going to college on the traditional path include poor grades in high school or the high cost of tuition. In the US (may be different in other countries), all states have a “second chance school” that accepts students no matter their high school grades or test scores. Those with poor scores are placed in remedial courses at the school or at community colleges. This does not apply to graduate school. In some countries your path may be different, for some it is chosen early through test scores. Cost can also be a cause for not following the traditional path.

Going to college for the first time as an adult can be difficult. You have different priorities than traditional students. Traditional students are in school both for the learning and the experiences (social and otherwise). Non-traditional students tend to be more focused on education. Most traditional students pay for school through loans or family whereas adult students are likely to be paying for themselves.

14:05 The Second Bachelor’s Degree

A way that some people choose to get into development or advance their career is to go back and get a second bachelor’s degree in computer science. Getting a second degree in computer science. To move up in some places you may be required to hold a bachelor’s degree.

“I started off premed/biology, everything that I took just transferred over into psych.”

Typically when getting a second bachelor’s degree you will not have to retake general education classes. This of course depends on your program and your previous degree. Bachelor of science have a different set of general education classes (more math/science) than bachelor of art (more humanities/language). It will also depend on how credits from your previous university transfer to the new school, though this is less of a problem than if transferring while seeking a degree. You’ll still have to take prerequisite courses. This may be the case even if you have previous AP or CLEP credit for them. In computer science this is likely to be more math courses than other degrees, unless you majored in math.

Already having a bachelor’s degree may mean that you do not have to take college entrance exams (ACT and SAT). This will likely depend on how long it has been since in you were last in school. Some schools have a cut off for how old exam scores can be. Others will admit you based on the fact that you have a degree. It also depends on the type of previous degree or previous scores in science and math areas. If your degree was not in STEM then you will may need to prove aptitude in those areas. Lower scores in science and math areas may also require retaking these exams.

20:05 Graduate School (Master’s and Ph.D.)

Going beyond a bachelor’s degree graduate school goes in depth in a certain area of computer science. Master’s degrees are generally the next step after your bachelors degree. You don’t have to do in depth in computer science. There are leadership and management programs that focus on. You can also get an MBA in computer science or computer information systems (CIS). Going all the way, you can get your doctorate in computer science and teach or do research. In some doctorate programs you get a “non-terminal” master’s degree as part of the Ph.D. process.

“What really humbled me was not getting the promotion the first time I applied for it.”

Attempting a graduate degree is possible without already having an undergraduate degree in computer science. There are some programs out there that accept students that do not have a degree in computer science. Most of these will review your work history and transcripts before determining which if any prerequisite or remedial courses you need before beginning the program. These will likely have graduate level courses that teach what they have determined are the important pieces of the undergraduate degree. You may also be required to take undergraduate courses that are prerequisites usually in other departments like math. You’ll have to complete these before being able to start taking graduate courses. Other programs require you to basically get a second bachelors degree as part of the master’s program.

To Go or Not To Go

“To study: to sleep no more…”

People make the decision to go back to school for many different reasons. On the other side though, there are just as many reasons people decide not to go back to school or pursue a graduate degree.

25:55 Reasons To Go To School

Going back to school can help you get a job in development or advance your career. You don’t have to have a degree to get into development, but it can be helpful. Some people prefer the more formal route for learning. There are jobs and positions that require some form of formal education. These tend to be more on the software engineering side than the straight up coding side. It could also be in a specialized area of development.

Some people go back to school in order to be considered for management opportunities and requirements for promotion. A lot of companies will require that you have a degree to move up into management. Most of the time this does not have to be a computer science degree. Degrees in business, management, or CIS are a good choice for these requirements. Getting an MBA or master’s degree will improve your chances of moving up to management. You will be taking courses in leadership and learning how to be a manager.

“You gotta think about who you’re reporting to on that one, you’re probably reporting to the CEO or the CFO and you have to speak their language.”

When the economy goes through times of recession having a degree will put you ahead of other candidates. Unemployment rates are around 5.2 percent for people without a degree, whereas those with a bachelor’s degree are 2.7 percent on average. There are actually more computing jobs available than there are qualified people to fill them. The Bureau of Labor Statistics projects computing and information technology jobs will grow between 12%–37% through 2022. An education could make you more valuable to an employer and increase the odds that they’ll keep you around.

Getting a degree no matter the level increases you confidence and gives you a sense of accomplishment. Graduating from school is a satisfying feeling. You’ve accomplished something many other haven’t done yet. It’s a way to prove your worth to yourself. “Imposter syndrome” is a real problem. A lot of people worry about being found out for “faking it” at their jobs. They lack the confidence to make decisions and constantly doubt themselves. Getting a degree will help you to not worry as much about faking it. Finishing a degree program prepares you to be more confident. It provides the tools and training to better yourself as a coder. Also you gain validation in your decision to go into software development. Improved confidence and a personal sense of accomplishment show in the way you carry yourself at the job and in future interviews.

“You’re going to have to have a degree in advance of what the people paying to learn from you have.”

There are several professions that require an advanced or graduate degree, thankfully coding is not one of them. There are areas in software development that require or are enhanced by having a graduate degree. These tend to be more focussed on the engineering side of computer science. Research in computer science or areas around it will require a master’s or more likely Ph.D. Teaching at a college level also requires an advanced degree in computer science or a related area.

33:10 Reasons Not To Go To School

You don’t need a degree to get a job. There are plenty of coding jobs out there that do not require a degree in computer science. If you’ve attended a bootcamp or coding school you are already ahead of some comp sci graduates in the eyes of many employers. These tend to be the ones looking for entry level candidates that can jump right into the codebase. The code school provides practical knowledge whereas the computer science degree provides a way to learn and think about coding.

“You need to treat this as a business decision.”

The cost of going back to school may outweigh the gains you get from having a degree. Degrees are expensive and they have to pay off to really be worth it. There is an opportunity cost related to going back to school. You will not be as open to promotion while you are attending school. Also you are spending time, money, and resources that could be used to get ahead in the profession. It’s harder to change jobs because you are less flexible in your schedule. The pay increase that you get from going back to school may not be enough to effectively cover the costs of school. If you get a student loan you could end up behind because of interest. The student loan debt compounds so that you are not able to do other things like get a mortgage.

Academic languages are rarely used in real world, on the job, coding. Academia breeds snobbery and a love for arcane solutions. Almost every field is like this, not just software development. Newer languages, frameworks, and even features take time to get to the academic world. Languages change and evolve, but if one team member uses some old or unique feature and starts including it in the code base, everyone else will have to learn it. If everyone does this it can create clutter and confusion. It also adds excessive amounts of time to getting new people up to speed because they have to learn all the different styles. Unless you are doing research or staying in an academic setting you are unlikely to use the languages you learn in school.

“You’re not likely to see Angular and React in an academic program.”

Just as academic languages aren’t used in most real world coding, modern languages and frameworks are rarely taught in academia. University programs focus on the more sustainable skills and fundamentals of programming over the ever changing framework of the week. Computer science programs produce deep thinkers who understand the core fundamentals that languages are built upon. They have a shallow knowledge of the language itself. However, a lot of what you face in the real world are challenges dealing with the idiosyncrasies of the modern languages or frameworks. In general, you’re less likely to be focused on algorithm efficiencies than getting Angular to play right with a Java API. You won’t be using much of what you learned in school in your day to day activities. Though they may come up every now and again.

Making the Decision

Once you know the options on returning to school and the reasons both for and against going back it’s time to make a decision. You’ll need to look at how this is going to affect your life and then weigh the options creating a list of pros and cons.

42:30 Effects of Going Back

Returning or starting school will impact your work life. You may not expect it to do so but going back to school will affect how you are treated at work. This can be a good thing with coworkers and managers expecting you to bring new insights to the business. However it can be negative if they are worried about you leaving or that you are doing school work on the clock. They may worry that you will not be available for emergencies or an on call rotation. Maintaining the balance between work and school can be difficult, especially during down time at work. In one hand by studying for school during down time you are improving yourself and potentially making the code base better. On the other you are spending time not focused on work. It’s best to keep the two separate, only doing school work when not on the clock. Understand that you’ll be spending even more time in front of a computer. For some this may not be a problem at all because they were already studying and spending more time behind a screen. For others this will take some adjustment to get used to being on the computer at work and at school.

“There’s this managerial ethos where ‘we value butts in seats and IDE’s open’ even if you are staring blankly into space.”

Keeping up with changes in the technologies (languages/frameworks) that you are using becomes more difficult. Academia tends to be behind on newer trends. You are not likely to be learning about the new JavaScript frameworks. They may or may not be caught up with what you are doing at work. It will depend on how “cutting edge” of a tech stack that you are using. This tends to be less of a problem if you are working in an older codebase or with older technologies. You will have to set aside time to work toward maintaining your knowledge of what you are using at work while taking classes. Your classes are not likely to use the same language or tools that you use at work. Since you are setting up a place and times to study this is a good time to get a subscription to a service like Lynda or Pluralsight.

Going back to school will also affect your social life. If you are closer to the traditional college ages you may decided to get involved on campus. For extraverts this means less ability to go out with friends and family. Spontaneous outings wil become rare while you are in school. You can still get you needed social time by building it into your schedule. Making friends in your program or participating in study groups can help with getting enough social time. Intraverts will have to be even more careful about running out of energy in social settings. You may not realize how much your school work is draining you. If you have to participate in courses, even online that can drain your socializing meeter.

You are going to be tired and cranky at times, usually around mid-term and finals. Your stress levels will increase with the increased workload. Make sure to take time for yourself to relax and remove stress. Set aside some personal time in your day or weekly schedules. This may be just down time in front of the TV or playing mindless video games. Be wary of how this will affect your relationships with friends and family. People who supported you at first are likely to rescind that support if you become grumpy and snap at them. You are going to want people like your spouse or your boss on your side while going through school.

51:25 Weighing the Options

The most important thing to consider when weighing the options of whether or not to go back to school is the amount of time it will take. You will need to start keeping to a schedule. This will prevent you from getting caught up in the moment and over committing to things. Make sure you’re family and other obligations know about important dates for school like exams. Also understand that you will have to reduce the number of time consuming activities you are involved in. This means a lot less time in front of the TV or playing video games. It may mean not seeing the latest movies when they come out or going on vacations as much. It does not mean that you can never watch TV or go on vacation, though. If it’s been a while since you’ve been in school you may need to set aside time to relearn how to study.

The next biggest consideration you have to weigh is the cost of the degree. The cost of a first time degree will be more than that of a second bachelors mostly because of the general education requirements. Attending a private institution will cost more than a public school. Public schools are subsidized with taxes. Graduate classes generally cost more than undergraduate courses. Some employers will help to pay for school. If you are in this situation you may have to work for them for a certain amount of time or pay them back. You will have to stay there for the length of time you are in school to keep getting that benefit.

“You don’t want to leave a couple semesters before you’re done and wonder how am I going to pay for this.”

You will need to know how you returning to school will be viewed by your current employer. Let your boss know because they may have plans to promote or move you to a more demanding position. If you are going back for a promotion work with them to determine what type of degree you need to move forward. They will also be reassured by being included in your decision making process not after. Companies and employers can have different attitudes and policies to employees attending school. Many will support your decision and encourage if not financially support you. Others may not be as supportive thinking you will leave after finishing or will not be putting your fullest effort into work. Be careful when talking about what you plan to do after you get the degree.

When making the decision to return to school talk it over with the important people in your life. Your spouse may have other plans that will interfere with your school schedule. Getting that out up front will prevent stress and arguments later. If it’s not a good time they may ask you to wait a semester or two before starting. Friends can have surprising insight when making decisions like this. If you have a side hustle or podcast make sure you let your business partner know about your plans. They will likely have concerns about your availability while in school. By bringing it up early you can discuss how to work around your school schedule.

IoTease: Project

ESP Smart Alarm Clock

 

This is an alarm clock connected to your smart phone via Wi-Fi using ESP8266 module. Set up to 20 alarms, it’s limited due to hardware. You are able to add, remove, and alter alarms using an Android application when the device is connected to the same Wi-Fi network as your phone. Unfortunately this project isn’t an option of iPhone users, though you can get a cheap Android phone to learn and play around with the technology.

Tricks of the Trade

When you are making a major life decision you need to talk to the important people in your life about it before committing. They are less likely to be against a decision that will benefit your life if they are informed about it, but are more likely to be against it if it comes a shock or surprise to them. This applies to anything from going back to school to getting married. You’ll get more buy in from those close to you if you include them in the decision.

Editor’s Notes:

Tagged with: , , , , , ,