Other things: - I've done some internships; I expect I'll be able to get a job after I graduate. - I'm considering trying to move to Europe within a few years of graduating. Would the degree be more valuable there? (and also - should I be trying to study for a master's there instead?)
[1] https://news.ycombinator.com/item?id=26405955
The only time it's worth getting higher degrees in CS is if you intend to go into academia, or a certain subset of research-heavy roles (research in AI, quantum computing, etc.) But for those, usually a PhD is what they are looking for, Masters wouldn't cut it.
Some places will require more education to get promoted, but that's a decision you can make after you get such a job.
Most master programs in CS are 2-year programs, this might be important for the degree to be considered equivalent to a European master's degree if you decide to start a PhD.
There are quite a number of English language master programs in CS in Europe and you should usually have little problems being accepted into one with a bachelor's degree from a US university (though there will be a lot of bureaucracy involved...).
Some advantages of studying in Europe are that there are no tuition fees in several countries in Europe (at least in Germany, the Czech Republic, Sweden, Denmark and Norway AFAIK - though the Norwegians are discussing the introduction of tuition fees for non-citizens) and a European degree is recognized throughout Europe due to the Bologna process (see https://en.wikipedia.org/wiki/Bologna_Process).
Having a master degree may help to get a job, especially in some countries where still is more important the title as the experience (what still shocks me). But in my experience a PhD will not help you necessarily to earn more money, or get a job faster. It may influence the kind of job you can get tough.
What title it is, is not so important. In many countries the names of the titles are very different. In some there is no EE and CS just as you know them from the US. In some companies they still insist in you presenting the grades of all your studies, and recommendation letters. Luckily this is decaying, but still present. So, sometimes it is better to opt for courses where you can get better grades, and jobs where you get better recommendation letters.
The question of where to get the master, depends: if the master is for you just "a means to get a job" make it where it is cheaper (probably Europe). If you really want to learn CS, I would stay in the US. At least where I am, the level of CS teaching in Universities is not as good as in the US (at least my limited sample of known people/universities).
Last but not least, in my experience, people graduated in the US, also when not in the best universities, are well seen.
My grades from my undergraduate program are good (4.0/4.0 GPA); it's possible my grades could decrease a bit, but I don't expect them to drop significantly in the future (although you never know).
I really do want to learn CS better; I think the opportunity to do that would be good. But the expense / opportunity cost is high enough that it does seem like more of an economic question of "will this help me get a better job?", which there doesn't seem to be a good answer to.
> At least where I am, the level of CS teaching in Universities is not as good as in the US (at least my limited sample of known people/universities).
Would you mind saying where that is? (I can email also if you don't want to here)
As for CS, it is possible to work there with a BA, but generally speaking, you will earn more money and have more job opportunities with a MA.
I wanted to move to Denmark from an East-European country, in the hope of a better life. So, I enrolled at a university here (at a "famous" one though), so I could be accommodated in a dormitory where I pay half of what I'd pay in a rent. I also can network at the university, but to be honest, it's not going that well as I planned, I think because I'm a really introverted person and I'm getting only well with other people from my country.
So, being enrolled at a university in Denmark, I also get SU (scholarship) from the government, and for it I only have to work 12 hours a week and that's all! That's a big help. Because of this, Danish companies are open for the cheap, part-time workers so it's easy to get a part-time job, where you still get paid moderately well. With the scholarship, it's a pretty good deal.
[1] https://www.studentsurvivalguide.dk/posts/survival-guide-to-...
But your undergraduate degree will be in CS. You might do well to work and see what's out there.
1. Become more desirable for US-based employers? If your undergrad is already in CS, doing a CS masters will have negligible effect.
2. Become more desirable for foreign employers? Yes, some countries prefer more highly-educated candidates (eg: they might have a quota for undergrads, and another one for Masters or PhDs).
3. Personal growth? By all means yes, you can take more specialized elective classes during a masters and explore more deeply within your concentration of interest than in undergrad. However, chances are that you won't use 95% of the knowledge you learn unless you are very fortunate to get into a research position rather than just building commodity CRUD apps. That remaining 5% could be the difference between being a 2x engineer and a 1x engineer though. If you are self-disciplined, you can get much of the same experience by taking classes through EdX or Coursera but without the shiny diploma at the end.
4. Networking? Yes, college/university is a great place to make friends (it might get harder to make new friends once you're in the workplace depending on the industry you are in). Although you're probably already getting many of these networking opportunities in undergraduate.
5. Prepare for PhD? If you want to break into a PhD program, do a masters and get to know the upper-division professors very well. But PhD is not for everyone: https://www.dropbox.com/s/5c70typ50be0d9l/pguo-PhD-grind.pdf...
Another option is to go into industry and take night/evening classes through an online masters like Georgia Tech or Stanford Online. There are many problems with this though:
- it might take 2 or 3 years (since you can probably only take about 1 or 2 classes per semester/quarter than the usual courseload of 3 or 4) - you will miss out on many of the networking opportunities, and not have much of a social life or free time if you are also pursuing a full-time job
I only recommend it if you are in financial need, otherwise just enjoy the extra year in university (in the grand scheme of things, 1 year is not such a long time out of a career spanning 30+ years).
If they are taking out student loans for an extra year or two it will have a negative effect financially. I work with senior engineers without degrees and they are in the same pay band as people with that title, a degree has no effect on salary. In all the discussions about levels at different places, including FAANG, I've never heard of a degree level impacting salary. The outlier there might be for very specialized research PhD types from prestigious universities. Someone can be book smart and excel in an academic environment and not have any practical experience for doing actual work.
In my opinion, anything beyond a Bachelors in CS is only going to help if you're going into academia or research.
> Another option is to go into industry and take night/evening classes through an online masters like Georgia Tech or Stanford Online
Have you done this before?
I got an MS and it did nothing for me. Other people worked more and got promoted faster. You're better off working an extra hour a day instead of spending 10 hours a week on school work.