Switching careers to software development

In summary: Congratulations!Ditto! Congratulations!In summary, the conversation discusses the challenges of transitioning from an academic career to a software development career due to the pandemic and offers advice and resources for those making the transition. The conversation also highlights the importance of understanding business context and the availability of job opportunities in different countries. The original poster also shares their success in finding a job as a developer through showcasing their projects on GitHub and LinkedIn.
  • #1
173
18
Hi all

In my country, and with the pandemic aggravating affairs, an academic career seems unlikely for me at the moment. It's what I have been preparing for, I finished my PhD and started looking into post doc positions nearby, but no luck so far. So people advised me to try becoming a software developer. I have programming skills, I have tinkered with machine learning, so it should be possible. But in practice things are a little harder. I have no prior experience working in the field, I know little of the terminology they use etc.

Anyone who made this transition, care to give me some advice?
 
Physics news on Phys.org
  • #2
I didn't make the transition but am familiar with books on ML.

The best ones I've seen are:

- Hands-on Machine Learning with Scikit-Learn, Keras and Tensor Flow by Geron

https://www.amazon.com/dp/1492032646/?tag=pfamazon01-20

- 100 pg Machine Learning book by Burkov

https://www.amazon.com/dp/199957950X/?tag=pfamazon01-20

An honorable mention would be the Machine Learning Cookbook.

The most popular ML development language right now is Python although people do use Matlab, and Julia with code converted to Golang and Java for production level code.
 
  • #3
I went physics -> actuarial -> data science. It has worked out very well for me.

I think Jedishrfu has a great list. Let me add to that a couple of others: 1) Elements of Statistical Learning, 2) Machine Learning by Murphy, and 3) any good undergraduate optimization book (e.g. Optimization by Chong and Zak). Remember - every statistical and machine learning model has an optimization process at its core!

I would also suggest grabbing some basic books on classical statistics and work through them. You'd be surprised how often analytics candidates with strong scikit learn/tensorflow/etc. experience get crushed by interview questions like "Describe what a confidence interval is" (the answer is trickier than it is given credit for). Both Google and Facebook will ask such questions for some roles.

Another piece of advice I'd give is that 100% of data science and machine learning is about people. It's about human beings making decisions. The models are being used for something, and without a strong understanding of the business or operational context, the work is wasted. A question I like to ask people is "Why would a model with a very low cross-validated error lead to spectacularly bad decisions?" Try to understand how these tools are actually used in business, why they can sometimes add spectacular value, and why they fail so often.
 
  • Like
Likes jedishrfu
  • #4
diegzumillo said:
In my country ...
Is it a secret what that country is? It might matter. For example, if it's India in particular you would be up against a HUGE number of people already in the computer field. Probably the same with China. That doesn't mean it's necessarily a bad idea but it would certainly be something to be aware of.
 
  • #5
Since you already seem to have at least some academic experience related to data science and software development, my opinion is that you don't necessarily need to do anything except start applying to the kinds of jobs you want in the tech field.
 
  • #6
phinds said:
Is it a secret what that country is? It might matter. For example, if it's India in particular you would be up against a HUGE number of people already in the computer field. Probably the same with China. That doesn't mean it's necessarily a bad idea but it would certainly be something to be aware of.
In other posts, the OP has indicated that he/she/they are from Brazil. See the following (including your response).

https://www.physicsforums.com/threa...ents-outside-of-academia.994239/#post-6398713
 
  • #7
StatGuy2000 said:
In other posts
OK, so NOW I know and I appreciate your wanting to be helpful but such information, when not presented in a thread is not helpful if you can't remember it (and I can't remember ANYTHING). He should either have it in his profile or have mentioned it as part of his question.
 
  • #8
You are right. It did not occur to me this was important information.

But if anyone's curious, I did get a job as a developer! :) Good benefits and decent starting salary. I still feel bad about leaving the academia, and hopefully I can still integrate physics research in my life.

For anyone in a similar situation here is what I did: I uploaded every project I had to github and made them public. In my resume, since I didn't have any work experience, I just described some of the projects. The resume has a link to my linkedin and my github account.

I start only in October though.
 
  • Like
Likes Locrian, PeroK, phinds and 1 other person
  • #9
diegzumillo said:
But if anyone's curious, I did get a job as a developer!
Glad to hear it. Congratulations.
 
  • Like
Likes diegzumillo
  • #10
phinds said:
Glad to hear it. Congratulations.
Ditto!
 

1. What are the benefits of switching to a career in software development?

Switching to a career in software development can offer a variety of benefits. Some of the most common include higher salaries, job stability and growth opportunities, the ability to work remotely, and the opportunity to constantly learn and improve your skills.

2. Do I need to have a background in computer science or programming to switch to software development?

While having a background in computer science or programming can be helpful, it is not always necessary. Many successful software developers come from diverse backgrounds and have learned coding skills through online courses, bootcamps, or self-study. With dedication and hard work, anyone can make the switch to a career in software development.

3. How long does it take to switch to a career in software development?

The time it takes to switch to a career in software development can vary depending on your current skills and experience, as well as the intensity of your learning and practice. Generally, it can take anywhere from a few months to a year to gain the necessary skills and knowledge to land a job in software development.

4. What skills do I need to have to be successful in a software development career?

Some key skills for success in a software development career include problem-solving, critical thinking, attention to detail, and the ability to work well in a team. Strong coding skills in one or more programming languages such as Java, Python, or JavaScript are also essential. Additionally, having a curious and constantly learning mindset can help you stay on top of new technologies and advancements in the field.

5. Are there any specific qualities or characteristics that make someone a good fit for a software development career?

While anyone can learn the technical skills needed for a software development career, certain qualities and characteristics can make someone a particularly good fit for the field. These include a passion for problem-solving, a love for learning and continuously improving, the ability to think logically and creatively, and a strong attention to detail. Good communication skills and the ability to work well in a team are also valuable qualities for success in software development.

Suggested for: Switching careers to software development

Replies
8
Views
1K
Replies
8
Views
2K
Replies
9
Views
1K
Replies
9
Views
839
Replies
7
Views
284
Replies
2
Views
1K
Replies
17
Views
1K
Replies
5
Views
1K
Back
Top