Looking advice to switch career into software developer

Hi!
I’m finishing a PhD in Mechanical Engineering and although I could keep going that way, I’d prefer to switch into something software related. I don’t know exactly what yet, but I really love coding.
The thing is that I had plans to work in the country for over a year and I was going to use my spare time to figure this out but the pandemia came in and I don’t have that opportunity now.
As a result I’d like to get a job, or freelancer projects, as soon as possible (in a month or two would be ideal), to earn money and be able to pay for the luxury of eating and living, among other cool stuff.
The thing is that I really don’t know what path to take to do that. I have a good knowledge of algebra, math, statistics, algorithms, python (numpy, pandas, pyplot, sympy, scipy). I was thinking maybe Data Science? For that I’d need to pick up Machine Learning for what I’ve been reading, also SQL.
Web Development seems like a good option too, I’d have to learn JavaScript and practice a lot with HTML and CSS. This interests me a lot too, but maybe it will take me more time? Because I have a less related background, I believe.

In conclussion: do I get on with a Data Science path, or a Web Development path, or maybe none is a plausible option for getting freelancer projects within a few months?
Thanks in advance for any advice,
Cheers!

1 Like

Coding jobs for PhDs are niche but pay well. You won’t get paid as well in entry level Web Dev. Have you participated in the open source community around data science packages? That’s often a good way to find contacts. Depending upon your background, FEM pays well too and has a good community. Depending upon your experience with coding for data science, often advisor/committee member/department contacts will get you a job fastest.

3 Likes

Hi Jeremy, thanks for your response :slight_smile:

I haven’t really participated in the open source community, but I’d certainly like to. Do I just look for projects in stack exchenge or github? I have seriously no idea how to get in touch with the open source community (I haven’t been an active member online, but I’m looking forward to change that).

Regarding the coding job for PhD part, I’d like to get there eventually but I think I’ll need maybe a year of study before start applying. I have some FEM knowledge (Finite Element Method right?), mainly in CFD. Maybe I can live on that until I’ve worked in some Data Science open source projects.

I’d start looking at packages you use a lot that have GitHub repositories. You’ll want to make sure you can use the package to solve data science problems, and I’d encourage you to use the project mailing lists to ask questions as you try to use their code to solve your problems.

Then I’d look at the GitHub repositories of these packages. They will have an issue tracker where they have listed issues they want fixed.

TensorFlow, for example, has a list of bugs they think would be good for people to start out on.

If you make a fork, code up a fix, and open a PR, a lot of these communities are pretty open to helping you build good code that adds to their tools.

Even if you aren’t sure how to fix the problem yet, this gives you a sense of what sort of skills you need to be able to code with and for open source data science packages.

I personally know the open source Finite Elements community (solid mechanics and CFD stuff). I’ve done the same thing I recommended above, but with FEM related packages like PETSc and MFEM. (I also had the benefit of my advisor working on a new FEM library right as I started working with him, so I have a lot of work on GitHub by now, which will help me get a job).

1 Like

Thanks again mate, really helpful information. I’ll just get started then, better late than never.
Cheers!

1 Like

If your close, I’d finish this so you can get the PhD.

To go from 0 to freelancer in 1-2 months is nearly impossible unless you can find a job that requires some of your existing skills and knowledge as a Mechanical Engineer. The timeline and job market is tough enough without the current pandemic, put the pandemic into the works and just getting any job anywhere becomes difficult.

Basically if you want to become a web-dev in 2 months for freelancing your probably not going to make it due to the difficulties of breaking into the market, potential lack of jobs from the pandemic, and your background. You could try to flash around your academic profile, which might open some doors, but with limited relevant experience things will be rough.


I’d personally look for data-science jobs available and build toward that, pandemic or not. If you already have experience with python and data science libs, you should be a good fit for a number of jobs. (Machine learning would be a nice to have depending on the job).

I would not go into web development, since its “far” from your background, and current skills. Your welcome to go out and learn it to expand your own knowledge, but I wouldn’t focus on it for freelancing.

I’m also not sure if there is a freelance data science market out there, or at least I haven’t heard of one. I’d look for an actual job(s) you can apply too instead.

Generally getting a job is hard enough, with the pandemic going around things only have gotten harder. Many companies wont be looking to hire during this time, so if you have any networking connections I’d try the out now if you can. Regardless now is a good time to spend time trying out new things, learning and setting yourself up for when the pandemic loosens up.

Good luck, stay safe and keep learning!

1 Like

Thanks for the response!
I’m definitely finishing my PhD, that was never out of the picture, but thanks anyway for that advice :slight_smile:
I know that web development is “far” for me right now, at least compared to Data Science, but I also feel that landing a Data Science job is harder and right now the market is really hard, so I thought that maybe learning web development would give me the chance to work earlier this year? I don’t know, I can’t set my mind about it…
Anyway, nice input, thanks!

web development part , you need to decide if you wanna be a front end developer or a backend developer and u can do both (full stack developer ) , start from front end, learn html , cas ,is, and some frameworks like angular , react And js library like jquery

2 Likes

It’s said that what one should pursue in a “career” is the venn diagram of 1) what you’re good at, 2) what you like to do and 3) what someone will pay you for (of course!)

I’ve been involved with web / software development since the 90’s. Having foundational skills in HTML/CSS/Javascript is handy because that’s always there to help you display what you’re working on. The catch with the front-end stuff the industry changes so fast and so much of the available work is marketing driven it can be a grind to keep up with the latest shiny UI gizmo (though some people really like that).

Marketing work can also feel “low calorie”, looks pretty but everything is thrown away so fast. For years I managed to specialize in educational web clients but it takes a long time to build up a stable of clients.

Personally I’m going the data science route as looking for insights and telling stories based on them speaks to me more.

1 Like

Here’s another idea. When I was an undergrad at Carnegie Mellon I eventually got a part-time staff job. Didn’t pay much, actually paid less than my other job delivering chinese food, but it’s actual industry experience putting hands on keyboards.

2 Likes