8 ms·
Firstly, finish your degree. For most employers, just checking off the degree is more important than exactly what it is. This is especially true for software
by saalweachter 5y ago
Firstly, finish your degree.
For most employers, just checking off the degree is more important than exactly what it is. This is especially true for software engineering. You will have many, many coworkers who have degrees in physics or bioinformatics or mathematics and work as SWEs. Most of their stories will be exactly the same as yours, although "...but there weren't any good paying jobs so..." will be in the running.
- ghoshbishakh 5y agoYou think degree is important? I am trying to finish my PhD. But I don't want to stay in academia after I finish. Would my degree be helpful in getting any SWE jobs?
- kemiller2002 5y agoIt depends on how far out you are. Finishing what you start is always a "good" sign. That's what a lot of people look for. With the OP, he's 4 months away from finishing his degree. In the grand scheme of life, that's a "blink of an eye". There is no point not to, and (I don't agree with this at all) people judge you differently if you have a degree vs. not.
- GianFabien 5y agoIn most goal-setting advice, Steve Jobs comes to mind, having a reputation for being a finisher is the most valuable attribute. Employers basically hire staff to get stuff done. The rest is details about specialization, experience, skill-set, etc. All of which is rendered irrelevant if you don't get the jobs you are assigned done. Re: a PhD -- ideally you should ask the question why you want one is before you start. Cursory research quickly reveals that academia as a career track is very challenging. You don't need a PhD to be a great SWE. A PhD is training to be a researcher and an expert in a specific field.
- k8sToGo 5y agoDepends on where you are. I think in Europe it is more important than in the US. But I see anything above Bachelors as a personal preference (with a few exceptions). If you want to finish PhD, then go for it.
- notslow 5y agoI have a Ph.D. and am not in academia. The higher degree opens up opportunities for challenging positions, but you will probably need to show basic SWE capabilities also
- junon 5y agoYes.
- captaincaveman 5y agoI think it will help you get roles, I don't think it actually helps in doing the job, and in my personal experience has a negative correlation with being a good software engineer (not necessarily on skill, more on delivering what's actually needed).
- ghoshbishakh 5y agoThe negative correlation is because how most PhDs do not focus on SWE skills isn't it? But that group are probably not interested in coming to SWE either.
- captaincaveman 5y agoIn my experience its because they are more interested in researching interesting things, rather than delivering the project/task they are assigned to. Basically jump down every rabbit hole they can find!
- phphphphp 5y agoit's an interesting talking point but that's about it in most cases. If you can find a role where some domain knowledge is related to your PhD subject, or they need the skills a PhD requires (i.e: academic writing) then it'll be very valuable, but a PhD in most places wouldn't actually add much value in the day to day: most SWE work is nonacademic. Thinking to my own experience, PhDs are pretty uncommon but of those I've worked with, some are brilliant, and some are terrible -- just like non-PhDs. I wouldn't consider a candidate with a PhD better than a non-PhD candidate, but then some people would love to hire someone with a PhD. I'd say on balance, it's a positive to have, but I would never recommend someone pursue a PhD as a route into a SWE role. A year of hobbyist programming experience is enough to get a SWE job.
- saalweachter 5y agoIf you're trying to finish a PhD program, I'd say it depends how much you want to finish. "I did a year or two and academia sucks" is a perfectly normal place to tap out, but full STEM PhD -> SWE is also pretty common. If you just spent three or four years writing specialized code to simulate or analyze your PhD topic it's quite possible to parlay that into an entry level SWE job.
- fortytwo79 5y agoAgreed. Speaking as someone who has hired hundreds of software engineers, I can tell you that having a degree at all tells me a lot about your work ethic. Sure, I'd prefer a comp sci background, but your degree is nearly as good. It's an indicator of how you think. You know what other degree I see a LOT of in SWE? Music. I've hired countless music majors.
- marcus_holmes 5y agoI have the opposite experience, almost. I've hired and trained lots of people with CS degrees who think they know everything and barely know the basics. I massively prefer people who flunked university and just got a job writing code because they could. University no longer trains people to think, instead it's about jumping through hoops and dealing with pointless administrative bullshit [0]. source: I have a Master's degree. And yes, even better are the people who wrote code as a hobby, and then decided to switch career to become professional developers. Some of the best coders I know are in that category (though the best coder I ever hired taught herself to code while getting off heroin in a Glasgow slum). [0] Ok, so yes if you're hiring for a large corporate I can see how this would appeal.
- orzig 5y agoTo provide a third vote: My midsized company barely considers people without degrees, even if they have extensive technical work experience. Example: I had to battle hard to get somebody considered for an entry-level non-technical role, and they ended up being rapidly promoted within engineering once they got past the recruiting screens.
- marcus_holmes 5y agoI feel your pain. I've fought against this before. I think it's because of the salary level - like HR/management cannot get their heads around paying someone who doesn't have a degree the kind of salary that developers get these days.
- Gwarzo 5y ago
- vkk8 5y agoHow do you get a software engineering job as a physicist? I'm one and I tried applying for a few (mostly with titles like "machine learning engineer", etc.) and mostly received no responses. For comparison, when applying for "data scienist" or "quantitative analyst" (in finance) jobs, I got many offers. Around here, the SWE people seem to assume that physicist can't write good code.
- thorin 5y agoWhat country are you in? When I graduated in Elec Eng in the UK there were plenty of big companies like banks, government, utilities taking graduates of all kinds to train them into software engineering. I've met plenty of SWE with degrees in history, music, or people with no degree who've started doing manual testing or admin and got into automation and then software. Equally, if you already have the skills and can pass their test I'm sure they won't care what degree you have, physics shows a high level of technical comprehension and analysis as well as hard work.
- saalweachter 5y agoHmm, re-reading your post and thinking more about the specifics, I think the next steps vary a lot depending on your personal experience and resources. You can basically break a "software engineering" degree down to three components - writing code, "core theory", and "specialist knowledge". You may already have "writing code" down well enough for entry level gigs; if not, side projects are a fine way to get you there. Look over job postings that interest you, see what languages they ask for, try writing some code in that language. For "core theory", there are three basic classes you'd ordinarily take: algorithms/data structures, an introduction to compilers, and an introduction to operating systems. If you've taken these courses already while in your current degree program, great, you're done. Don't worry about all of the extra specialist knowledge, you can pick it up later if you need or want it. You'll know as much as any other entry level generic software engineer. Algorithms/data structures tells you why some code is fast and why some is slow, and the theory of fast code. Compilers teaches you how programs work under the hood, how the computer actually interprets and executes your programs. Operating systems teach you how the computer as a whole works what happens when you write to a file or a socket or a screen. You don't need to be able to write a compiler or am operating system from scratch to be a good generic software engineer, but having a rough overview of how the entire system works is one of the things that elevates you past being "just" a self-taught coder. It helps you understand what your code is doing as well as how to write it. If you haven't been exposed to the "core theory", you're probably best off just trying to pick up books or (free) online courses on the subject. Unless you have just fantastic financial resources you shouldn't try to change your degree or get extra formal schooling in the subject. As long as you can write code, there will be people happy to hire you as a SWE, so you don't even have to wait to master the core theory to start applying to jobs. Start with algorithms/data structures. It's the most useful and a good opportunity to get more practice writing code in, especially in new languages.
- schnitzelstoat 5y agoFor a basic intro to compilers/OS I'd recommend the Nand2Tetris course. It's the best course I've ever done tbh, and is actually interesting. I never felt like I was forcing my way through it.
- 5y ago
- rg111 5y agoTo OP: Good advice. Listen to this. Focus on finishing the degree, and if possible, get as good grades as possible. That will open a lot of doors. ____ To this comment: I have switched from Physics to Deep Learning. This is more because of "getting to know myself better" than money. I grew up being good at math (scorewise when little, and later, actually getting and understanding) and science. And I had a lot of biographies and a-little-harder-than pop-sci kind of science articles at home. I thought that I would become a Physicist and become a Professor. College was a big disappointed. The beaurocracy aside, the college system relies on memorizing numerical problems, proofs, and regurgitating them during test. And also, the field of Physics is highly saturated. It feels like all the stuff has been done. Need a field where I can contribute, rather than just watch passively. In college, for the first time, I got to work in a real Electronics lab in my Physics major class. Absolutely loved the experience. Reading theory by bigshots in books, and applying them with my own hands! Building stuff! That's when I first found out I loved building things and applying things on my own hand rather as much as, or more than I loved the ivory tower of pure theory. Coupled with my frustration, I decided I will become a programmer because that is where I got to build things and not just regurgitate text. My metor-friends (older) told me that Data Science was hot. Better get into that. Although they meant analysis type work, I soon transitioned to Deep Learning. Vision particularly. I am on brink of publishing two research papers independently, and worked in two jobs where I developed Deep Learning systems. I am very happy that I gave up Physics. I may not even stay here. This transition has taught me to be less stringent on life's choices. I have also learned that I don't particularly like Physics or Math or Deep Learning. I like esoteric things that not many can do, pay well, give intellectual kicks, opportunity to work with hands, and are math-y.
- whoknew1122 5y agoAgree except possibly the 'good grades' part. I'm self-taught and work at a FAANG. I'm also a technical interviewer. I have never once asked for or looked at a candidate's GPA. Looking at someone's GPA honestly wouldn't help me much at all. It's not like I know how rigorous <insert university here>'s math or economics departments are. Unless you went to a college that's a household name in your geographical region (for example, Harvard in the United States), I'd leave off the GPA from the resume. Try to learn as much as you can, but don't fret about getting the best grades. Very few people will honestly care about your grades; they care that you graduated and whether you have the technical and interpersonal skills to fit on the team. If a person won't hire you because your don't have a 4.0, trust me that's not someone you want to work for in the long run.
- lytefm 5y agoAgreed. And honestly, finding an entry-level SWE job with a degree in Mathematics + a background in data science is probably easier than finding an actual data science position.
- mehphp 5y agoThis is very true, software engineering with a Mechanical Engineering degree here...
- notjustanymike 5y agoThe CTO of my last company has a degree in anthropology, so this tracks.
- suifbwish 5y agoA lot of startups are starving for people who have experience even if they don’t have a degree. I’ve worked with compsci PhDs that spent hours/days doing something that 3 years of experience in a heavy industry will teach you to do in a few minutes using a different method or more tools. Sure advanced degrees are needed for some frontier type things but in practicality they have very little up on someone who is passionate with coding and has worked with veterans in several companies.
- saalweachter 5y agoIt's more that if the only thing stopping you is that you've realized you want to work in a different field[0] then while getting that degree may not be necessary or even useful for itself, it does just make a lot of things easier and more straight forward further down the line. Any time you have a situation where people are filtering large number of candidates impersonally, from hiring to immigration to dating apps, some of the time you'll be blocked for not having a college degree. Sure, you can find plenty of start-ups or other smaller shops to apply to; maybe you'd even prefer to work for people who can see past a degree or lack thereof. If your life falls out that you can't get a degree or just have better options on the table than starting or finishing a degree-granting program, it's not the end of the world, you have plenty of options and opportunity. But it's still probably worthwhile to keep all the options you can if it's relatively little extra cost. [0] If you're epsilon away from completion, if you've already paid for your final semester, if you're not in actual danger from staying in the program, if you don't need to get a job yesterday because you've run out of runway for living expenses, etc etc.