I'm currently doing a BS in Physics but I am good at Swift, CSS, HTML and JavaScript.
How can I get a software engineering or web development job without having a degree in them?
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It only takes a minute to sign up.
Sign up to join this communityI'm currently doing a BS in Physics but I am good at Swift, CSS, HTML and JavaScript.
How can I get a software engineering or web development job without having a degree in them?
It's very subjective, but you most certainly can get a career in software development without a degree in that field. I know a very excellent programmer who has 2 master's, one in humanities, the other in library science.
It's an uphill battle though, especially getting that first couple of jobs. Once you get some experience on your resume, you'll use that to get other jobs and so on.
Personally, I don't have any degree. But even with 30+ years experience, I still get refused to even be considered because I don't have one. It's just how it is.
The bottom line is yes it's possible, but it's not easy. I should also note that my best friend from high school also does software development and architecture. He's a Ph.D. in Genetic Botany.
One thing missing from the other answers is that having domain knowledge in some field AND strong programming and development skills is an extremely powerful combination.
Anecdotally, this is the defining aspect of my own career. I have a BS and MS in Civil Engineering but work primarily as a software developer. The work I do is all related to my field and I find that my skill set fills a rather large gap in the workforce. One big advantage is that while developing software you have an incredible insight into how it will eventually be used and what will make your product better. Additionally, the marriage of traditional skills with developer skills will provide the insight to re-engineer a lot of common tasks in your industry. Finally, software development is product development; that experience will set you up for a management position eventually.
Advice:
It's difficult, but not impossible to get the FIRST job in the field, after you get experience in the field it's easier. There are more employers who require "any" degree than one in the field, and often times experience can be substituted. A standard template is that years of experience can be swapped one-for-one for a degree. I.E.
"Postion requires either a 4 year degree and 2 years of experience or (generic waiver of degree if experienced) "
The best way to get that first job is to build a resume through freelancing and/or volunteer work, so that you can put them on bullet points on a resume...
Experience:
XYZ charity: (volunteer) x-present
Freelance consultant w-x
It's getting harder all the time to do this, and if you do it's harder to get ahead without plateauing, although you can do pretty much fix that by getting certifications. This applies especially to the bigger companies, but it's becoming general in some places.
A lot of people will tell you they've been in the industry for decades without one, and it's true. But decades ago there was huge demand and many places you couldn't actually get a degree. Some of us were around before the internet. Things were a LOT more easy going back then.
But in saying that, it is still possible even in the first World, in the Second and Third, it's still pretty easy. The best way to do it is have something that shows your skills that you can show off to prospective employers, even if it's personal work or volunteer stuff. Start at the bottom and work hard and professionally, get yourself certified when possible and make it your industry.
When you get a job spend a good couple of years there focused on leaving with a great reference. That will get you the next job and set you firmly on track, that's assuming they don't just keep promoting you.
Developing software is not in any way regulated. Anyone can do it. So if you can get a job without a degree in that fields depends entirely on your potential future employer. Some will require a degree, some may not.
If you want to know what your chances are, go and check the job ads in your area. Assume you had the education you are aiming for, and check if you would feel comfortable to apply for the jobs you want to apply for.
Considering a huge number of professional software developers have, at best, a degree in computer science (which is not the same thing), yes this is fine.
I know plenty of people who work in this industry having come from all sorts of degrees. They're usually sciency (e.g. Physics), but you could have only an English degree or even no degree at all and get a decent job if you can prove you'll be any good at it.
I don't have any degree and I've been working in software for a few years now. I'd suggest the following to anyone trying to get into the software industry without a degree:
Sure you can work in IT without a computer science degree. Any analytical degree prepares you for programming and system work. Get your BS - a lot of companies want a degree.
Languages have advanced so much that you are not dealing with the details like back in the C++ days. And there are so many tools that you hardly ever need to write system stuff like sorts.
With an undergrad BS in Physics consider a Masters in Data Science. It is in demand and very analytical.
I highly suggest you take statistics for your electives. As the volume of data goes up the need for statistics does also.
A field that goes for like Physics and Math that would surprise you is finance. They need a lot of pure analytics.
If you are going to do HTML then do HTML5.
As mentioned above, getting your first job in IT as a developer will be the hardest, by no means impossible though.
In my experience, firms tend to look at your experience in the field.
Your first job may be an entry level developer role but that is the trade-off when you're starting out...
Good luck.
There are two major things you need to consider when trying to accomplish this:
1) Do I have enough practical experience in [x] technology to competently accomplish the job I'm applying for in the field, and be chosen over other qualified candidates?
2) Am I presenting myself via my resume in a way that will actually give someone enough confidence in me to give me the job?
For example, if you've been coding in various languages since you were 8 years old and have built a compiler in your free time, and you can communicate the fact that you're an extremely skilled programmer in a way that will convince an HR person to give you an interview, you're set and should be able to make it work eventually.
On the other hand, if you've only toyed around a bit with a few languages and are not actually that skilled, you need to ask yourself if you are actually qualified for the jobs you're applying for. If the answer is no I'd first ask why you are bothering to apply, and secondly I'd expect you will have quite a bit of difficulty breaking into the industry.
Basically it all boils down to: am I genuinely qualified for the job I am applying to or not? And if I am can I convey that in a way that will get me a job?
If you do have the requisite skill then I'd recommend spending a week or two researching IT resume strategies and how to sell yourself, because if you fail in that area you're dead in the water no matter how good you are.
The other answers discuss some good strategies already for building your resume. Since you are still in school, I have a couple ideas to add:
As a physics major, I had sell myself a little harder for that first job - but I had a minor, relevant coursework, and some personal projects. After that went well, it was significantly easier to find the next ones and eventually a job. If you feel they aren't convinced of your programming skills, talk up how your physics classes have prepared you to learn quickly / debug / think methodically and logically / insert-positive-quality-here (backing up this claim with concrete illustrations of your coursework or lab experiences, of course).
(Disclaimer: I have done what you're trying to do, namely getting a job as a developer despite having a degree in English)
* Answer geared toward the US, YMMV
None of the other answers really do a great job of addressing this aspect, which IMHO is the important one. The way I did it was networking. If you don't have anyone in your network hiring programmers (I was exceedingly lucky in that respect), then you'll have to meet them where they are. Some suggestions for that include:
Go to meetups
Go to your local meetup for language x. You may have to drive a bit if you don't live in a city. Its worth it. Also consider starting one. Ditto your local linux user's group.
Take up fencing
As ridiculous as this might sound, I've been coaching fencing for over a decade and a disproportionate number of fencers are in STEM fields including software dev. YMMV. Look for other hobbies that may be appealing to software developers.
Make friends
Is there some place on or off campus that the CS/EE kids hang out? Go make some friends.
Apply for internships
Been mentioned in other answers but worth repeating: being in school affords the kind of access to unpaid or underpaid experience that it would be likely illegal to officially acquire otherwise. Whether or not that's a good or bad thing is debatable, but milk it FWIW.
You can put stuff on github, load your resume with enough buzzwords to get past HR, etc. but there is no substitute for convincing other people in the industry in person that they should hire/ask their boss to hire you.
Well, I did, more decades ago than I care to remember. I was the only one on a team of 8 who had a comp. Sci. degree. The others had varying degrees, such as French, History, Philosophy and Astronomy (failed).
There was, at the time, a general shortage of software engineers, so companies thought “let’s just take people who are clever and train them for software”. So, the others got to go on nice training courses, while I had to stay in the office and work :-(
I have freelanced for decades , in the USA, several Asian countries and more than a handful of European nations. I would guess that around 80% of the developers I work with do not have a comp. sci degree (although most of them have some form of “hard science” degrees nowadays; electronics is more welcome than English lit).
The good news for you is that Physics is a good degree, since many physicists have some familiarity with coding, even if they are not formally trained.
A very phenomenon in Germany is some who studies to become Herr Doktor of physics, leaves university at age 27 or 28, finds there is glut of physicists and no wok in the field and moves into software. About 70% of my Germany team-mates fell into this category.
Of course, it will vary by country, even by company, but, in general, there is a world-wide shortage of software developers, so you should be ok. Just try to get some demo projects, stuff on a web-site, or an open source project to add extra attractiveness.
Software engineering and web developing are two very different fields. I know very few people who are good software engineers, and ALL of them have degrees in Computer Science, Software Engineering or Computer Engineering or have been working in the field 20+ years. I know many people who are good developers who have degrees in very disparate fields.
I know many Physicists and Electrical Engineers that think they are good software engineers and make my life very hard because all they really can do is program scripts.
Since subtly is lost on this site let me be very explicit, you can work as a developer without a degree in the field, many people do, but recognize that developing web apps and developing architecturally sound software are two different things and you won't be able to do the latter for a couple year.