Learning Programming By Going to College: Part II
Learning Programming By Going to College: Part II
In Part II of this series, John Sonmez considers the disadvantages of going to college and some strategies that you can implement.
Join the DZone community and get the full member experience.Join For Free
The Agile Zone is brought to you in partnership with Techtown Training. Learn how DevOps and SAFe® can be used either separately or in unison as a way to make your organization more efficient, more effective, and more successful in our SAFe® vs DevOps eBook.
This post is part of a chapter from my upcoming book The Complete Software Developer’s Career Guide. I’m writing the book live on this site week-by-week.
If you missed Part I, be sure to read it here. In this installment, we'll look at the disadvantages of going to college and some strategies you can implement.
Ok, now it’s time to get into the disadvantages of going to college.
This is the part of the book your parents aren’t going to like.
Unfortunately, there are some definite disadvantages to going to college. Some obvious, some not so obvious.
The first and most obvious drawback is time.
Going to college is going to take a minimum of four years out of your life. That’s time where you can’t really be working as a full-time software developer and gaining experience to put on your resume.
This is a pretty big commitment. A large amount can happen in four years’ time. Therefore, you really want to think about whether the benefits of having a degree are worth giving up four years or more of your life for.
There is also the time commitment of college itself. Not all of the activities and time you spend in school will directly benefit you. You’ll be expected to take core classes that have nothing to do with becoming a software developer, so you could conceivably see that as a waste of time.
Taking tests is also arguably a waste of time, as it doesn’t benefit you directly. The same can be said of listening to lectures, especially if you could have absorbed the same amount of information in a quicker way.
Traditional education is not designed to maximize the use of time, as often the programs must be taught to the lowest common denominator. (Not true for all schools, of course, but in general.)
This is one of the main reasons I am against traditional and compulsory education. I just feel it isn’t very efficient, which is something you should consider before you dive in.
Next up is money. Everyone wants more of it, no one wants to part with it, but if you go to college, you are most likely going to have to part with a great deal of it.
I’m sure I’m not telling you something you don’t already know when I say that school is expensive, and it’s getting more and more expensive every year. If you go to college, expect to pay a large sum unless you get a scholarship or start out in a community college—more on that in a bit. If you want, or are required, to live on campus or you have to finance your education, you can expect the bills to be even larger.
I know plenty of software developers and non-software developers who are still paying for their higher education many years and even decades after getting their degrees.
It can be very difficult to justify the cost of an expensive education when you consider the lost years of pay you would have received from working during that time, as well as the interest on school loans in comparison to the increased salary—if any—you get from having a degree.
Yes, this viewpoint is a bit jaded, but I’ve coached and counseled too many software developers who racked up huge school bills getting their degrees. Many of them ended up in financial messes that will be extremely difficult to extract themselves from.
Don’t worry, though. I have some ways to mitigate this problem if you do want to go to a traditional college, which I’ll talk about in the strategy section.
One final word of advice.
Make sure you actually add up all the costs of going to college, including interest, room and board, and lost employment income, so you at least know what you are getting into.
Claiming ignorance and asking the government to wipe out your student loan debts is not only irresponsible; it’s just plain stupid.
Outdated or Non-Real World Education
It takes a long time to publish a textbook. It takes a long time to create a degree program and get it approved or to add new classes to an existing program.
Often professors in colleges and universities are very disconnected from the kinds of software development which are being done in the real world.
As a result, educational programs at colleges poorly reflect the skills and technologies which are most critical to know for success in a real software development job.
To be fair, many traditional schools are realizing this weakness and taking some steps to make their degree programs more relevant to what is happening in the software development world today—but many are not.
That is part of the reason I am writing this book.
I want to give you all of the soft knowledge you need to know about a career in software development because I feel that most colleges and universities don’t provide it.
You can, of course, overcome this limitation by learning the other aspects of software development on your own, but at that point, you really have to question why you are paying for a degree in the first place.
There is a reason why there are rankings for the top party colleges in the country. There is a reason why some people say college was the most fun time of their lives.
College is full of distractions.
Alcohol, parties, protests, sports, concerts, snoring roommates… Distractions are everywhere.
I know plenty of software developers who took six or more years to get their degrees because they couldn’t just buckle down and study. They got too distracted by all the other things college has to offer.
While some people might see this as an advantage, if you are serious about becoming a software developer, the college atmosphere can be a huge distraction.
I don’t think many young, high school graduates consider this aspect of going to college. They just assume they’ll be able to study and get the work done and party on weekends.
It doesn’t work like that.
When I did go to college, there was a party every night. It was extremely easy to neglect studies, sleep in, skip class, and do everything but school work.
Yes, you can avoid all of that stuff and just focus on what is important, but make sure you at least know what you are getting into.
If you are choosing the traditional route and going to college, it’s important to have a plan.
You don’t want to end up with loads of debt and few benefits, like too many college graduates today.
Let’s talk about a few strategies you can utilize to get the most bang for your buck.
Start with a Community College
First of all, I’d highly suggest going to a community college for the first two or even three years of your degree in order to save a ton of money.
If you get a scholarship, you can ignore this advice. However, if you are paying out of pocket or are taking on student loans for your degree, going to a community college first can save you a bundle, and you can still get a degree from a more prestigious college or university.
The key here is to make sure the credits and program you take at a community college will transfer over to the school where you’d eventually like to get your degree from.
So, make sure you check that out first.
Next, I’d really recommend not going into debt, if you can manage it.
Debt is horrible. Debt can ruin your life.
Some people see educational debt as good debt, like a mortgage on your house or investment property, but I don’t.
I find that the debt incurred from school rarely pays off and it forces you down a path you may not want to follow. It’s like shackling yourself to a huge weight you are going to have to carry around for the next five, ten, or even more years.
Don’t do it.
Instead, here are some ways to go to school and avoid debt:
- Take a year off, get a job, and save money. You don’t have to go to college right after high school. Saving up some cash can really help you avoid going into debt.
- Get scholarships. Not for everyone, but if you can manage to get a few scholarships, this can greatly help to reduce expenses.
- Get a part time job while going to school, which enables you to pay for school. It’s not fun, but it will pay off in the long run.
- Live at home. Yes, it sucks, but you’ll probably get more work done and you’ll definitely pay a lot less money.
- Move to a state where education is free, like Alaska. Or move to Germany temporarily.
You can even combine these tactics to reduce debt further.
Trust me, it might seem like going $40k into debt to get your education will be worth it, but it’s going to take you a really long time to pay back that debt—especially with interest.
And what happens if you can’t find a job after that huge investment?
Make Learning Your Responsibility
Going to school and getting a degree is great, but it doesn’t mean you learn anything.
If you are going to spend the time and money to go to a college or university, you better get something more than just a fancy piece of paper.
Unfortunately, no one can teach you anything. You have to learn it yourself, regardless of where you learn it or from who. Always remember that education is your responsibility.
Don’t read textbooks or do assignments just to pass the test and make the grade. Instead, focus on actually learning and applying what you are learning as much as possible.
That is how life works in the real world. No one is going to “teach” you anything. It’s going to be up to you to learn, so it’s better for you to get used to it now. I can’t tell you how many college graduates I come across who have spent tens of thousands of dollars and years of time on an education that is completely worthless. They thought that going through the motions and getting a degree would make them educated.
It won’t, so if you are going to enroll, do the work and take the responsibility of learning upon yourself, rather than giving it to the degree program you enrolled in or the professors who are teaching you.
Do Side Projects
Going to school is going to take a huge bite out of your work experience time. It’s a serious deal to dedicate four to six years of your life to something.
One of the biggest problems new graduates have is that since they don’t have experience, they can’t get experience, and they have a difficult time finding a job. One really good way to avoid that problem is to do side projects while you are still in school.
College is the perfect time to build up your portfolio or to start building a side business which can give you some valuable experience and perhaps even some income while you are waiting to start your career.
Side projects can also help you to apply what you are learning so that you’ll be less likely to forget it and more likely to gain the deep understanding needed to apply knowledge in the real world. Plus, how many stories can you recall of college students who started side projects and then became millionaires off of them? Microsoft, Facebook, Yahoo, Dell, and Google all started from side projects in dorm rooms, basements, or garages.
That doesn’t mean you are going to get rich off of doing a side project from your dorm room, but you never know. At the very worst, you’ll learn something and you could end up creating your own job for yourself when you graduate.
I mentioned this earlier, but I would highly recommend taking advantage of the opportunity to participate in internships in college.
Internships can be one of the easiest ways for a new software developer without experience to get a job at a big company like Google or Microsoft, or even just to get a job period.
Internships can also make up for the lack of real world experience in many degree programs. You really don’t want to get your degree and then be hitting the pavement with all the other new grads with no experience. Therefore, make sure you take advantage of an internship program if you can—even if it doesn’t pay well.
You can make money later in your career. Right now you need experience.
Get Your Degree While You Are Working
Here is the strategy I used to not go into debt, not lose years of experience, and still get my degree.
I went to school for a year, then when I got my summer job that turned out to be a good full-time job, I dropped out and worked for a few years and then re-enrolled in an online school that I could do while I was working my regular job. As a result, I never had to live like a poor person. I had four more years’ experience than most college graduates and I still got my degree.
Also, since I was working a full-time job as a software developer already, my degree was super cheap and easy to obtain. Plus, I could apply what I was learning to my work.
Now, I realize not everyone can do this. If, however, you are a self-taught developer or you already have a job, I think this is an excellent option. You could even do this while working in another, somewhat related field. The only drawback is that it’s quite a bit of work to do a regular job and go to school—it certainly takes self-discipline—but if I were starting over today, this is the route I would take for sure.
Next up, we’ll talk about a less traditional and much more debated way to get into the field of programming, enrolling in a coding boot camp.
This post is a chapter from my book, The Complete Software Developer's Career Guide. I'm writing the book live on this site week-by-week. If you enter your favorite email address here, I'll send you the prior chapters and get you caught up - then send every new chapter as it comes out!
Published at DZone with permission of John Sonmez , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.