I have decided at the very least to take class next year. Next year I will be working full time as a teacher. I will be making 67000$ CAD next year and I will have a full time permanent contract. All seems wonderful, yet I really really want to go back to school and study a branch of computer science. Very specifically, software engineering of some kind. I’ve researched it quite a bit over the past few years and it seems to meet my needs in terms of pay, day to day routine, interest, and job flexibility.
Next year’s teaching job will be in a new position, so I am giving my career one last chance. The funny thing is I like teaching, but I have an urge to work in a cutting edge field. I want to work in a big city and teaching music has gotten me nowhere close to that. I will be working in a small town next year, although I will be within an hour of a larger city, so I can easily head there on weekends. As well I want to be in a profession that is more entreprenurial. I like the idea of working in front of a computer most of the day. I also like math and was good at it in High School.
The earliest I could go back to school full time would be at age 29. I will have taught for five full years at that point. My plan next year is to take one or two computer classes through distance education to see how I like it. This summer I will be brushing up on my high school maths.
So for anyone with a comp sci background…how do you like the profession? Am I crazy to give up an acceptable profession for something else? What do teachers think?
Oh…and dealing with personal issues / financial issues is what has prevented me from pursuing this earlier. I will pay off my car next year and have almost 10000$ saved up if I go back to school full time.
If you are this interested in pursuing this other field, be it software or anything, I say go for it. You can always fallback on teaching if it doesn’t work out.
Having been a software engineer for close to 30 years, I can say that it has its ups and downs. For starters, there are so many different platforms and types of platforms to write software for, a lot will depend on what you want to write for.
As with any engineering field, I suspect you will need to deal with, to some degree, numerous meetings on requirements, changing requirements, conflicting requirements, etc… If you are going to be working on anything that has a user interface, then you will get as many different opinions on how the unit will look and feel as the number of people who see your prototype or proposed look and feel.
Schedule often becomes a source of stress. Some things go quickly, other things take more time. And customers (whether they be in the company or out) seem to forget about the changing requirements affect on schedule. It is perhaps because software is so flexible, that makes it also vulnerable to desiring changes on a whim.
The good parts: actual designing, programming, testing, and seeing your concepts realized. Engineering is “creation”, and software provides a huge sense of “controlling the elements” (getting that processor to do what you want it to). It is even more rewarding when you can recognize how it is that what you build will benefit somebody - do something they couldn’t do before, do something they used to do by hand, etc…
Oh, and the pay is usually pretty good.
My husband has a Master’s in Software Engineering from McMaster University (undergrad from the same school). It doesn’t matter one whit. Not because he didn’t learn anything - he really did, and he takes good design/engineering approach to software seriously - but because industries don’t recognize it as actually being engineering, they hire anyone with programming skills and call him a “software engineer” and don’t want to pay someone with an actual accredited degree more.
Anything to do with computers started off as people randomly trying stuff out, so that habit and approach to the field is ingrained and until/unless engineering boards (IEEE, or whatever) get around to making “Software Engineer” a protected title/field the way “Mechanical” or “Civil” Engineer is, a degree in SE won’t really get you further career-wise than you might be able to do with another background in computing and supplemental courses rather than going through a whole degree.
The world economy is so unstable it’s foolish to make any decisions that effect your income.
You have the correct idea. Go back part time to school. See if you like it. It’s important to like what you do, but it’s more important to have a job that provides you with stability and an income.
You really have to look at any future openings, especially with computers. It gets outsourced a lot. If what your studying can be done via phone, in a few years it will be outsourced to other places. Like high paying factory jobs, by enlarge are gone, so will high paying computer jobs, that can be done remotely.
But in this awful economy. Just stick with what you got and go to school a few classes at a time. If you enjoy what your studying it’s never a waste. Like some people spend money on movies or bowling, you can spend money on college if you enjoy the classes.
One concern I would have in your case is that you presumably don’t have a great deal of experience in software development to date. YMMV, but much of the content of “software engineering” is a theoretical construct superimposed on the development process. It looks at how processes can be measured and standardized, and how they can be designed to deliver reasonably consistent results. This is why SWE programs are usually at the master’s level, and I assume this is the sort of program you are looking at. They usually don’t have you work with actual programming languages or development frameworks, because incoming students almost always have an extensive amount of such experience. They won’t teach you how to do that. The trap (or escape route, depending on how you look at it) is that you can still probably do well in the program even if you haven’t been a programmer. The type of non-programmer who would benefit most would be the kind of person who is good at managing and coordinating processes which he or she may not understand at a detailed level.
You might want to check out Carnegie-Mellon’s Software Engineering Institute to get a taste of the subject matter.
I went back to school at the age of 25 for computer science. I love developing software and in general rarely have trouble finding work.
I say, if you are interested, go for it.