Hacker News new | ask | show | jobs
Hello Programmers without Masters degree, what are your future plans?
5 points by pshyco 3871 days ago
If you're a programmer without masters degree in computer science, how are you going to be competitive and keep progressing in future. For example, I have an undergrad degree in computer science, been programming for 7 years. Not sure if I can keep writing code till 60 and still find jobs as well as make good income. I fear I'll be run over by the new generation.
7 comments

I'm 53. I've been a programmer for 30 years, mostly in embedded systems. My explicit career goal is to never become a manager.

As you get older/more experienced, it becomes harder to find jobs. When "senior developer" means 5-7 years of experience, what do you do with 30 years? It gets hard to find places that will pay for that experience.

I've found, though, that there are jobs. You won't be switching jobs every 1-2 years - more like every 5-10. "Big engineering" places seem to value the experience more than, say, web places. (This may be just because I'm in embedded systems - there's not much use for that in web services.)

Your advantage isn't how fast you can crank out lines of code. It's how fast you can deliver real value to the business (what else are they paying you for)? Along those lines, one of the most valuable things is the bugs you don't write and the bad design decisions you don't make.

> Along those lines, one of the most valuable things is the bugs you don't write and the bad design decisions you don't make.

This point is very important yet elusive. I do contract development, and it's often difficult to get clients to understand the significance of this point without sounding negative or exaggerated. It would be nice if maybe I knew of some formal studies done in this area to give the clients a more substantive awareness.

I wouldn't use a study. I'd ask about their own negative experiences - where a contractor did something, and it took them another six months to fix it. If that's ever happened to them, they'll get the point without needing a study.
This approach may be suitable with more experienced clients, but smaller/newer clients may lack the experience or "self-awareness" to reflect in this manner.

It's curious that inexperienced developers are bad for clients while inexperienced clients are bad for developers. Perhaps it takes experience to appreciate experience. At the same time, inexperienced developers may go well with inexperienced clients since they can learn together -- albeit with plenty of inefficiency.

+1. I know someone around this age, working in kernel-level stuff, very very highly paid. There are only a handful of companies that would hire someone in this area and be willing to pay how much this person is getting paid. The benefit of a long career, though, is that this person personally knows, has worked with, has mentored, and/or has met people working in the same area at all of those companies.
Have you found with the growth of IoT your embedded experience has been in greater demand?
I can't really say; I haven't been on the job market for six years, which is pretty much the time frame when IoT became a thing.

That said, I'm currently working on telephones for the hard of hearing, and they're internet-connected, so maybe my current job is in IoT...

In my field (web software development), a Masters degree is actually an impediment. People are less willing to hire someone with a Masters or PhD for some reason. Maybe there are exceptions for research positions at big companies, but that'll mostly hold true.

Not many people can (or do) write code until 60. Most will become managers. If you don't want to be run over by the next generation, develop and manage the resource that you have that they can't catch up with: experience.

You can develop that resource by doing a wide variety of work or by focusing on a niche. I've seen developers who only fix bugs in ____ language. Or you can work on a wide variety of projects, in a wide variety of roles, and do consulting.

Unfortunately, most coding is treated as a commodity by the business world, and the younger devs have a cost advantage over you.

> most coding is treated as a commodity by the business world, and the younger devs have a cost advantage over you.

I have an experience advantage of being able to ship working software that actually meets requirements. Unlike many younger devs.

I agree that an experienced coder is more cost effective. But, like I said, coding is treated as a commodity, so lay/businesspeople have a hard time accepting that. They don't understand how awful and unmaintainable a novice's code is.
I'm happy not working for that kind of meat-grinder company. If all they see when they look at me is a price tag, they clearly aren't the kind of place that can offer work that would be worth my time.
Good thought but not everyone can apply. People have family to feed, debts to clear and have little or no choice !
What makes you think I don't? But there are choices, because I live in Seattle. It'd be harder for people not living in a tech hub. Location makes far more difference in one's ability to find a job than a surplus of age/experience/salary, I think.
Could you expand on how you see a masters degree as an impediment? Is it just that you've noticed few people have master's degrees or is it actively an impediment?

The reason I ask is that I am a self-taught web developer (BA in English & Classical Studies) considering getting a master's degree in computer engineering. I am not certain if I do go down that road that I would want to stay in web development, but I am rather passionate about the web so I would not want to rule it out.

Not who you asked, but it's not been an impediment to me. I've worked at 4 person companies and 100,000 person companies and the masters degree has never been an issue expect I make more money than those without it. I do full stack javascript (Node/Angular).

If you don't have a CS degree, getting a more technical degree couldn't hurt you, but it's more about the opportunity cost.

The masters degree is certainly not that useful for Web development, but it's a lot of fun and was pretty enjoyable to interact with smart people. It's also helped to have more formal learning in things like compilers for the few times I've needed to write a parser, etc.

It's an impediment because, when you're applying for jobs, you're older, poorer, and have no extra job experience.

There are absolutely jobs where it would help, like research. If you wanted to work on the super-technical stuff at Google or Facebook, like developing new languages, you'd probably need that MS.

But generally speaking, employers care exclusively about your experience (partially because there are so many self-taught people that do good work), and a Masters just says, "I'm going to demand a higher salary".

On a semi-related note, I'm self-taught, like you are, and I considered a Masters. I now laugh at that idea -- I don't know even a tiny fraction of what's needed to get a Masters. It was very humbling to talk to people with CS degrees and hear all the things they learned.

When you miss out on an undergraduate CS degree, you miss a lot of theory and math. Jumping right into an MS program would be incredibly difficult unless you're a prodigy of math and logic (and have the time to spend on catching up).

(None of that is to say that your typical web development job requires a CS degree at all. We use high-level languages and, oftentimes, widely-used, lightly-customized software.)

"If you're a programmer without masters degree in computer science, how are you going to be competitive and keep progressing in future."

So University alone determines your ability to succeed? A better question to ask is, "How do I make credentials less important?" (hint: performace), read "After Credentials" ~ http://www.paulgraham.com/credentials.html

Thanks for a view from different angle !
Another perspective can be gained reading "Profession" a short story by Azimov ~ http://www.inf.ufpr.br/renato/profession.html and https://en.wikipedia.org/wiki/Profession_%28short_story%29

Should read performance.

BE(SoftEng) here. Professional 10 years. ~3 years at current employer who is the dominant IT vendor in my country. There are definitely lifers within this organisation, the pay and benefits and conditions are good.

I plan to broaden my horizons with philosphy and business studies and hopefully mitigate institutional boredom by growing my own side-projects until such time as this overtakes my salary.

Can't really see a masters being particularly useful.

Masters in Computer Science would be research or academic related. Not many companies need researchers. And luckily our field doesn't really care about credentials that much. I see many people without even Bachelors progressing just as fast as people with advanced degrees.
I've done just fine so far with a 9th grade education.

You may be passed over for jobs by hiring managers who don't understand the value of experience. You don't want to work for them anyway.

I'm less than a decade away from 60. And I'm not worried in the slightest.

Really good to know !
Continue learning as much as possible. Stay up on current trends and try to remain focused on my current career path. Don't skip around from industry to industry. Build a blog.