The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Going back to school for a B.S., but which one?

Hello, all.

I am a self-taught developer with an Associates in an unrelated IT discipline (network administration).  I have nearly 5 years of experience as a programmer using .NET (both VB and C#) and I am familiar with most design principles.  However, I'm realizing that my resume might be severely limited by the fact I don't have a Bachelor's degree, and as a result I'm considering going back to school to finish one; I would need to take about a year's worth of general education requirements prior to getting into the Bachelor's program, since my A.S. degree didn't require a lot of gen ed stuff.

I'm not sure which type of degree to pursue, however.  I'm aware of three options:

1) Computer Science - Given that I'm a programmer, this would be the obvious choice.  However, I already have experience writing software (I know how to program, although I couldn't tell you what "Big O Notation" is, nor could I write a compiler), and I am absolutely terrible at math.  I would need at least 3 prerequisite math classes prior to even being able to take the required math courses for a CS degree.  Also, a CS degree seems to be limiting in scope and pretty much relegates me to being a programmer forever.  I had hopes of moving into IT Management at some point, something like "Director of Applications Development".

2) Management Information Systems - I like this one because it merges business and technology disciplines, but the focus is generalized and not strictly on programming.  I pretty much know all of this stuff already, and it seems to have a poor connotation to programmers since it doesn't focus on one thing, but is "IT for business majors".  The math is much lighter, however, and a lot more do-able.

3) Business Administration - The old standby; since I already have worked professionally as a programmer, it might be a logical choice to go for the business end of things to help keep myself well-rounded, as well as providing the business foundations to move forward towards a management position.  The main downside is that it is the "default" degree; i.e. everyone and their mother has one, so nothing sets me apart from anyone else in the eyes of a prospective employer.  I'd even be a little bit fearful that it would make them wonder "Why is a business guy applying for a programming job?" despite my programming experience.

To throw another piece into the puzzle, I'm almost certain I want to pursue a Master's degree after the bachelor's, but again I'm not sure which one - an MBA is always good to have, especially for a manager, but what I'd ideally be looking at is not CEO, but CIO/CTO or Vice President of Technology; I don't want to be the king, I want to be the power behind the throne, so to speak.  Now, if I want to go for the MBA then I pretty much have to take the Business Admin bachelor's, since anything else will not transfer over to an MBA's prerequisites, and I would have additional time before obtaining it.  I have heard, possibly wrongly, that something like a master's in CS (doubtful I would take this one at all) or MIS (open to consideration) is only worth taking if you want to pursue a career in academia, and not in the business world, but I'm not experienced in such matters to really know if this is true or nonsense.  I *know* the MBA is worth something, but like it's baccalaureate cousin is so common that it might be dull.

Any advice on this would greatly be appreciated; I've put off going back to school for far too long, because I now have the experience, but I feel the A.S. is stifling my career opportunities.
Self-taught developer
Sunday, June 29, 2008
 
 
Why go for a B.S. in business AND an MBA?  They both cover similar material.
dude
Sunday, June 29, 2008
 
 
I thought that an MBA was advanced topics of business and management and whatnot, i.e. the logical progression from a Business Administration bachelor's degree.  I'm a little ashamed to admit that I just assumed that all Master's programs were basically a continuation from the corresponding bachelor's degree.
Self-taught developer
Sunday, June 29, 2008
 
 
How about CIS/IS?  It does not involve nearly as many business courses as MIS, but it is not as theoretical or math intensive as CS.  A CIS/IS degree is still very technical but also involves a few business courses and is more oriented toward the corporate technology environment.  Still, you get the fundamental courses from CS that are very important, such as Data Structures, Algorithm Analysis, Discrete Math, etc.

I've recently switched to a MS in Information Systems after suffering through two semester of an MS in Software Engineering (most boring degree EVER).  I love the CIS/IS curriculum because I'm getting to take a lot of programming courses, as well as some hardcore database courses and networking (which is mostly new to me), IT Management, Systems Analysis, Software Development, etc.  It's a nice mix and is completely real-world oriented.

Monday, June 30, 2008
 
 
Ok, so you are bad at math and you don't really care to know what O notation is, and you think you already know everything in a CS degree, and you really want to go into management because otherwise you'll be 'stuck' in programming, which you look down upon.

Yep, you sound like a typical middle management person to me at some company where turnover is high.
Scott
Monday, June 30, 2008
 
 
OP:  although I couldn't tell you what "Big O Notation" is
Scott:  you don't really care to know what O notation is

Scott, if you're gonna slam the guy, at least don't put words into his mouth.
I Lack Reading Comprehension
Monday, June 30, 2008
 
 
Scott:

I never said that I knew everything from a CS degree, I said that I already have experience working as a software developer, so I'm not seeing the real value of getting a BSCS in order to advance my career opportunities.  I'm sure it would give me more knowledge of the underlying concepts, there's no doubt about that; it's whether or not the degree will have any professional value to my career.  To use the Microsoft nomenclature, I'm slightly above "Mort" but not quite "Elvis" (i.e. I get things done, I know how to use good programming practices, but I still like things that let me work more efficiently), and I'm comfortable with that.
Self-taught developer
Monday, June 30, 2008
 
 
Don't get the degree to enhance your career opportunities; do it to learn.  Let the career ops flow from that.

I am COMPLETELY serious.  Don't get the job that pays the most money; pursue the one that leads toward joy and has a realistic chance of you paying the rent. 

digression: But that's just me talking.  I suppose I could get a job that made me miserable for five years if, after the five years, I could retire.  Then again, knowing the money I was making, I doubt I would be miserable.  There are some jobs, like crab fishing in alaska, that are I bad I wouldn't work them anyway. :-)

Anyway, my advice is to pick a major, then get a bunch of minors, for two reasons.  If the program is practical, like accounting or business, you can "pitch hit" and treat the minor like a major - it can act as a qualification later if you want to switch fields.  Second, if the program is good but not practical (math), you can learn the information without chaining yourself to an impractical discipline.

Also, consider what you will get your master's degree in and get something slightly different. (That assumes you will get a MS degree; if you have family/life committments and decide not to pursue ad MS, I respect that.)

So I would say Business Major, CS Minor, Accounting Minor.  I would also consider taking some courses, possibly leading to a minor in Journalism (writing), photography, or theatre. 

You only live once, and some of the best public speakers I know have a theatre background.


Good luck,
Matthew Heusser Send private email
Monday, June 30, 2008
 
 
>2) Management Information Systems - ... not strictly on programming.  ... have a poor connotation to programmers


It is not programming at all.  It doesn't have poor connotations with programmers unless you call them that.  It is kind of like calling up a mechanical engineer and asking them to change your oil.  There is a difference between the guy who designs the system (Computer scientist/ Mechanical Engineer) and the tech who repairs/performs maintenance on the system(MIS/auto mechanic.)

As far as business school goes MBAs are the bottom of the barrel a BSBA doesn't even get you in the barrel.  I know  a Spanish teacher with an MBA.

Have you thought about getting your undergrad in something business related where your experience may help like finance then go for your MBA.
Brian
Monday, June 30, 2008
 
 
How do you feel that you're limited?

I have an AAS in IT. I've been in the field 12 years. I'm 99% self-taught.

I just turned 29. I am senior software engineer for a major managed vision care provider. I'm CTO of a 3 year old tech-centric startup. I also fill what spare time I have with high paying consulting jobs. An associate's isn't holding me back in the least, why should it hold you back?

Be active in your development community. Go to user groups. Present at them. Go to other development events. Present at those too. Heck, run those events -- code camp, barcamp, etc. etc. Network, network, network.

And never stop building your skillset -- you should have a strong specialty, but remain viable across a broad set of interests and focuses.
Andrew Badera Send private email
Monday, June 30, 2008
 
 
I feel I'm limited in my capabilities due to only having the A.S. - not necessarily on the software side; I would consider myself a fairly competent programmer.  I'm by no means an expert, but I'm aware of what constitutes good development practices.

I guess I feel limited in the long term.  For example, my grasp of business knowledge is limited to common sense and "what not to do" examples based on previous employment; I feel stifled because the jobs I seem to get always are small mom-and-pop shops with ancient systems or no clue about best practices (I think I've worked at only one job that actually used Version Control prior to my employment).  I've always felt that this is due to my own failings, as I seem to recall readings somewhere (maybe it was in a thread here) that if you're always getting shitty programming jobs, it means that you're no good because only shitty companies will look at hiring you.

The business degree would basically make me more well-rounded as an individual, and provide insight to the "other end" of development (i.e. the end user).  However, the CIS degree is interesting as well, although still requires a fair bit of math (one less course than Comp Sci, I think), which is going to be difficult.
Self-taught developer
Monday, June 30, 2008
 
 
Sounds more like you are getting discouraged because you are putting your efforts in the wrong place. You need to be working on networking(the actual talking to people kind not the cables.)  Have you tried cherry picking your next position?  Don't apply to small mom and pop joints if you don't want to work there. Sure you can't jump to MS(well you could but it would be harder) from a small mom and pop joint but a bigger say 4X 5X sized company is certainly possible. My first job out of college was a 30 person mom and pop joint, I put in a couple of years then started looking for a better job not just a different job.    Just looking for a different job will land you in the same place with different faces.
  Another important fact you have to be mobile to be mobile.  If you live in X and refuse to move then you will be limited to the companies that live in X which is great if X is a technology hub otherwise not so much.
Brian
Monday, June 30, 2008
 
 
Unfortunately, moving is no longer an option; my grandfather had a heart attack recently and I need to be relatively close in case he needs anything (My brother and I are his only family around - his brother and sisters don't really associate with him and live several hours away).
Self-taught developer
Monday, June 30, 2008
 
 
Doesn't sound to me like a degree is your problem.

An undergrad business degree will teach you little more than anyone learns in six months of on-the-job experience.

Taking some business classes at a community college might fill the gap for you, but a fullblown undergrad biz degree is a waste of money in your situation, IMO.

Also, I'll say it again: network, network, network. Engage. Communicate. Converse. Get to know people. Let them get to know you. Your job opportunities will blow up beyond your wildest expectations.
Andrew Badera Send private email
Monday, June 30, 2008
 
 
Hmm... I never considered that.  I guess I was looking at the "big picture" and saying to myself that I want to advance my career, eventually the A.S. degree is going to become a liability (who ever heard of a Technology VP with an A.S., who wasn't a founder of the company and/or related to the president/CEO?), and the bachelor's would help to open those doors.  I guess I was wrong :)
Self-taught developer
Monday, June 30, 2008
 
 
"OP:  although I couldn't tell you what "Big O Notation" is
Scott:  you don't really care to know what O notation is
Scott, if you're gonna slam the guy, at least don't put words into his mouth."

Two minutes of a curious mind will tell you about O notation. The only reasons a developer wouldn't be able to tell you about O are he has never heard of it or he just doesn't care. The OP has heard of it, that leaves only the latter. I completely stand by my statement. He doesn't care about O notation. It's obvious. Get over yourself.
Scott
Monday, June 30, 2008
 
 
FWIW I used "Big O Notation" to mean any of the standard "theory of computation" stuff that one would learn in for a Comp Sci degree.  I chose O Notation because I see it most common on this group when discussing Comp Sci.

Also FWIW, I've never had to use big O notation (hence why I don't really know what it is) during my professional career, so I guess you could say that I don't care about it, in the same sense that an embedded systems programmer might not understand how to use the Swing library for Java.
Self-taught developer
Monday, June 30, 2008
 
 
You're right, algorithmic complexity is a specialist thing for  certain small fields that is not of general interest or usefulness. You can certainly be a great developer without knowing anything about algorithms, or data structures too for that matter. B-trees, sparse arrays, just use Vector and be done with it.

/not
Scott
Monday, June 30, 2008
 
 
Consider getting a degree in the domain you want to work in.

For example, if you work in Finance, get a degree in Finance/economics/accountancy. If Medicine, maybe a degree in science/biology.

Often, knowing how the underlying domain works can be more beneficial than knowing how to program better.  It separates you from the other programmers, and gives you a fall back position if you decide to move out of programming.
Rohan Verghese Send private email
Monday, June 30, 2008
 
 
Scott has to be the most annoying poster on this forum in recent times.  He has a geek arrogance that is particularly nauseating.
blnArrogantAndSmugIsTrue
Monday, June 30, 2008
 
 
>> "I have an AAS in IT. I've been in the field 12 years. I'm 99% self-taught."

Looks like you got in at the right time.  Try to get a decent job today with an Associates.  You'll be laughed out the door with all the applications from H1B's and Bachelors and Associates...

But.... But.... But.... I'll work for cheeeeeeeaaaaap!

The stereotype, "if it worked me it *must* be able to work for you" is a product of ignorance.
Eat WhiteSpace Send private email
Monday, June 30, 2008
 
 
Scott may be arrogant, but in this case he's not really wrong.  If you don't know big-O you probably haven't studied algorithms/data structures and if you haven't studied that, you don't know how to write efficient code.  You may know how to write pattern-based object oriented code, but you don't really understand the tradeoffs you're making.  And since you never learned assembler and don't really know what's going on with the stack, you may or may not even understand why something is computationally intensive and why some operations are more expensive than others.  I know BSCS dropouts who do well, but every one of them knows this stuff.
gc
Monday, June 30, 2008
 
 
Well, that's my whole reasoning for asking this question.  I admit that I can write "good enough" code, but I'm clueless about the theory behind the stuff.  I realize that's a failing, but I'm not sure if it's big enough to warrant the torture that would be several high-level math classes plus the required prereqs. 

Since I have several years of experience writing software that "just works", I'm wondering if I should look to the other side of things since the BSCS won't be as useful to me except as personal learning to "dig deeper" into the code I'm writing.  I daresay for the vast majority of businesses out there, the "good enough" software I write is, in fact, good enough for their needs despite my not having formal education.
Self-taught developer
Monday, June 30, 2008
 
 
"Well, that's my whole reasoning for asking this question.  I admit that I can write "good enough" code, but I'm clueless about the theory behind the stuff.  I realize that's a failing, but I'm not sure if it's big enough to warrant the torture that would be several high-level math classes plus the required prereqs.  "

Who cares?  As long as you write legible code and your end users are satisfied with the product, that's all that matters.  The uber geeks who like to quiz you on data structures and assembly are just upset that those concepts that they spent thousands of hours studying for have little value in the real world.  It doesn't take a genius to write a decent app anymore.
. for this
Monday, June 30, 2008
 
 
"I thought that an MBA was advanced topics of business and management and whatnot"

MBAs are generally survey degrees of a number of fields of business.  Some MBA programs offer specialties where you do a general core and then specialize in a business field.  The vast majority are NOT "advanced topics".

MBAs are great for people with non-business bachelor's degrees like nursing, engineering, computer science, IT, chemistry, physics, or psychology.
Xen
Tuesday, July 01, 2008
 
 
Self-taught developer: ' Well, that's my whole reasoning for asking this question.  I admit that I can write "good enough" code, but I'm clueless about the theory behind the stuff.  I realize that's a failing, but I'm not sure if it's big enough to warrant the torture that would be several high-level math classes plus the required prereqs.'

Well then, you should find out.  Big-O has to do with determining if your algorithm really is good enough.

'Since I have several years of experience writing software that "just works", I'm wondering if I should look to the other side of things since the BSCS won't be as useful to me except as personal learning to "dig deeper" into the code I'm writing.  I daresay for the vast majority of businesses out there, the "good enough" software I write is, in fact, good enough for their needs despite my not having formal education.'

"just works" can mean that it barely works.  You seem rather eager to disrespect what you do not know.

If muddling along is good enough for you, you should pass on the BSCS.

Sincerely,

Gene Wirchenko
Gene Wirchenko Send private email
Tuesday, July 01, 2008
 
 
I'm not trying to disrespect anything; it's just that I've done work as a programmer without the BSCS, and I'm not sure if it would really benefit me.  Plus, truth be told, I'm deathly afraid of the large math requirements, since as I stated I'm terrible at math (last time I took College Algebra, I failed miserably).

My A.S. came from a non-accredited school, and was influenced partly because they didn't require math ;-)  I know there are some schools out there that offer BS degrees without a lot of math (e.g. University of Phoenix), but I'm betting they're dodgy like the school I went to, and while having a BS from Podunk University is better than an Associates degree from anywhere, I would like to avoid the stigma of a "paper mill" school, accredited or not (for example, UoP IS accredited but still has a bad rep)
Self-taught developer
Wednesday, July 02, 2008
 
 
1) If you are not sure, then you do not know.  Quit acting as if your ignorance is a positive.  Find out what the situation is.

2) I think your allergy to math is a red flag.  Only three math courses and you are worried?  You should worry that it might not be enough math.

Sincerely,

Gene Wirchenko
Gene Wirchenko Send private email
Thursday, July 03, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz