1 2
pav5069
pav5069 Reader
11/1/16 11:20 a.m.

I am thinking about going back to school. I have my masters in sports medicine but after 5 years and no real money coming my way. Has been making me think about getting a new degree. I would love to hear what you are doing for a living and if you are enjoying it. Also any cons getting a computer sciences degree? The program I am looking at is all online and I would be able to keep on working, till I have the degree.

Fueled by Caffeine
Fueled by Caffeine MegaDork
11/1/16 11:41 a.m.

No cons to a CS degree right NOW. Holy crap the salaries I saw being given to coders was stupid in Seattle.

Consider doing one of those 6 month coder boot camps. You'll be earning stupid money in record time. I saw it everyday in seattle.

monknomo
monknomo Reader
11/1/16 11:46 a.m.

I skipped the CS degree, but I'm working as a programmer. It's a federal gig and I make systems that help count fish. I mostly work on the system that people report how much fish they caught and where. It's fun work, with a good team and it pays pretty well.

I don't think there are any cons to a CS degree, but there is a certain level of degree snobbery that I've observed - fancier schools (MIT, Stanford, CMU) are weighted much more heavily than everything else. That said, only one of the people I work with has a CS degree, and only one of the people I work with has a degree from a fancy school.

When we hire, we look for (insofar as the federal hiring process allows) technical ability, logical organization and most importantly the ability and willingness to learn new things. Even though we're mostly riding herd on a suite of CRUD apps, an OLTP system and a data warehouse, we generally are doing something new - that is something that we've never done before. The novelty makes constant learning part of the job. It's also pretty important to learn from our mistakes - we all make them, but we try not to make the same mistake twice.

There is also a big difference between CS degrees and the practice of programming. CS is typically more the study of algorithms and how they compare. It can also touch on computing paradigms, like how operating systems should best be organized. I've also seen CS work that focuses more on the human computer interaction. CS tries its best to emphasize the science, but it balances it with basically being specialized abstract math.

Programming is writing clear instructions to a computer to do something useful for someone. Typically with an eye towards making money, saving time, or in my field, complying with regulations. Knowing CS concepts is useful, particularly which data structures match which problem, but it isn't really necessary for 80% of what programmers actually do.

I mean, the biggest skill is reading and applying E36 M3ty docs (apache, I'm looking at you - technically correct, complete and useless) and understanding that you will only be working with broken programs (because you haven't finished them yet, you know).

Anyway, ping away if you've got questions, I can rattle on about programming all day. I tend to like the engineering end of it - it's one thing to make a program, it's quite another to make a maintainable program with the infrastructure to keep it running year after year.

Furious_E
Furious_E Dork
11/1/16 11:50 a.m.

I had a lot of comp sci friends in college. As a group, they definitely had the easiest time job searching. My old roommate was making six figure money less than three years out of school and pretty much working whatever hours he wanted, with flexibility to work remotely quite a bit. And then he decided to up and quit his job and berkeley off to southeast Asia for the past year and a half, living off of whatever savings he has.

I think you've got to be wired a bit differently to excel in that field, but the job prospects are excellent.

Dave
Dave Reader
11/1/16 11:58 a.m.

I have one. Wouldn't trade it for another career. Tech is always changing which I see as a positive but not everyone will. You will never master it but the goal post is always moving. Makes things interesting. But you cannot train yourself and then be set to go for a couple decades. Always learning.

Do you have an interest in tech? Or just want more money? Those after the money never seem to make it from what I saw ...

CS related jobs often boiled down to problem solving in one way or another. Could be a network issue or a programming challenge.

Speaking of programming - its an odd thing. Some folks "get it" and some otherwise very intelligent folks never will. CS isn't all programming but you'll definitely have to do some. If you haven't ever done it you can dabble in it with one of the many free tutorial resources around for free pre-degree. Get a feel for it.

BoxheadTim
BoxheadTim MegaDork
11/1/16 12:07 p.m.

Ish. I dropped out of university roughly when I would have received a BS if I had been in the US (German system didn't have the BS/MS distinction back then). I've also made a half-decent living as a professional software developer for over 25 years, plus I've managed teams of developers. Back when I dropped out of university it was a lot easier to get a development job without a degree, but these days I think getting a degree is a much better starting point.

I still enjoy the development part, not such a big fan of managing teams. I'll actually be trying my hand at short-term consulting soon to see how I like that instead.

Things to keep in mind - despite everybody and their canine screaming for developers, it's surprisingly hard to find an entry level job as a recent graduate who doesn't have twenty different GitHub repos and other signs of having no life . It's easier when you have a degree from Stanford and the like, but I wouldn't expect people forming an orderly line out the door even if you do. Also, a lot of yammering about the inability to find developers comes from people who want to hire developers for cheap with an exact skills set (that usually doesn't come cheap), plus they want to hire really young developers who don't mind working 60-80h/week minimum. There is a culture in software development that I call hero-based development that works on the basis of "if I only pull another all-nighter I'll be a hero and save the project other people berkeleyed up with their unrealistic timelines".

That said, I think it's a great career if you do like solving puzzles and you can find good companies who actually offer reasonable work/life balances, plus it pays pretty well, although IME not as well as it used to. I don't know if its a career for a lifetime anymore, there are undertones of people being considered over the hill when they're 35, but I also see companies specifically looking for lots and lots of experience.

Some other random toughts:

  • The big money is in the places with ridiculous cost of living (Silly Valley, New York, some places around Seattle), but you'll find well-paying jobs in a lot of metro areas that have much lower costs of living and still offer good salaries
  • Web development is hot right now and I expect it to be hot for a few more months but for entry level positions you're competing with both outsource companies and people who've been to code camps.
  • Code camps - I wouldn't, they tend to cost a lot of money, don't give you a lot of depth and I've never interviewed anybody who was so good that they needed to be hired immediately just because they went to a code camp
  • In 90% of place, all your additional training and keeping up with technology will have to happen in your spare time. Pretty much everybody seems to complain that they can't find people who know X, but very few companies will train people to fill that need.
  • IME there's a shortage of people who can build foundational stuff. You can find tens to hundreds of people who can build a performant web app for every developer who has the skill to build a performant web server. Find a niche like that and you're set for a much longer term career. For example I did and currently do work in the financial industry and that's a pretty interesting niche that also seems to have a constant need for people.

I guess I should get back to work, feel free to ask more questions here or PM me with more concrete questions. Always happy to help.

BoxheadTim
BoxheadTim MegaDork
11/1/16 12:11 p.m.
Dave wrote: Do you have an interest in tech? Or just want more money? Those after the money never seem to make it from what I saw ...

This, in spades. I've managed a couple of people who were only in it for the money and I wouldn't have let them program a VCR if it had been up to me.

Dave wrote: Speaking of programming - its an odd thing. Some folks "get it" and some otherwise very intelligent folks never will. CS isn't all programming but you'll definitely have to do some. If you haven't ever done it you can dabble in it with one of the many free tutorial resources around for free pre-degree. Get a feel for it.

Also, very good point. IIRC you can do pretty much the whole undergrad MIT CS degree for free online (without the piece of paper at the end), so that might be a good idea to get a feel for the academic side.

Programming itself is often taught badly in college and debugging is most often not taught at all. That's where playing with code of your own and partaking in open source projects is very valuable.

pheller
pheller PowerDork
11/1/16 12:18 p.m.

From what I understand the toughest part about getting into the industry/field is getting some sort of resume with proven projects. Usually it's the schools that help out with that. We've got a programmer on staff who despite being educated in Geography was in the right place at the right time during the 90's when there were a lot of programs that weren't perfect and not many programmer, so he started tinkering. He'll freely admit that he can't build stuff from scratch, but he's really good at modifying existing stuff to work for our uses.

Unfortunately, most programmers aren't keen on taking the time to show others the ropes unless it's teaching someone who knows the basics already.

Even if I wanted to write small apps in Python or .NET I'd have no idea where to start because I don't know how to implement them.

I keep saying that I wouldn't go for a Masters Degree in Geospatial unless that program had some pretty extensive programming courses (along with DBA stuff) because it seems useless these days to have an advanced GIS background without having the programming resume with complete projects on it.

mtn
mtn MegaDork
11/1/16 12:29 p.m.

In hindsight, one of my biggest regrets in college was taking my programming class with the professor I did. I came ot of the class with a hatred to programming, when it was really a hatred of her. I think I may have actually enjoyed it.

Maybe I should go back and give it another try.

GameboyRMH
GameboyRMH MegaDork
11/1/16 12:32 p.m.

I have about the same level of formal education as BoxheadTim. Jobs that have use for a CS degree are very location-specific. If you're not in a "hotspot" location and you're starting from scratch (as in, not good with computers and ideally have some programming knowledge already) there are definitely better choices out there if you're looking for something to get a degree in.

Do I enjoy it? Not really. Could be worse but I'd be open to getting out of it. It's better as a hobby.

monknomo
monknomo Reader
11/1/16 12:36 p.m.

In reply to pheller:

From my perspective, student projects convince me that the person knows how to write code that compiles. That's nice, because it's a bar not all job candidates clear, and it is about the bare minimum needed. At my unit we usually set aside 6 months to a year for junior hires to have minimal utility. We have to introduce them to all our tooling, introduce them to all our systems, review their code more carefully for logic and style, etc.

I think recreational projects without a degree can count, but you have to be able to tell a story about them. What were you trying to do, what did you actually do, what could you have done better, why did you take the approach you did, that kind of thing. At least, that's how I got hired with minimal real experience and a technical, but not programming based, degree. Sure helps to have it through school, though.

Kind of a digression, but I remember when I was first starting out, I couldn't figure out where to begin. I had ideas and just couldn't figure out how to go from typing to a working program. I think instructions are a little better these days (You can watch youtube!), but that's still a big gap in the beginning mechanics of programming.

The GIS guys in the office here seem to love Python. The stats guys here love R, but I wish they loved Python, because I find it easier to wrangle...

z31maniac
z31maniac MegaDork
11/1/16 12:40 p.m.
Fueled by Caffeine wrote: Consider doing one of those 6 month coder boot camps. You'll be earning stupid money in record time. I saw it everyday in seattle.

https://www.theironyard.com/courses.html

Came here to post this.

If I could afford the course and not working for 3-4 months I would have already done this.

BoxheadTim
BoxheadTim MegaDork
11/1/16 12:53 p.m.
Fueled by Caffeine wrote: Consider doing one of those 6 month coder boot camps. You'll be earning stupid money in record time. I saw it everyday in seattle.

I disagree with that - they might teach you enough to get an entry level Ruby on Rails job or something similar, but they don't give you the foundation that you'll need for longer term success. The candidates I have interviewed that went to these schools seemed to lack even basic knowledge of data structures and similar important parts of a CS education that a decent software developer/software engineer will use on a daily basis.

I think for the price of admission to one of these schools you're better off spending less and taking programming and CS classes at your local community college.

Please note that this isn't a slight on Ruby (I likes me some Ruby), Ruby on Rails or any of the other languages used in these courses.

pheller
pheller PowerDork
11/1/16 12:57 p.m.

In reply to monknomo:

Right. It seems like in order to get a job as a programmer you've got to quite a resume of actual projects under your belt, and it's very difficult to get that first job without some pretty solid recreational/education projects.

I wish there were some online "labs" where you could hook up with a bunch of others at a preset time and work through problems together.

petegossett
petegossett UltimaDork
11/1/16 1:23 p.m.

I'm a relative newcomer to programming, having jumped careers from the office equipment industry/IT, to SQL(and now other) programming about 4.5 years ago - in large part thanks to BoxheadTim, GameboyRMH, Dr Hess and other GRMers for assisting me with the take-home interview questions, and other hurdles I've encountered along the way.

I have an AAS in Electronics, but that was back in '91 and programming wasn't even discussed. Other than som BASIC programming as a kid, and briefly working with MS SQL Express on my home PC, I had no experience or relevant education. Honestly, in 1991 I wouldn't have wanted, or been able to deal with, a desk job anyway.

I'm probably on the low end of the pay scale for a software developer, but I work for a great company and don't encounter nearly the same stress levels as other developers. At this point if I were concerned with career advancement I'd consider getting a CS degree myself, but I've worked enough E36 M3 jobs, and for enough E36 M3 companies over the years to recognize I have a pretty good gig now, and a degree probably wouldn't give me any significant raise here.

MrChaos
MrChaos HalfDork
11/1/16 1:33 p.m.

I have a cs degree and I cant code my way out of a paper bag. I got the degree because i was going into IT and needed the piece of paper to pass the HR gauntlet. Technically my degree is closer to a CIS degree rather than CS. In reality a degree only really gets you through HR.

monknomo
monknomo Reader
11/1/16 2:51 p.m.

In reply to pheller:

That would be pretty cool. Particularly if they tied in with a public Github profile and common interview/data structure questions. Build a profile and get ready for whiteboard questions all at once!

codrus
codrus SuperDork
11/1/16 3:32 p.m.

I have a CS degree and have been doing embedded systems development in the bay area for the last 20+ years.

I would be really careful with an "online only" program. A CS degree at a 4-year institution does three main things: it teaches you knowledge and skills, it serves as a certification that you have those knowledge and skills, and it provides you with opportunities to make connections with other people in the field. Many of the quick "code boot camp" type places are really only doing the first of those three, and even then they're giving mostly surface level stuff and skipping the deeper information.

A 4-year CS degree from an accredited institution will not just teach you how to write code in . It will also teach you about computer architecture, algorithms, networking protocols and theory, automata theory, compilers, operating systems design concepts, AI, 3d graphics, etc etc. "How to program" is one semester at the beginning, everything else is the what and why that underlies it.

To put it in GRM terms, "programming" is like being the mechanic who installs a turbo kit, but "software development" is like being the guy who designs the turbo kit. The difference is that there's a big market for guys who just turn wrenches because every turbo kit needs an installer, but there's really no corresponding position in the software world.

I enjoy doing it for a living, but I'll add a +1 on the "don't do it just for the money". The people who do it well are the ones who are passionate about it. For me, I get a real satisfaction out of watching the computer dance -- sitting back and knowing that I have made it do something it couldn't do before.

monknomo
monknomo Reader
11/1/16 3:51 p.m.

In reply to codrus:

That's a good analogy between programmers:software developers :: mechanics:engineers.

On that point, there is good money in just programming. The world runs† on PHP and a competent Wordpress installer/configurer who can do some customizing can drum up as much business as they can handle

† certain parts that tend to be regular-folk-visible on the web anyhow. That and Facebook

BoxheadTim
BoxheadTim MegaDork
11/1/16 5:00 p.m.
monknomo wrote: On that point, there is good money in just programming. The world runs† on PHP and a competent Wordpress installer/configurer who can do some customizing can drum up as much business as they can handle † certain parts that tend to be regular-folk-visible on the web anyhow. That and Facebook

I agree, with the caveat "for right now". One of the fun parts/annoyances is that the field changes quickly and while I'm pretty sure you can make a good living doing PHP for the next 5-10 years, you probably want to pick up the new hotness along the way as PHP falls out of favour. Seen that a whole bunch of times.

Mind you, there are still people earning a decent living maintaining COBOL programs on mainframes.

aircooled
aircooled MegaDork
11/1/16 5:38 p.m.

I wonder how the H1B imports and the trend toward contractors is impacting the IS field? Seems like an obvious target.

There was a recent court case where (Disney I think) was found innocent when they had some citizens retrain their H1B contractor replacements. As you may know, an H1B is only supposed to be approved / used when a citizen of the same qualifications cannot be found (they obviously cheat this a lot). It seems to be a building trend (along with out sourcing of course).

BTW Disney was found innocent because the contractors did not work for Disney despite the fact that the contracting company is basically just a middle man that Disney passed the money through (generally these contractors will work on site next to employees).

I am not trying to side track the conversation, I am just concerned IS might be heavily impacted by this in the future which is a concern if you are thinking of changing careers.

(edit to change to H1B. Used wrong designation)

BoxheadTim
BoxheadTim MegaDork
11/1/16 5:45 p.m.

In reply to aircooled:

The Mouse isn't alone in this - several other big companies are big on bringing people in on H1Bs or B visas for cheap, citing that they can't find people in the US. There's a reason that the biggest users of H1Bs especially are big Indian consulting companies. What it usually means that they can't find people in the US willing to accept the peanuts the companies are willing to pay.

That said, there is usually enough demand for good developers from small and medium size companies that aren't willing or able to deal with H1B sponsorship. But yes, it does affect employment and salary levels somewhat.

monknomo
monknomo Reader
11/1/16 6:20 p.m.

In reply to aircooled:

I'd wager commodity services, like basic support, system administration and apps configuration are the things most at risk from contractors. Anything more than simple app development is hard to outsource well - companies often try once, get burned and go bankrupt or try to rehire programmers. Just try writing a spec good enough for a dirt-cheap offshore company to make something usable with and you'll almost have a working program

The company learning process can really mess with an individual programmer's stability, though...

mikeatrpi
mikeatrpi HalfDork
11/1/16 7:39 p.m.
BoxheadTim wrote: Mind you, there are still people earning a decent living maintaining COBOL programs on mainframes.

You'd be surprised just how much mainframe stuff is going on.

Anyway, how about the next thing coming... GPU acceleration, IoT / wearables, etc?

BoxheadTim
BoxheadTim MegaDork
11/1/16 8:07 p.m.
mikeatrpi wrote:
BoxheadTim wrote: Mind you, there are still people earning a decent living maintaining COBOL programs on mainframes.
You'd be surprised just how much mainframe stuff is going on.

I've worked for a bunch of big banks, so it's not that much of a surprise .

mikeatrpi wrote: Anyway, how about the next thing coming... GPU acceleration, IoT / wearables, etc?

GPU acceleration is almost mainstream, at least in parts of the financial and data sciences communities. Good skill to have, because you're dealing with a partially distributed system and data transmission overheads most people aren't familiar with.

IoT is a bit problematic IMHO because it seems to be a race to the bottom price wise for the gadgets with predictable effects on both hardware and software quality. Heck, I've started building my own firewall/router box because the one I've used in the past hasn't seen a security update in years.

1 2

You'll need to log in to post.

Our Preferred Partners
QHxihRXstAzYKk1RBcBj34SaX1yrePB1ahMUpOWbJH27p8hHA00BXVYNtxxt8xso