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

I’m really sorry to hear that-even though I do recognise the stereotype in the industry.

Luckily, I currently work at one where this is not the case at all-please feel free to reach out anytime-we are expanding our team :slight_smile:

2 Likes

Hi much_learner,

I’m trying to get started on my first kaggle. Would you be willing to mentor me some? I am a strong software developer, and happy to add value where ever you need it.

I can see how doing things that might seem impossible to us or that we fear might be valuable.

At the same time I also believe that going against the market or doing things in an unnecessarily painful or roundabout way is quite silly. Especially if one is responsible for more than only their own survival (for instance, has a family to support).

The tens of thousands, maybe hundredths of thousands of people on youtube who want to pursue a career as a singer, the young kids in Argentina who want to be the next Messi. What are the odds of that? Why subject yourself to situations where odds are not in your favor especially when market pull is so amazing to experience?

I feel there must be more nuance to how we guide our efforts.

Initially I tried to become good at doing ML by recreating the academic curriculum and pursing it on my own. I don’t think what would happen if I were more relentless in my pursuits, if I stayed the course for more than the 1 or 2 years I invested into it. Probably not a whole lot apart from burning out and becoming bitter.

I sometimes hear people claim they achieved this or that because of hustling, long hours, not sleeping enough. Based on everything I know, this is survivor bias speaking, or in other words attributing ones success to characteristics that make them feel good about themselves rather than being honest.

There is no glory in seizing an opportunity when it arises, taking advantage of favorable conditions to do something, playing to one’s strengths or being lucky. It is much better to claim that “I achieved success because I threw myself in the fire and came out victorious, I own it all to me, you can be just like me if you hustle enough”. But I feel the first set of conditions is what most of the success out there can be attributed to and the hustle part is completely unnecessary, is probably harmful.

I just would be very cautious in emphasizing talking oneself into adamantly pushing in any one direction. I have never needed to do so while I can easily trace how a lot of privilege, lots of luck and doing things in a very effective way (something I learned nearly exclusively through fast.ai courses) played immensely into me becoming employable in ML. And pursuing something I genuinely cared about.

To me, all this still remains an open question to a large extent, really appreciate having a chance to listen to your thoughts and learn from your life stories :pray: :slight_smile:

7 Likes

This seems off topic to the discussion we are having. Would appreciate if you could please discuss this somewhere else, a PM or another forum thread would seem more appropriate.

Thank you for your understanding!

I keep finding a better way once I start moving towards something. Without actions my theory about how this works or how to better achieve this proved useless.

There’s no achievement or self growth in being lucky.

1 Like

Dear @Ekami

I am seriously considering upwork after your suggestion. Thank you for sharing your experience with us :pray: Especially when it seems, freelancing comes with almost no problems that I mentioned in my previous rant.

And that led me to check your work history in upwork and @jamesrequa upwork profile. Hats off to both of you :cowboy_hat_face: You’ve made a truly impressive profile out there. Especially to note that James has no programming experience before switching to DL self-learning in Udacity and Fastai. Very inspiring!

Perhaps searching for a DL job is not the way to go. It seems freelancing works better, and I think it is indeed the future. Win-win for both parties. Less expenses and more agility/flexibility for the corporate side and better pay for the freelancer. Of course I can see the drawbacks too (mainly the instability of the income while job is a more secure option). But providing all the issues mentioned in this excellent thread (thanks @radek :heart:), maybe this is something we should at least try, after all.

I am genuinely interested in your experience in the freelance world and appreciate, if you or @jamesrequa or anybody who tried freelancing platforms before to share the experience in the freelancing “non-slavery” :slight_smile: approach to work for a living in DL:

  1. Do you consider your freelancing job income stable enough to make it as a primary source of income for a living?

  2. Did you use fastai or even pytorch in your freelancing project?

  3. When you create a proposal for an upwork client, do you specify the framework type whether it is Pytorch/fastai or Tensorflow?

  4. Upwork and other freelancing platforms are highly competitive. What are the main points that you should emphasize on in your proposal to win the contract?

  5. What are the pros and especially what are the cons of freelancing in upwork or other platforms in general?

  6. Any advice for your siblings in the fastai family, on how to begin and what to avoid or any take away from your past experience in freelancing?

I can see from your upwork profile that you are an Android developer. I have quite a bit of Android dev experience too in the last couple of years (so far 11 apps, 250K downloads, 4.8⋆ and ~3K reviews, which is not quite impressive for freelancing, but planning for a better future moonshot project). So this is something that I have considered seriously as my primary job search after discovering all the issues with ML jobs.

  1. Why you have not considered to emphasize on Android app development too, beside your DL portfolios in upwork? Two professions should be better in upwork jobs hunting, no?

  2. If you had to choose either Android dev or DL and not both, why you had preferred DL over Android dev.? If you would had to take the ordinary job route, would be your choice different?

  3. Did you ever try to take a project for mobile DL model deployment? Since this would be a prefect match to your expertise as Android + DL which I think, not many freelancers possess, and you could charge even more for niche applications like this…

Thanks again for the heads up. Hopefully your post will inspire many to pursue a better way to approach DL jobs :slight_smile:

5 Likes

@hwasiti

I’ve already asked all of these questions and a few more to Tuatini on my interview here:

8 Likes

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