How to transfer to Software Engineering

Click For Summary

Discussion Overview

The discussion revolves around the transition from a Physics background to a career in Software Engineering (SE). Participants explore the challenges and pathways for someone with limited formal computer science education to enter the software engineering field, including the relevance of internships and practical experience.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant expresses concern about competing for software engineering jobs against candidates with computer science degrees, noting their limited experience with larger projects and certain technical areas like hardware and databases.
  • Another participant emphasizes that software engineering encompasses more than just programming, highlighting the importance of understanding software development life cycles, teamwork, and communication skills.
  • A participant acknowledges the breadth of computer science, mentioning the theoretical aspects and the skills required for large projects, while questioning the best approach to enter the field.
  • Internships are proposed by multiple participants as a valuable way to gain hands-on experience and develop skills that are not typically taught in a classroom setting.
  • Concerns are raised about the potential pay cut and the need to start over in terms of education when transitioning to software engineering.

Areas of Agreement / Disagreement

Participants generally agree that internships are beneficial for gaining practical experience in software engineering. However, there is no consensus on the best approach to transition into the field or the implications of starting over in education.

Contextual Notes

Participants express varying levels of experience and knowledge in programming and related fields, which may influence their perspectives on the transition to software engineering. There are also differing views on the importance of hardware knowledge and the relevance of databases depending on the specific area of software engineering.

lkm49
Messages
3
Reaction score
0
I will be completing a Physics Masters degree this month. I really enjoy programming and want to become a software engineer. I am unsure of how to make the switch. Many of the jobs I have looked at require advanced programming knowledge you would get in a CS degree.

Most of my knowledge of programming is working on smaller projects with the exception of my BS computational thesis. I took several programming classes, about 2/3 the number needed to get a CS minor. However, I don't know a lot about hardware, networking, databases, etc. Most of my research was on data/algorithm analysis. I do know several languages to a basic level (Java, C++, Matlab, IDL). But I haven't worked on any really large projects. I have mostly just taught myself whatever I needed to know.

My main question is how do I compete for software engineering jobs when I am competing against people with CS degrees. I have only found a few that I meet the qualifications because of my physics background not being primarily computer science.
 
Physics news on Phys.org
There is so much more to SE than just programming. There's the ability to know the various software development life cycles (SDLC), good code documentation, code managing (SVN, etc), the ability to adapt to different programming environments/languages based on core fundamentals, etc.

There is just too little that you can do by yourself and call yourself a "self-taught" software engineer. It's all about teamwork and communication. But these days, we even relate "programmers" as "software engineers" and vice-versa.

You do have some background (academically/personal) in programming, which can get you an entry-level SE/programming position. It's just going to be more difficult, since you will need to build up from there. But don't expect a 70k year job as a SE if all you have is just side programming projects you did in school. My company doesn't hire college graduates unless they have SE internships or some professional experience.

As a SE, you need to know almost nothing about hardware (that's why we have IT guys around), unless you are going into a field where you need to program around hardware (ie Intel, NVIDIA); databases is most useful for web-based applications (not so much in just native desktop programming); etc.
 
I am sorry if I implied that CS is just programming. I know it is a lot more. I have a brother that was going into CS. There is a lot of theory and study of the science of computing, not to mention the skills needed for large projects, and making maintainable code.

Most of my experience is working on research projects during my schooling. I have also did a research thesis on making a faster algorithm for molecular dynamics. But I know this doesn't compare to a CS degree for SE jobs.

Is an internship the best way to go? I understand that transferring to SE will be a large pay cut since I will have to start over to a degree. I guess a better way to put my question is how do I get into the field so that I can learn the skills needed to be a software engineer.
 
If you have an opportunity to get an internship, then it's the best way to go. Software development is very hands-on and team-oriented. I managed to grab 2 internships during my Masters into large projects. It's much different to work together than alone, as I have done with side projects and programming at home.

Internships help a great deal. I've learned more in my 6 months of interning than what I did in my 5 years of college. It also builds certain skills that cannot be taught in the normal classroom.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 18 ·
Replies
18
Views
6K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 21 ·
Replies
21
Views
8K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 30 ·
2
Replies
30
Views
11K
  • · Replies 3 ·
Replies
3
Views
3K