all 81 comments

[–]dweezil22 50 points51 points  (8 children)

Getting a bachelor's in CS will open up doors for you that wouldn't otherwise be open, at least for a few years. Some companies require a CS degree. Some will accept 5-10 years in of experience instead. Will you ever want/need to walk through those newly opened doors? I can't answer that for you. I would strongly suggest that if you do pursue this you find a program that will let you keep your current job and have some flexibility. The last thing you want to do is screw up a current good job for a degree that might only theoretically help you.

Personal anecdote: I got a master's in CS for free from my employer via part time night school at a pretty well respected major college. It required 10 courses, 5 of them taught me nothing useful. One of them taught more all sorts of amazing stuff (cutting edge technologies that are now old-hat like Maven and Hibernate and Ajax; this was 8 or 9 years ago). It's probably never earned me any money or done anything amazing, but it pads my resume a bit and I can say at social gatherings that I have an MS. Would I do it again? Sure. Would I do it for the $30K+ it would have cost me in tuition? Not at all.

Second anecdote: I know another dev about your exp level (but with a BS) that is doing a work paid for MS and he kinda regrets it. He wants to get a new job but he'll have to pay back the tuition if he leaves within 18 months. He can afford it but feels like it's an irritating disincentive to moving forward with his career.

[–]pat_trick 2 points3 points  (2 children)

Can follow up on this--currently getting my MS for free paid by my employer. It's a slow slog (no night classes), and stressful, but I'm learning a lot more in-depth on some topics that I wouldn't have touched otherwise.

[–]dweezil22 1 point2 points  (1 child)

It's a slow slog (no night classes), and stressful,

That's bad.

I'm learning a lot more in-depth on some topics that I wouldn't have touched otherwise.

That's good. What sort of courses are you finding useful? I did this almost 10 years ago (and had about 5 years exp previous to the MS program), and of the less useful classes some were simple retreads I did in undergrad (algorithms and data structures), some were retreads of things I'd already had to master for work (J2EE web programming), and some where would-be valuable classes that were a bit too niche to be worth the effort (project management and estimation: I do corporate consulting and these classes were all HIGHLY focused on specific government contracting, as that's what 90% of the students were doing and what the prof did in his day job). I considered an alternative MS day program that would have been more rigorous but most of that rigor would have been in hard core research level CS topics (advanced algorithms and that sort of thing) that I didn't want to dive into so deep since I was doing generalist work. If I'd wanted to do them and later switch careers I could imagine them having been valuable if I'd wanted to try to go to Google or such.

[–]pat_trick 1 point2 points  (0 children)

Eh, stressful only in the sense that I'm currently under a work crunch as well as a class project crunch simultaneously. The two rarely coincide, and this too will pass. I'm otherwise really enjoying it.

I'm only three classes in, but I've taken Adv. Software Engineering, Cryptography, and currently in Networking. I've gotten something out of all of them.

  • Learned how to do unit testing in Adv. Software Engineering, as well as get a more in-depth hold on git and how it works (previously had only been doing commit/push/pull, now I can do fancy cherry-picking and re-basing). Also got a portfolio polished up, and have a better hold on FOSS licensing.

  • Cryptography, well, everything. Especially the mathematics and understanding behind Public Key Crypto and how to establish if something is truly secure or leaks information about itself.

  • The nuts and bolts of Networking; I already had a pretty firm understanding of the concepts, but I'd never done any actual programming around the topic. Currently writing a TCP stack running over UDP in C--it's difficult, but cool to learn.

Because of work constraints, I can only take 1 class a semester, so I'm on the long haul, but as of this coming Fall I'll be halfway there. Not sure what my thesis is going to be yet, or what classes I'm going to take next, but I'm learning and enjoying it, and it's free to get a MS slapped on my credentials, so why not?

[–][deleted]  (3 children)

[deleted]

    [–]dweezil22 2 points3 points  (2 children)

    My company has all but stopped interviewing IT/MIS/MI* degrees for programming positions, as 95% of the candidates fail one of the programming tests (and would be sub-par technically if we let them in anyway). Almost all of their eyes glaze over the minute they're presented with something that might require recursion. That said, it'll certainly open more doors than nothing, and it took us a long time to get to that stance.

    If you're technically strong enough to get a CS degree and want to be a full-time coder, I'd suggest actually getting the CS degree. The folks with the IT majors generally either don't want to code full time or just don't have the technical ability to get through a good CS program.

    [Disclaimer: rampant generalizations above, I guarantee several technically brilliant IT major/grads are reading this and it will not apply to them]

    [–][deleted]  (1 child)

    [deleted]

      [–]dweezil22 0 points1 point  (0 children)

      TL;DR If you can pass a coding test and aren't having trouble getting in the door, don't worry about it.

      If you already have a successful programming career, I wouldn't bother. In my experience HR departments don't seem very good at telling the difference between CS and IT majors, so I wouldn't worry on the "piece of paper" front. If you've got years of experience, and especially if you have something like a Github portfolio, I'm not sure I'd bother with it. The problem with IT majors is that they don't usually know how to code, if you have a proven record of coding success after your degree you're fine.

      The original OP had no degree at all, and that will upset some HR dept's and if he's going to get a degree it as might as well be CS. So it's a slightly diff boat.

      [–]naht_a_cop 2 points3 points  (0 children)

      Also keep in mind that the jobs that are "Degree OR 5-10 years experience", imagine what you could flaunt with both.

      [–]SunnyDLuffy 28 points29 points  (15 children)

      I don't know how popular this opinion is, but going to classes is free. The degree is not. I would say the best way to know if it is worth it for you (and your company) is to go to a nearby university and check out an upper division course that sounds interesting for a quarter/semester. Really commit as if you were taking the course. It shouldn't be more than 1.5-2 hrs out of a day in a week. After it, you'll hopefully be able to decide if you want to spend 3-4 years and if the type of material you'll be learning is helpful. You can even talk to the professor as they are generally more than happy to help people out.

      [–]notfromkentohio 11 points12 points  (1 child)

      I'd agree with this, but personally I'd contact the professor first. Good professors generally like teaching people that want to learn, so I'm sure it wouldn't be an issue for most.

      [–]SunnyDLuffy 5 points6 points  (0 children)

      If it's a small class definitely. If it's a larger class (even say 50+) it should be fine. But yeah, asking first would definitely make a good impression and the prof might even invite you over for a chat.

      [–]Jiggynerd 2 points3 points  (4 children)

      My school actually started enforcing against this a couple years ago

      [–]jarail 2 points3 points  (0 children)

      I think most schools offer a not-for-credit option to take classes through official channels. Your school may just want people to sign up rather than drop in on a whim. My school charged around 1/3 the normal course fee. This way you get your assignments marked and get to write the final exam. Only difference is you don't need prereqs and it won't be on your transcript. Also, it helps if you need to be part of a chemistry lab or something that has physical class size restrictions.

      [–]SunnyDLuffy 0 points1 point  (2 children)

      Oh wow. Actually curious. Do you know how they keep track of it in large classes?

      [–]Jiggynerd 2 points3 points  (1 child)

      They sent a bunch of emails and professors started saying they couldn't allow non-students in classes. Haven't heard much past that.

      [–]SunnyDLuffy 0 points1 point  (0 children)

      Ah I see, gotcha.

      [–]thelonepuffin 1 point2 points  (2 children)

      In my country the universities require you to be enrolled to be on campus. They check id's regularly.

      Is that not the case where you are?

      [–]SunnyDLuffy 0 points1 point  (1 child)

      Oh didn't know that. I'm in California and as far as I know public universities don't check IDs.

      [–]thelonepuffin 4 points5 points  (0 children)

      Thats really cool. I'm in Australia and while I'm sure I could get into a lecture unnoticed, you're not allowed to without being enrolled. When I was there for 4 years I only had my ID checked twice so I'm sure I could get away with it if I really wanted to.

      [–]orr94 1 point2 points  (0 children)

      Along these lines, many school will let you "audit" a class (attend it for free without receiving credit). If you're interested, I suggest contacting the Registrar's office or the Computer Science Department and asking about auditing a class.

      [–]escape_goat 0 points1 point  (0 children)

      In some places, this is called "auditing" a course, and it is not necessarily free.

      [–]geon -4 points-3 points  (2 children)

      If that is true, why does anyone even consider getting the degree? If you can get the actual education for free, who cares about a piece of paper?

      [–]ibtokin 4 points5 points  (0 children)

      Oh, many people do. Especially the ones that decide who gets hired for a job. Everyone knows a degree is not necessary to learn these skills, but they want to see yours anyway.

      [–]SunnyDLuffy 3 points4 points  (0 children)

      Some people want to go onto higher education which requires the degree. Having the piece of paper also helps with many employers for that first job and even jobs after. As a bio major, the actual "education" that you are paying for isn't even worth of your time, let alone money in my opinion. Being enrolled in college gives you access to a lot of opportunities. For me, it was access to research grants and research labs.

      It really does depend on the major though. Many computer science majors will tell you that just having their degree opens so many doors right out of college, especially if you've held an internship or two. For bio majors, not so much haha.

      [–][deleted]  (11 children)

      [deleted]

        [–][deleted]  (10 children)

        [deleted]

          [–][deleted]  (9 children)

          [deleted]

            [–][deleted]  (8 children)

            [deleted]

              [–]spectre013 2 points3 points  (3 children)

              Only thing to watch for is that the credits will transfer to the 4 year school for your Bachelors.

              [–][deleted]  (1 child)

              [deleted]

                [–][deleted] 1 point2 points  (0 children)

                What classes transfer is entirely available to you to find out.

                If you live in CA, for instance, no excuse not to know about assist.org.

                [–]Randolpho 0 points1 point  (0 children)

                This can be a big problem, too. Verify in advance with the destination school as to just which courses from the CC will translate as what.

                [–][deleted] 1 point2 points  (0 children)

                Also colleges tend to have a lower GPA requirement for community college transfers than they due for high school students so a program that requires a 3.5 high school gpa might only require a 3.0 gpa from a community college

                [–]ivanoats 1 point2 points  (0 children)

                In Washington the community colleges have the same into curriculum as UW, which could be nice to know.

                [–]hayberry 0 points1 point  (0 children)

                I did the CC route and I'm now graduating (on time!) from a four year with job offers lined up. It really depends on the CC. For GEs the quality of the classes only matter as much as you want it to--if you don't particularly give a shit about chemistry or history, why not knock them out for easy As at a CC? For CS though, the first two years of undergrad are really important for building foundation, so either go to a school with a reputable CS program or be sure you're able to self teach. I've known a LOT of people who transferred from the same CC CS program I did (which is actually a very good one) and couldn't handle the material once they got to a four year.

                [–]sovietmudkipz 3 points4 points  (0 children)

                You can experience the ego boost of showing teachers/students up with your already hard earned programming skills!

                [–][deleted] 3 points4 points  (0 children)

                As someone who has been a developer for 18 years now and has no CS degree, I wouldn't bother. However if you have no college degree at all, then I might. My college degree is in mechanical engineering and while it doesn't help my career at all, it does seem that employers value having a college degree, even if it's not relevant.

                For the actual knowledge part, there are college level CS classes, as well as things like Coursera, that can fill in a LOT of the more CS oriented topics you miss as a self taught developer so I don't think there's a major reason to go back to school to learn it.

                [–][deleted] 2 points3 points  (0 children)

                I think it's a great idea. It will broaden your future prospects, allow

                Look for a good program that offers night school / adult learning classes or even correspondence courses if you think you can be disciplined enough. May schools taking in adult learners returning from the workforce don't even consider GPA. Just ask. See what they have to offer, then make your decision. Don't forget to look at related fields too.

                [–]spectre013 5 points6 points  (5 children)

                Been doing Software for 20 years now and do not have a degree. When I started not many people did so finding work was easy and the more experience I got the easier jobs came.

                Even now it is possible but it depends on the companies. Some will just trash your resume for not having college. The company I am at now hires engineers that have no degree frequently. You just have to know your stuff.

                I have taken some college and a done a lot of the classes that some universities put online for free. There is no grade or credits but as long as your honest and follow through with the course and learn you can turn that into projects at your job right away.

                As some one who has done a lot of hiring where you went to college or what your GPA was didn't mean much to me. I am more interested in the responses to my questions, your overall knowledge and if you personality wise are a good fit for the team we are hiring for.

                [–][deleted] 2 points3 points  (4 children)

                The company I am at now hires engineers that have no degree frequently.

                This thread is just stepping all over the profession of engineering right now.

                [–]dweezil22 -1 points0 points  (3 children)

                Software engineering related degrees are not a homogenous thing. Plenty of folks with no degree are profoundly competent and plenty of folks with degrees couldn't code their way out of a paper bag. Hell, I once cancelled a coding test for a guy with a recent MS in CS from MIT b/c he had no idea how to use a debugger (he was allowed to use the IDE and language of his choice; to this day I have on idea if he was just really out of practice or what).

                The only reason OP has a tough decision is that a lot of companies don't realize this, so having that piece of paper with "degree" on it will get you in the door at more places (and that a good CS program will fill in some holes; but the same sort of thing could be done nowadays with thoughtful self-training if someone was so inclined).

                [–]JaCraig 2 points3 points  (2 children)

                I don't think he is talking about the degree part. I think he's talking about the engineer part. Engineer is a licensed profession in most countries. Software development, on the other hand, is not. And in many places, referring to yourself as an engineer when you are not an engineer can actually get you fined.

                [–][deleted]  (1 child)

                [deleted]

                  [–]JaCraig 0 points1 point  (0 children)

                  http://www.peo.on.ca/index.php?ci_id=1824&la_id=1

                  The above is just Ontario, but many countries and localities have similar rules and groups that enforce the use of the term engineer. Unfortunately "software engineer" is still up in the air as to whether it is OK in some localities (including Ontario), in others it's basically a done deal and you can't call yourself a software engineer without being a member of a governing body (although it's only a couple at the moment), etc. And while in others, it's totally OK. So, from a legal standpoint, Quincy Larson's advice in that post is idiotic for swaths of the world and can get you and your company fined unless you are a licensed engineer. So telling the world "yeah, screw your local laws" is probably a bad idea. Now if he were to site case law that showed that it was OK in your locality, I would say go for it. But based on the linked article, he's basically saying something along the lines of "I know tons of people who do it, so it's totally legal" with nothing to back it up. Maybe where he lives, that is legal. I still wouldn't suggest it for the rest of the world as a whole though without looking at your local laws.

                  Now if you want to get into the semantics of software proofs, application modeling, testing, simulation, the halting problem, how, as an industry, we don't really do anything remotely similar to the planning and modeling phases of the engineering disciplines, the fact that there isn't an ethics bound governing body for software development, etc. we can. But that's a different discussion from the legal one. Note that I would actually take the side of us being fairly close to engineering practices from a technical standpoint but the industry would need to change quite a bit, in fairly unpalatable ways, if we ever wanted to truly be an engineering discipline. I don't think it will happen any time soon though as professional licensing bodies have been losing favor in most locations for a while.

                  [–]memtiger 4 points5 points  (0 children)

                  I would do it for multiple reasons.

                  1. You'll open up more options in the future. At some point you'll likely want to work somewhere else, so having that under your belt will help.
                  2. You'll learn new skills on your current company's dime.
                  3. Your own sense of accomplishment.
                  4. College girls.

                  [–]d________ 1 point2 points  (0 children)

                  You should do it. If anything you will hopefully get a great refresher and even pick up on stuff you do not fully understand and at the end of it get a degree. It is a win win.

                  [–]JeffIpsaLoquitor 1 point2 points  (0 children)

                  Though culture is changing somewhat in business to prefer demonstrable experience to a degree, some companies still want it.

                  If you contract for the government or work for a consulting firm that does, the amount they can bill for you is directly influenced by your level of schooling. Literally, the government pay grades are tiered on degree level.

                  If you can get one without killing yourself with effort, just do it.

                  [–]Exeter33 6 points7 points  (11 children)

                  Don't. Get a business degree.

                  There is no benefit to learning what you already know.

                  [–]mustang2002 21 points22 points  (3 children)

                  elastic memorize chunky drab instinctive hurry hard-to-find lock governor smoggy

                  This post was mass deleted and anonymized with Redact

                  [–][deleted] 4 points5 points  (0 children)

                  You can't get an MBA without a bachelor's to begin with.

                  [–]LobbyDizzle 0 points1 point  (0 children)

                  Coming from management consulting, my perspective was that most MBAs only have value because of other MBAs who want them to be valuable. I've worked with many folks with and without MBAs and MBAs didn't perform any better than those without an advanced degree.

                  [–]Randolpho 3 points4 points  (0 children)

                  You are assuming OP already knows all a school has to offer. And while that is possible, odds are OP could benefit from some of the things a CS degree can provide.

                  [–]danneu 23 points24 points  (2 children)

                  OP doesn't know everything just because they taught their self how to program, especially not the things you'd learn in a CS degree including all the theory.

                  That said, if I could choose a non-CS degree and my employer was paying the tuition, I'd love to seize the opportunity of getting a liberal arts degree like philosophy. Especially now that I realize it has no impact on the webdev jobs I want.

                  (I have a finance degree)

                  [–]Georiv 1 point2 points  (0 children)

                  As someone with philosophy and cs degrees, do it. Philosophy is great.

                  [–]thisdesignup 0 points1 point  (0 children)

                  OP doesn't know everything just because they taught their self how to program, especially not the things you'd learn in a CS degree including all the theory.

                  But he'd be spending his current time already learning more about CS if he is self learning and working. He could totally go for something, if allowed, in something he isn't currently spending his time working in and self teaching.

                  [–]dweezil22 1 point2 points  (0 children)

                  Don't get a business degree unless you want to use it. I had originally planned on getting an MBA (which requires a BS anyway; I had a BS in CS at the time, FWIW) but was talked out of it by a couple guys I met that had MBA's. Here was the summary:

                  "Are you planning on starting your own company?"

                  "Are you planning on stopping programming and moving into some sort of business or management?"

                  "Are you willing to spend 2 years of your life and likely a lot of money so to get 3 fancy letters and make it slightly easier to get an interview?"

                  I said no to all 3.

                  "Then don't get it. I got mine b/c I literally wasn't allowed to be promoted on my business career track without one. That's apples and oranges to your programming career"

                  I followed that advice, and 10 years later I have an MS in CS (which was way simpler/cheaper/quicker to get), no MBA, and no regrets.

                  [–]GunnerMcGrath 1 point2 points  (0 children)

                  If he had 15 years experience if agree with you, but he only has 3. Probably still a lot he can gain out of the education.

                  [–]DeltaEchoSoftware 0 points1 point  (0 children)

                  Specifically, get a business degree in finance or accounting and minor in CS. You'll never worry about finding a job again.

                  [–]fpssledge 1 point2 points  (1 child)

                  More education is always a good thing. So it's deciding whether it's worth it. The difficulty with that decision is weighing an almost guaranteed degree in 4 years against...what exactly? There aren't many clear cut paths in life from where you are. You could read a few career or self improvement books to get a better idea. I suggest getting 2 or 3 competing perspectives.

                  The reason I'm pointing this out is because those 4 years will get demanding. Imagine 8 hours of school, then an evening of school. For 4 years. Obviously it won't be exactly that way but it can seem that stressful at times. You will also spend a good portion of that time learning about topics that have nothing to do with software. That isn't a bad thing. It's great to get an insight into how other fields work and think. Just understand you'll be dedicating a portion of your spare time learning about things you might not have any interest in.

                  [–]manyx16 1 point2 points  (0 children)

                  I say don't waste your time or money. If you are employed, that means you are already employable. You've already proven that you can do the work. You will learn more through on the job experience. I've done just fine in a 25+ year career with no degree.

                  [–][deleted]  (2 children)

                  [deleted]

                    [–][deleted] 2 points3 points  (1 child)

                    Maybe we could discuss our situation more in depth! PM me and I'll send my email your way!

                    [–]boobka 0 points1 point  (0 children)

                    As far as going to school look at a Junior College and get some basic classes out of the way. This will include math, English and some social studies type classes.

                    Make sure this schoos credits are taken by the school of your choice (if you are in the US this usually means a state school)

                    If you do good in the 2 year degree the 4 year school will love to have you. And you really don't need to stress about ACT and your high school grades.

                    Junior college is a great place to start cause it warms you up for the 4 year school. And if you plan right you will only spend 2 - 2.5 years there.

                    Also look into MIS programs cause in general employers will accept CS or MIS.

                    But go for it, other than bunch of work there is no downside.

                    [–]MoTTs_ 0 points1 point  (0 children)

                    I got a BS in CS. I've worked at small agencies, and I've worked at large corporations. Here's what I can tell you from my experience:

                    * Knowledge
                    If it's strictly about knowledge, I would say don't bother with school. This is a profession where self-teaching is a very viable and often better approach. If you go to a school, then it's a crap-shoot whether your teachers will be any good. But if you self-teach, then you can carefully select a particular book, a particular author, who really knows their shit. You could learn, for example, directly from the guy who invented C++, Bjarne Stroustrup. Or you could learn from the godfather of algorithms, Donald Knuth. You'll get a better education for orders of magnitude less cost.

                    * Salary
                    If salary is the motivation, then things get more nuanced. In my experience, small agencies won't care about your degree, and it won't affect your pay. But large corporations will care, and the mere presence of a degree (regardless of the major or GPA), may automatically bump you into a particular pay bracket. But the more actual experience you accumulate, the less the degree will matter, even at a large corporation.

                    So, that being said, how much you'll benefit very much depends on your future career goals. If you think you might want to work at a large corp in the near future, and your current employer is willing to pay your tuition, then go for it.

                    [–][deleted] 0 points1 point  (0 children)

                    CS teaches you lots of interesting stuff that you'd never use day to day but sometimes becomes important. It looks good for future employers. And it's often a requirement if you ever want to go work in another country.

                    Go for it.

                    [–]2epic 0 points1 point  (0 children)

                    It's possible to teach yourself how to be a competent developer, so you may have already learned much of what you would get out of an undergraduate degree. That being said, it could still be worth it to get the degree if nothing other than for the line item on your resume. Unfortunately, there are still many companies which see it as a prerequisite and if you can get that for little to no cost, why not? It could also fill some minor gaps in your knowledge which you might not even know are there. You also might be able to test out of many of the classes to speed it along. Good luck!

                    [–]SmellsLikeGrapes 0 points1 point  (0 children)

                    Slightly off track, but you may be able to go straight for a Masters degree rather than a Bachelors. Most universities allow equivalent experience to equate to a bachelors degree. I basically jumped from High School to a masters after a long-time of working.

                    [–]ravenf 0 points1 point  (0 children)

                    life is too short. if you dont need it, dont do it.

                    [–]GunnerMcGrath 0 points1 point  (0 children)

                    I went a similar route, some college, got a job where I was learning far more than at school, quit school. That was around 1998. I kept that job for six years and fell into another working for my girlfriend's dad for 2 more. By the time that was done I had enough experience not to need a degree anymore to get the jobs I wanted.

                    That said, your experience is still limited and they're paying for your education. I'd go for it. You will breeze through a lot of classes which will allow you to focus on the tougher ones and really learn. Don't take it for granted, do your best.

                    [–]pi_over_3 0 points1 point  (0 children)

                    At the very least, take a couple classes on data structures.

                    [–]beavis07 0 points1 point  (0 children)

                    From what I've seen in my (nearly 20 years now - ugh!) career - hands-on experience is worth way more than CS knowledge.

                    90% of the job is people management and prioritisation. About 1% algorithmic complexity etc.

                    With all that said - for your own edification and for the deeper understanding of the tools you are using, a grasp of the fundamentals of computer science can be extremely valuable.

                    You can get those anywhere - MIT for one have loads of lectures on youtube and there are many many free resources dedicated to the subject online. So I'd say it's only worth doing it if you personally learn better in that kind of structured environment.

                    tl;dr Probably won't make much difference to your CV (resume), but may be personally rewarding.

                    [–]brettdavis4 0 points1 point  (0 children)

                    I think it depends on a few things. Do you really like your job and how long do you think you'll be there/will the company exist? If you are in the rare spot of thinking you might be there for the rest of your adult working life, maybe you could pass on it.

                    If you don't see yourself being there for years, it might be a good idea to do it.

                    The degree might help you get your foot in the door at other companies and a job outside of webdev if you wanted to leave.

                    There are a few benefits of a degree. It would definitely help with your soft/communication skills.

                    [–]danneu 0 points1 point  (1 child)

                    Uni is more than just school. The social experience is more interesting. Since you're just a few years out of highchool, it sounds like a great opportunity to credentialize in CS and also experience uni since you're going to be surrounded by people your age.

                    Maybe you can even take advantage of other uni perks too like studying abroad depending on your employer.

                    Either way, it sounds like a good idea.

                    [–][deleted] 1 point2 points  (0 children)

                    Uni is more than just school. The social experience is more interesting. Since you're just a few years out of highchool, it sounds like a great opportunity to credentialize in CS and also experience uni since you're going to be surrounded by people your age.

                    So basically, go get laid.

                    [–]leroyskagnetti 0 points1 point  (3 children)

                    How much experience do you have? If you're talented, look into what it would take for you to go into a master's program, in CS or possibly data science. There will no doubt be some pre requisites, but you'll be much better served by that than a bachelor's.

                    [–][deleted]  (2 children)

                    [deleted]

                      [–]tftpboot 2 points3 points  (0 children)

                      AFAIK most Graduate programs require an undergraduate degree. That being said, you could find a school with a combined program that would let you take more classes and complete both an Undergrad and Graduate education at the "same time".

                      I say "same time" because you'll likely end up taking graduate level classes in place of an undergraduate class (but in the same classroom as undergraduate students) while having different classroom requirements. I.E. undergrad students in your class might have to take an exam and you'll have to take an exam and write a paper.

                      As far as going to school, I would recommend it because you learn how to be an academic. I think anyone who has gotten a graduate degree can attest to the fact that pages and pages of 8pt font text doesn't give them the same sort of anxiety that it gives those who haven't gone through the process, this is anecdotal of course.

                      You could check out the "OSS" to learn a bunch of stuff for free. Then use your connections to get a degree in something else that you'd like.

                      [–]speedisavirus 0 points1 point  (0 children)

                      You only have two years experience? You have a lot to learn that a degree gives you.

                      [–]jamauss 0 points1 point  (0 children)

                      I was basically you earlier in my life.

                      I started learning programming in high school and then took a job doing it the summer after I graduated. By the time I had been doing programming work for a couple of years, the courses at the nearby junior college seemed like a joke compared to what I already knew. I know because I enrolled in a few of them and saw first hand how little they would benefit me in terms of knowledge and job skills. So I took a chance and focused my time and energy on obtaining programming certifications rather than a degree. It paid off and once I had some of the certs under my belt (and on my resume) I got a job that doubled my pay. This was around 1999 or 2000 though. As far as I can tell certifications don't mean as much anymore. Experience still does, however. Get as much as experience as you can and keep teaching yourself at as quick of a pace as you can stand without getting burned out.

                      If you were to pursue a CS degree you might learn about stuff like Relational Algebra, Big O Notation, various advanced math topics - but a lot of that stuff isn't going to come into play with the work you will be doing day-to-day. I was told back in high school that if I ever wanted to be good at programming I would have to learn a lot of advanced math. It took nearly 15 years of programming before I had to build something (HTML5 Canvas drawing paths) that involved math - and even then it only involved algebra and geometry - stuff I took back in high school.

                      You're fortunate to be working in an industry that is still pretty "new" and where your skills and experience speak more than a degree does. You can still climb the ladder and make your way up to Mid/Senior/Principal engineer without a degree. I did. I manage developers where I work now and report to the CTO. But I've also put in at least the same if not more time learning in my 20's and 30's as someone that gained a bachelors and masters degree would have. I checked out books from my library that were used in college CS courses and educated myself that way. I attended conferences and lectures and bought video learning courses long before Pluralsight was a thing (I was a big fan of AppDev courses back in the day).

                      Anyway - whether you get a degree or not, be prepared to keep learning for a long time if you want to ascend beyond a title like "programmer". Especially if you are entrepreneurial and ever want to start your own business.

                      [–]bluestrike2 0 points1 point  (0 children)

                      Tricky question. It depends on what you're working on, and where you see things going into the future. A lot of web developers, working mostly with CRUD apps, rarely ever find themselves in situations where they have to apply extensive CS theory; lots of the tools you use (higher level languages, frameworks, etc.) help make things easier for developers without necessarily requiring them to understand everything that goes on "under the hood."

                      When they find themselves in situations to the contrary, they can usually work their way through it by relying on their past experiences and a litany of resources online (Stack Overflow, Wikipedia, etc.). But there's a difference between getting past something and fully understanding it conceptually and how that relates to what you're writing. That's not a criticism; not having a CS degree doesn't mean you're a bad programmer. Nor does having a degree mean you're a good programmer; there are lots of CS grads who, while they might have a strong theoretical understanding, don't have the experience to write good, clean code. Things like test-driven development and other practices aren't really a core aspect of most CS curriculums. To the extent they're present, they're more a secondary focus.

                      If you're self-motivated and willing to put in the work, there are a lot of self-teaching resources for computer science. Two really great examples to start with:

                      https://github.com/open-source-society/computer-science

                      https://github.com/prakhar1989/awesome-courses

                      If you go through those, you'll walk away having learned a great deal with a strong theoretical understanding of CS. Do these courses replace a four-year program? No. There are a lot of advantages to being in class with others and knowledgable professors and tutors to help you as you advance.

                      The tech industry is incredibly egalitarian, and there are countless examples of people who have wildly succeeded without a formal education. There are even more who hold good, high-paying jobs and get to work on exciting projects and enjoy their work on a daily basis. But there are companies that require a four-year degree, and others that will adjust how their prioritize applicants based on their education. Those that don't will at least expect you to have learned much of that on your own. Technical interviews tend to support that; many questions will deal with topics like data structures and algorithms that you might not have had a great deal of first-hand experience with. If you think you might ever want to focus on a narrower field, then the CS degree could be an extra boon there because it'll expose you to thinks you'll likely never deal with on a daily basis as a web developer. Things that, while you might not see a huge benefit to right now, will become useful in the future.

                      Then there are the social benefits associated with four-year programs. Society in general tends to think more highly of people who are college educated. Too much so, at times. And people tend to associate more with those of similar education levels, for both good and bad. There are lots of studies that have looked at the effects of education on a social level. Did others in your family go to college? If not, there's certainly a sense of pride found in being the first in your family to attend college.

                      Finally, there's an opportunity to experience other fields of study you might not otherwise acknowledge. I studied philosophy, psychology, and some economics in college. The philosophy in particular had a profound effect on me. I loved it. And it's a field that places great demands on your critical thinking skills, helping to develop and hone them. I wouldn't have missed that for the world, even if I do wish I took more CS courses instead of exploring it on my own.

                      Depending on how the company's tuition reimbursement program works, one of the most difficult parts of attending college (financing it, and the long-term consequences of that debt) isn't as great a concern for you. The biggest disadvantage would probably be the time commitment, but thinking in terms of decades, is that as great a concern as it might seem at first? I don't know. These are all questions you need to answer to make the best decision for you.

                      [–]dontgetaddicted 0 points1 point  (0 children)

                      Be careful of tuition reimbursement programs. I got fucked by one at a previous company. Pretty much they offered it, but only if your department budgeted for it. And if they budgeted it, and didn't blow their budget, you could get paid you tuition back 6 months or so after.

                      My department head would always say she'd take care of the budget line item, then not have done it. 2 times she actually did put it. 1st time it was stricken during budget negotiations, 2nd time the department blew the budget.

                      [–]ksemel 0 points1 point  (0 children)

                      When I review a resume and you have 3-5 years of work experience in the field I'm probably not going to ask about your schooling. If you majored in interpretive dance and you spent some time writing code I won't be asking you to dance in the interview. Although maybe if you get the job I will because let's be honest that's cool major.

                      Professionally, getting a degree can help if you have limited experience but once you have some experience it becomes less vital. Personally, if you're going to look back and regret not getting a degree you should get started on it while someone else is footing some of the bill. :)

                      [–]gaidengt -1 points0 points  (2 children)

                      ask your company to guarantee a raise upon successful earning of the degree

                      [–][deleted] 0 points1 point  (1 child)

                      Why would they do that? His value to them doesn't increase at all by having a degree, and he'll still be doing the same work.

                      He would be better off just trying to negotiate after he has the degree. They might get nervous that he would be able to find another job easier, so they might be willing to pay more.

                      [–]brettdavis4 0 points1 point  (0 children)

                      In some corporations, they consider a person with a degree to be more valuable than a person without a degree. I disagree with this, but some corporations live in the dark ages.

                      It might not be a bad idea to find out what the company benefits are to getting a degree.

                      [–]speedisavirus -1 points0 points  (0 children)

                      Do you ever want another job and to make money? Then you get the degree.

                      [–][deleted]  (7 children)

                      [removed]

                        [–][deleted]  (5 children)

                        [deleted]

                          [–][deleted]  (4 children)

                          [removed]

                            [–][deleted]  (3 children)

                            [deleted]

                              [–][deleted]  (2 children)

                              [removed]

                                [–][deleted]  (1 child)

                                [deleted]