Can I become a software programmer/developer with an Information Sciences degree? Or do I need to get a computer science degree?
- 16$\begingroup$ What is the context of this question? Are you trying to decide a major? Do you already have an Information Sciences degree? Do you have any programming experience and if so what/how much? Because while it is not strictly speaking necessary to get a CompSci degree (I don't have one and I'm a senior staff engineer at a Fortune 50 company), it might be an easier/better path to being employed as a developer than not depending on your circumstances. $\endgroup$Jared Smith– Jared Smith2024-10-16 12:34:34 +00:00Commented Oct 16, 2024 at 12:34
- 6$\begingroup$ Bill Gates, Steve Job, and Steve Wozniak all became very successful software programmers without any degree at all. $\endgroup$Barmar– Barmar2024-10-16 15:06:51 +00:00Commented Oct 16, 2024 at 15:06
- 9$\begingroup$ @Barmar And Billy, Bob, And Joel did that and are still living in out of their mother's basement. If you want to make smart life choices don't look at the outliers... Look at the average. Also Bill Gates mother had a pretty good title at IBM and I am not saying nepotism put him where he is now... But nepotism is what allowed him to build a company that rapidly gain an effective monopoly on PCs, and that monopoly gave him the resources to hire smart people. $\endgroup$Questor– Questor2024-10-16 21:13:44 +00:00Commented Oct 16, 2024 at 21:13
- 2$\begingroup$ I became a programmer without any degree (and not living in anyone's basement, @Questor ) though undeniably not anywhere near as successful as Gates, Jobs, etc. But that was back in the 1990s when IT was more "Wild West" than it is today and the only IT degree that existed was Computer Science $\endgroup$Aaron F– Aaron F2024-10-17 21:24:42 +00:00Commented Oct 17, 2024 at 21:24
- 1$\begingroup$ What is the question? Whether you'll be able to actually do the job, or whether companies will be interested in hiring you? For the former, you could become a programmer even with a gender studies and underwater basket-weaving degree, if you study programming on your own, and develop the necessary critical mindset on your own, regardless/despite of your formal education or lack thereof. For the latter, it heavily depends on your location and how saturated the job market is. Please note that in some countries your degree can determine what official position the company is allowed to give you. $\endgroup$vsz– vsz2024-10-18 05:45:59 +00:00Commented Oct 18, 2024 at 5:45
5 Answers
You can become a software developer with almost any kind of degree and also without a degree. My fellow developers come from math, physics, computer science, electrical engineering, just to name a few.
What counts more than your formal education, is your ability to understand requirements, and to translate them into well-structured, high-quality code - what we call Software Engineering.
- 7$\begingroup$ While this is true. Most Software Engineering jobs require a Bachelors degree in Computer Science or Equivalent. And an individual who takes your answer at face value will find their career opportunities greatly limited. $\endgroup$Questor– Questor2024-10-16 16:52:44 +00:00Commented Oct 16, 2024 at 16:52
- 5$\begingroup$ @Questor That is not my experience at all, mine is like Ralf's. I'm a long-time software dev with a Psychology degree. Maybe 50% of all the devs I've worked with have a Comp Sci degree. $\endgroup$benxyzzy– benxyzzy2024-10-16 18:36:14 +00:00Commented Oct 16, 2024 at 18:36
- 3$\begingroup$ I would add though that you do need to gain software development skills! If you turn up to interview not knowing how to code but pitching your ability to "understand requirements", you won't be hired unless the company is one of the very few prepared to train from nothing. (They'd make that known if they were) $\endgroup$benxyzzy– benxyzzy2024-10-16 18:40:16 +00:00Commented Oct 16, 2024 at 18:40
- 5$\begingroup$ Key word here is "long-time software dev" With 5+ years in software engineering you don't need a degree to pass the HR sniff test "can this person code?" Its there in your previous jobs. And you will have references that can verify that yes, you know how to program, and are pretty good at it... People trying to break into software development? They don't have a 5+ year history that demonstrates their coding capability. $\endgroup$Questor– Questor2024-10-16 19:33:58 +00:00Commented Oct 16, 2024 at 19:33
- 1$\begingroup$ @Questor I wondered if they were talking about an Information Sciences degree which they already have. It goes without saying that I didn't get my first dev job with 5+ years experience... At the place before my last, a junior joined my team as his first job switching from a totally different sector in mid-life, after going to a boot camp. That team was led by a lead who did the same. It is very true though that entry is tough for juniors now, and the boot camps are far from guaranteeing success. You're right it's harder for people to enter atm. It's still not true that you only can with CoSci $\endgroup$benxyzzy– benxyzzy2024-10-16 20:44:53 +00:00Commented Oct 16, 2024 at 20:44
As a data engineer with a Master of Library and Information Sciences Degree, I can say that a degree in IS will be a great help, but the coursework in most IS programs will not provide many of the required skills. Many graduates of IS programs do take jobs as programmers, developers, and in many adjacent positions. The ones I know who do this usually learned basic computer science and software engineering on their own or in undergrad programs.
Information Sciences courses often focus on metadata, data architecture, and more theoretical aspects of information that are closely related to programming and development. Even when programming and application development courses are offered in these programs, they tend to be less engineering focused than similar courses offered through Computer Science or Engineering departments.
An IS degree may not provide as many technical skills as CS degree, but it can help distinguish you as a candidate who will bring unique perspectives to many programming-adjacent problems that someone with a CS background may lack. Without CS training, it will typically be necessary to acquire programming and application development skills on your own or through bootcamps or self-paced programs. I would not hesitate to interview a candidate with an IS degree for a software engineering role, but I would expect them to demonstrate a level of programming proficiency that exceeds what is typically acquired solely through an IS program.
- 3$\begingroup$ "acquire programming and application development skills on your own" -- I'd say you'll have to do that even with a CS degree. At least when I did mine, compared to all the math, the few practical programming courses were a joke. $\endgroup$Dan Mašek– Dan Mašek2024-10-17 15:50:55 +00:00Commented Oct 17, 2024 at 15:50
Do you need to get a CS degree? No. Technically you don’t. People get/have gotten software development jobs with all kinds of degrees or even no degree. But just because there are outliers doesn’t mean you shouldn’t aim for the tried and true path. It’s tried and true for a reason! And as a professional developer halfway through my second decade of professional experience who has interviewed a good many entry level would-be software developers (location: US), at that level of experience there’s very little for the hiring team to go by in trying to figure out which candidates are the best fit for the company and team. All the candidates have basically no experience by which to demonstrate their skills, and personal projects are pretty much a given and honestly are easily copied/purchased/done by ChatGPT, so I don’t put much stock in them when considering candidates (EDIT: candidates should absolutely do personal projects, I’m just saying that the average personal project alone isn’t enough to get a candidate ahead). You can glean some information by asking the candidate technical questions and watching them do leet code problems, but really you’re left grasping at the tiniest differences between candidates, and what type of college degree they have is 100% something you look at! It can make the difference between getting that first job or not getting it. So…
If you already know you want this career, make it easy on yourself and get a career in CS or Computer Engineering. You’ll increase your standing in the eyes of hiring committees and you’ll learn valuable information that will put you miles ahead of those who don’t go for that degree. This is on top of self-studying programming and programming extensively every day which is a given with or without the degree.
- $\begingroup$ Agreed, I just mean that what most entry-level candidates do to get ahead (a basic personal project) is expected and doesn’t really tell you anything when reviewing them as a candidate. Standout candidates will go above and beyond in the ways you mention and that will definitely help them standout in the interview. Unfortunately they’re pretty rare in my experience at least. $\endgroup$bob– bob2024-10-17 12:34:17 +00:00Commented Oct 17, 2024 at 12:34
- 1$\begingroup$ I edited my answer with a comment to clarify my stance on personal projects. $\endgroup$bob– bob2024-10-17 12:40:43 +00:00Commented Oct 17, 2024 at 12:40
I agree with Ralf Kleberhoff's answer but I'm going to come at it from a slightly different angle. There's a common misconception that a computer science degree is primarily about software development/engineering. In reality, programming is not the focus. It is generally part of getting a computer science degree because you use programming in projects and homework. The only classes I recall taking that were directly related to software development were 'software engineering' (obviously) and 'algorithms' and IIRC the former was an elective. The amount of coding required and varies from program to program and even between professors in the same school. It's not that the rest of the degree was irrelevant, it was just more conceptual.
Coding is to a computer science as typing is to an English degree. Yes, you will probably need to do it, and you may become better at it in the process, but coding isn't the point of CS any more than typing is the point of English.
So, what is the best way to become a software developer? Start coding. Take classes and tutorials. Find opportunities to use it in your projects. A lot of people learn Python through data analysis, for example. Once you can get your foot in the door somewhere where you can work with experienced developers, you will likely encounter more of the conceptual things about computer science that can enhance your programming and design skills. There are also many resources (such as forums here) that can help you increase your understanding of CS.
- $\begingroup$ (+1) I have a CS degree. Professors at my alma mater (Europe, 1980s) were adamant that teaching students how to program was not their job. Besides one introductory course using Pascal in the first semester we were expected to pick up whatever programming languages were needed for classes and labs on our own. Ultimately I learned LISP, Fortran, Ada, C, and IBM System/360 and x86 assembly languages to various levels of proficiency during my time at the university. I did attend classes on software engineering, algorithms, and programming language concepts, but none of them were mandatory IIRC. $\endgroup$njuffa– njuffa2024-10-23 04:36:39 +00:00Commented Oct 23, 2024 at 4:36
Depends on the education system. My country has an actual non-university education and diploma for lower level computer work, including programming. This is classified at a level between a skilled craftsman and a school teacher. This is targeted at doing simpler tasks assigned by a more educated person, and is literally named "EDP assistant" as the formal title.
At higher levels there are multiple Masters degrees with different focus, such as Master of Computer Science (a university degree split off from the old actuary university degree) and Master of Engineering with specialty in computers (a degree from special engineering universities that also offer equivalent degrees in subjects such as chemical engineering, ship engineering and energy system engineering). I personally chose the latter degree, with some classes taught by professors reassigned from other subjects such as nuclear engineering. Prior to beginning college, I had already done a bunch of simpler programming in simpler languages taught at night classes and supplemented by reading most of the computer books at the local public library (about 2 shelves) as well as manuals and system code for the computers I had access to (This was before GNU/Linux, so no access to full system source code for ordinary people like me).
The computer degree I took included a bunch of related subjects such as how to design chips and CPUs, but also a lot of programming theory, such as theory of correctness proofs, halting proofs, synchronization proofs and performance orders of magnitude.
Then of cause, there are the people who repurposed general knowledge from other educations into computer programming more or less related to their education, such as economists writing accounting software.