Are you doing online courses in the hopes of learning to code -> getting a job in ML?

Great thread. I don’t know anything about getting hired into a company but I do know a few things about freelancing.

I switched from iOS development to ML about 4-5 years ago (when I was 38-39) and currently am making a good living doing ML consulting work (remotely).

I think there are a few ways you can do freelancing:

  1. Build a reputation for yourself on sites such as Upwork. I’m not a fan of these sites, but they offer a reasonably easy way to get some experience if you’ve never freelanced before.
  2. Build a reputation for yourself on your own website.
  3. Get gigs through people you know. Hard to do when you’re just starting out, but will become easier over time as you get to know more people in the field.

When I started in ML, I picked a niche: ML on mobile. This was not something a lot of people realized was possible at the time, but it seemed inevitable to me. So I got in early and was able to establish myself as “expert on iOS machine learning”.

I invested a lot of time into building that reputation, by writing an in-depth blog, several books, publishing open source, etc. It’s something that requires maintenance as well — whenever a new efficient model architecture comes out, I need to study it in order to be able to provide my clients with up-to-date information. (This is why they hire me: so they don’t have to do this themselves.)

I’m sure this is also why Jeremy encourages people to write blog posts. But I’d say you need to take it to the extreme: focus on a particular topic (such as recommender systems) and write exceptionally good blog posts about them. Make your blog so good that it becomes the go-to reference for this topic, and clients will come to you.

Show people that you know what you’re talking about, so they’ll hire you to solve their problems.

(Of course, the key is finding a good topic. The more niche the topic is, the easier it is to establish yourself as an expert in it. But of course, if it’s too niche, there won’t be enough clients.)

I believe the same thing is true for getting hired as an employee: you can go on interviews and hope to convince the company to hire you. Or you can first establish yourself as an expert, make the company reach out to you (rather than the other way around), and do the interview on your own terms (for example, it allows you to insist on working remotely). It puts you in a much better position to negotiate if they’re the ones who need you, rather than the other way around.

I’m sure that “become recognized as an expert” sounds daunting, especially if you’re just starting out. But rather than just doing one MOOC after another, do them with a purpose: Take the things that you learned in the MOOC, dive deeper into them, and then write about it. This will 1) make you learn things much more in-depth than other people, 2) improve your skills in explaining stuff (essential when doing consulting), and 3) work towards building up a “portfolio” that demonstrates your skills.

Example: I just spent several days figuring out why bilinear interpolation works differently across ML frameworks and how this affects Core ML (the ML framework for iOS). Not a lot of other people have gone this deep into this topic before – and even if they did, they didn’t write about it. Having in-depth content like that will help to convince people you really know what you’re doing.

(And if you’re worried you don’t have anything to write about: You don’t need to know everything already. I didn’t necessarily know everything about bilinear interpolation when I started writing that blog post. But as this was a problem I wanted to figure out anyway, I might as well put some extra time into writing about what I have learned, which helps to get more work in the future.)

Anyway, not sure how helpful this is. I just wanted to point out that you can take matters into your own hands and market yourself as a capable ML engineer / data scientist, so that companies or clients are more likely to be interested in you than someone else who did the same online courses and read the same books.

21 Likes

“Reality hits hard!”
Hi, nice thread @radek
I am currently doing my B.Tech in EEE and learning AI through this course in the view of implementing AI in Robotics. I hope this course will get me acquainted with the AI knowledge needed in the field of robotics

1 Like

I do online courses to learn skills and develop intuition. I want to have new ideas and be able to implement them.

I fall into a couple categories. I am a forward looking CS student who wants to specialize in this subfield. But I am also in my 30s, adrift in the world, and much of my learning is through MOOCs and personal research.

2 Likes

Sanyam, that’s great to know! It’s inspiring to discover exceptional companies that are thriving & innovating while maintaining a positive, inclusive culture. I’ll be reaching out. :smiley:

1 Like

To anyone else also reading this and (unfortunately) worried about the same culture across tech companies.

Please, feel free to reach out any time if you’re interested in DS Roles :slight_smile:

3 Likes

This brings up an important distinction between “Networking” and “Personal Connection”.

Lambda School has hired people without much of a background/experience completely relevant to them because of personal connections. And they have sometimes ignored those with background/experience who applied through the “networking” route.

I have a friend in the latter who applied for a non-ML related role at Lambda School. They reached the head of recruiting at the time through another employee there. They were asked to apply through the website by the head in an email after being connected through another employee. And this was, I think, before they gained a lot of traction (sometime last year)

This was the day after someone on twitter posted about how they didn’t have much of a background but Lambda School took a chance on them (for a job there, not as a student) because of someone else working at Lambda School whom they knew from before.

That’s the difference between “Networking” and “Personal Connections”.

The “value of personal connections” has additional context and nuances, which recruiters and others, who have gotten lucky (in spite of their hardwork and background), seem to often gloss over. You just don’t form personal connections through networking alone. I won’t even get into how it is for those who find it difficult to network in the first place.

The points you and others mention about how to put yourself forward by doing a few certain things and opportunities can open up are valid. Very much so.

But the reality around why people struggle is not at all around what they can do. It’s around why they are doing something and not moving forward or why they are not able to do the same things as those who are moving forward. Many people who suggest others what they should be doing (and I see so much of this from this entire community, of course that’s meant to be motivating and bears no ill-intent) is not the issue for the rest. And this is in no way to devalue anyone’s efforts and hardwork, at all.

I just don’t think others understand why people fail differently than them. And you will notice this more in those who contribute to or create any online (or even traditional) courses.

Persistence is always mentioned as the key. But I am unsure of that right now given my own journey and observing others in similar positions across lots of domains. It’s more about how a lot of us don’t really understand how to deal with our failure to be able to then persist through that failure. I think that’s where the distinction lies between who might progress and who might now.

Maybe that’s too much armchair psychology for this thread :sweat_smile:

5 Likes

Hi machinethink hope you’re having a superb day!

Thank you for a positive, practical, informative and inspirational post, with methods you have actually applied.

Cheers mrfabuous1 :smiley: :smiley:

In the spirit of this entire thread, and following Sanyam’s advice I have come across over the past year, I will start with my first Kaggle competition and stick with it this time. This year’s goal - Get a Bronze.

And hopefully a(ny) job… but let’s start small with that Bronze maybe :smile:

2 Likes

You’re on the right forums to set you up for a Gold (pun intended).

Good Luck! :slight_smile:

1 Like

Thanks! Appreciate the overall support people offer on these forums!

1 Like

i feel taking up an online course is better for seeking a Job in the field of ML, AI or Data Science because this topics are are blooming in the market these days. i have done the same. why dont you just have a look at the online courses provided by few good institutes.

Hi everyone! @radek: thanks a lot for starting this thread. I think that’s a very important issue to discuss. @ everyone else: thanks for sharing your stories. I decided to share mine as well.

I fall exactly into the problematic category that Radek mentioned. I’m neither a domain-expert learning to code nor a software engineer getting practical ML experience. During my master’s degree in Economics I programmed for the first time in my life at age 25 (very basic statistical analyses in R). After graduating I started to work as a project manager in Business Intelligence and while I liked the job, I really missed the practical experience of building stuff myself. So I set out to learn Python in Datacamp and did some (rather unnecessary) ML courses on Udemy. A big game changer for me was taking the deeplearning.ai specialization, which really got me hooked on deep learning. However, when I tried to start my first project after the course and sat in front of an empty Jupyter notebook, I really didn’t know where and how to start which made me question the whole self-education thing and got me to the point of stopping. I’m glad I didn’t give up though, because then I decided to check out fastai and that’s when things started to change for me.

At this point I had already been talking to my boss for a while about changing my position and after some time he agreed to start a new project that involves NLP and ML where I would be in charge of the entire data science work. So parallely with taking the fastai DL course part 1 I started applying the
very same methods in my own work project. Because I was the entire “Data Science team” in the company, my learning curve was incredibly steep and hard to climb, but after all the project turned into a success.

I also want to briefly talk about locations. I live in Prague, Czech Republic, so I am not located in an international tech hotspot like San Francisco or London. I would be open to remote work, but I prefer to work locally. I think it can even be an advantage for outsiders to work in places other than the well known hotspots. While there aren’t that many job offers available, also the competition on the labor market is much lower. And since more and more traditional companies are willing to try out AI, such places might be good for outsiders to get into the field.

Of course this way won’t be possible for everyone and I also consider myself very lucky, but I wanted to share my story because it may show another option for folks who want to land their first data science job. If you have a good relationship with your boss, you can try to convince him/her to let you try out a project that involves ML (maybe part-time or even on your own time). Choose a small project that is likely to succeed because you most likely will only have one shot of convincing your boss.

6 Likes

Thanks @radek bringing me to this interest thread.

I barely know any programming when I graduated from college, I have only took 1 c++ course.

Before I start my first job, I spend 3 months to finish Andrew Ng machine learning course and Data analyst nanodegree from Udaicity. These are very useful resource at the time, as there are not much resource at the time, Udacity provide a structure that I can begin with.

Not to mention there was 0 degree about data science in my country at the time, so online resource is the only way. I got a BI related job, and get an opportunity to transfer to data science team after one and half year. I start fast.ai in 2017, and follow along until fastai v3.

From my experience, online courses are unlike college degree that can be put on resume, but the skills learnt are very useful. I cannot compare it to college studies since I do not have much experience. I think my skills is taking off at 2018, when I started to make some PRs to fast.ai (they are not significant, but the process of learning how to dig into a code base, getting familiar with linux or cloud, debugging is very useful, arguably much more important than knowledge about algorithm in real life.)

I am curious if people find works remotely or freelancing.

3 Likes

Wow your story resonate with me! We have a similar path…Managed BI hardware/software project development but no practical coding experience. I took Data Camp coding class in Python and found a job as a programmer in the medical field, but no AI yet.

Right now, my day to day is very hard. I’m not in my DataCamp sand box anymore. I have to learn shell, Bash, JavaScript, Networking, Data base, etc… On top, I have to learn the medical slang. The first 6 months were awful

What do you recommend to move toward AI/ML? Build a foundation in DevOps for a few years or try to switch as soon as I can? Was it worth it ? What don’t you like working in AI ?

thanks
David G.

1 Like

Hi David,

Glad to hear that my story resonates with you :slight_smile:

I am sure that your programming skills are a major asset when switching to AI/ML. If you really want to get into the field, I would say don’t wait and give it a shot. In case you haven’t taken the fastai courses yet, of course I highly recommend doing that.

I didn’t switch from a programmer job into ML/AI, so I cannot comment on that. But I am quite happy with my decision of switching from project management to data science. A challenging part of working in AI, in my opinion, is the fact that you usually don’t know in advance what is going to work. And if your approach isn’t working, often it’s not obvious how to improve your solution.

Thank you Stefan,
your comments helps a lot !

To answer your question about taking the class…Yes I did listen to part 1 in fastai V2 in 2017-2018 (videos 1 to 7) and successfully install it on my local machine (which was a pain in the b**!! and took so much time). Then I sat on it a while. Kinda of discourage a bit…and got away from it.

When the new fastai version came out, I bought the book and open a Paperspace account using the their free server(Really worth it!! You save so much time) and I was able to run personal experiments with the vision module.

But, I haven’t done any "production "projects with it and surely don’t master it yet.

1 Like

People decided to hire top freelancers, they are very good payed and are very skilled. can help you to learn code.

First of all thanks @radek for starting this topic. I discovered this post quite late and there might be a chance that this post is no longer that active, but I will post here anyhow.

I am software test Automation engineer based out of Pune, India. I started my career as a Test engineer (no coding experience). Three years into my career I broke into coding (using python) and witched career into Test automation. Then three years after that got interested in Machine learning/deep learning and went through numerous articles, tutorials etc. etc. from both online and offline sources in the hope of learning about this new field, back then ML MOOC, tutorials courses were math heavy and almost all these courses/resources used such heavy mathematical terms that I gave up on learning ML (you see I am not a math person and I am a very slow learner).

Then I came across fastai during the beginning of 2019 and came to know that if taught in a proper way ML/DL can become uncomplicated and you don’t need tons of math to learn deep learning.

After going through the courses and doing some tinkering on my own through my blog and side projects, I started doing small projects in my current place of work. I literally dug our use cases where I could apply simple models to do simple tasks. Even I became ML evangelist for my organization.

By now I had implemented some Deep learning-based tools at my place of work and have done a few projects through my blogs. Since the past 1 year I am trying to switch career to Machine learning.

In India we have lots of startups and companies where Deep learning-based tools/projects are in widespread use. However, there is a lot of gatekeeping across industries here when you try to get into machine learning from some other domain. It becomes hard if you are not a “full stack developer” by profession or an “experienced machine learning engineer” (the magic number is 5yrs. experience into ML).

I would like to know if this is the experience with everyone from a non-ML background here? and what would be some suggestions to change career into a DS role if you don’t have prior experience of being a ML engineer or a Data scientist.

From what I understand there is no clear path in ML. You have to find your own path. If you like it and apply it even at small scale you are already ahead of most people around you. I recently discussed with my old friends from college (all engineers) and I asked them if they would have problems to solve with ML/AI most of them told me no or what is ML/AI.

We are still very early in ML/AI history. Most people don’t know what do to with it. So nobody see a use for it. Hope it answers some of your questions.

Thanks for your comment. You are right that we are in the early history of AI/ML and the best thing to do is to keep going by finding projects to work on.

However, the other part of the truth is that it’s difficult to get into a ML role unless you have the “professional” experience un ML/DL rhat you could show in your peofile. I feel that in today’s time the firms which accept people into this field irrespective of any prior experience in ML,DL,DS would be the place from where innovation would come out.