How to find a computer vision job as a newbie


#1

I am a programmer who interested on computer vision and trying to find a permanent/contract job on this field, the problem is I do not have any jobs(permanent or contract) experiences of computer vision, to make it worse, my country almost have no jobs about machine learning nor computer vision(third world). How could I make my resume become attractive to employers, even I am not their citizen(outsider)?

What I have tried:

1 : Write blogs, record what I have learned, but none of them are popular
2 : Create apps and small projects based on computer vision technique, none of them are popular either
3 : Contribute to open source project, like mlpack and opencv(img_hash).
4 : Study machine learning and computer vision courses, like fast ai, coursera(Andrew Ng) and pyimagesearch
5 : Keep myself update to programming skills, like new standard of c++(c++17)
6 : Participate kaggle competition, best scores are top 6% and 7% (acceptable but not great)

Apparently, these are not good enough for me to earn a job, how could I make my resume become stunning?

Is implementing algorithm of paper every week and write down my experiences on blog going to help me?
In my ex experiences, every companies I apply, the employer do not care about my blogs or open source projects, they never ever pay any attention on it, they only care about my work experiences and degree, but none of my work experiences related to computer vision or machine learning.

Thanks

ps : I am implementing LinkNet by PyTorch


(Bhabani) #2

I think this may give you a few insight :-

https://www.quora.com/How-do-you-suggest-the-learning-path-of-machine-learning-and-deep-learning-without-pursing-a-PhD/

Thank you


(dsteele) #3

I’d suggest doing some good old fashioned networking. It sounds like you’ve done some of the hard work already, now it’s time to get out there! Hopefully you’re in an area with some meetups that you can attend. If not, I’d suggest finding some conferences and talk to anyone and everyone. Good luck!


(Brendan Fortuner) #4

Hi Tham,

That’s a great question. I don’t know the answer, but I have some ideas.

I live in San Francisco, so my experience is different from yours in many ways, but in other ways it is not. Even here in SF, arguably the capital of the tech scene, employers still care primarily about education and work experience. Additionally, despite the amazing progress we’ve seen in deep learning, most companies don’t use it and the companies who do often rely more on traditional ML techniques since they’re easier/more practical.

This leads me to some thoughts:

If employers want to see work experience and a degree, perhaps it makes sense to get some work experience and a degree? I would also try if possible to move to a country/city with more opportunities, and set your sights on a data science internship, rather than pure deep learning job. Do well at the internship, convert the internship into a job, then actively try to incorporate ML into your work. I suspect after a few years of this, employers will be more open to considering you for ML/DL positions.

  1. Degree - Depending on your finances, it might be worth checking out GaTech’s online masters in CS (with ML specialization). https://www.udacity.com/georgia-tech. I’m sure there are other programs like this. I don’t think Udacity/Coursera certificates are sufficient (yet) to convince employers by themselves.

  2. Work experience - Instead of aiming directly for deep learning jobs (which are very difficult to get as you mention), I would aim for jobs in Data Science, Data Engineering, or even Software Engineer. These roles are more plentiful, and if you’re a good employee, you might have the opportunity to move into a more ML/DL centric role after awhile. This is what I did at Amazon, moving from Business Analyst --> Data Engineer --> Software Engineer.

  3. Location - I understand if it’s not feasible for you, but it’s an enormous advantage to live in a large city with many tech jobs. For example, earlier this year I got in an Uber with the head of data science at a startup downtown. I told her what I was working on and at the end of the ride she offered me an internship. Every week I meet new people who are pitching me projects or introducing me to new people. It’s a sad but true fact that where you live still matters in 2017. Hopefully not much longer though!

  4. Networking - Have you crawled LinkedIn for people from your University/hometown working in startups/tech/etc? Have you cold-emailed people you admire who work in ML for career advice?

  5. Skills - How’s your python? Are you comfortable with Numpy/Scikit-learn/Pandas and one or more of Pytorch/Keras/Tensorflow? Python is dominating deep learning today and I suspect employers will be looking for experience with python-based tools. Also how’s your SQL? I’d guess 90% of companies today still store their data in SQL tables. At Amazon as a business analyst and data engineer I spent about 30% of my time writing SQL queries and getting the data back and forth.

If all else fails, you can just trade crypto with high leverage and take your chances :wink:

Brendan

PS: Your portfolio and blog posts look great. I would consider cross-posting your blog posts on medium.


#5

Thanks for every suggestions :slight_smile:

Never tried that before, it take some courage to do, i think I should at least give it a try.

Thanks for the suggestions of trying out another position

Thanks for the courses.

I consider my Python skill as average or under average, because I never study python systematically(I read more than 10 books about c and c++, study blogs and keep track of new standard, yet I do not have confidence to say I am an expert of c++). Consider to read this online book.

I am comfortable with Numpy and PyTorch, but do not familiar with another tools yet. For a simple convolution network, Keras is easier to write and read, but when your network architectures become more complicated, I find PyTorch is more flexible and easier to use, although I need to write more codes in PyTorch, at the end the codes are easier to maintain

Entry level I think, although I know some SQL but never use it to manage complicated/big data.

Thanks


(Matthijs) #6

I’ve been focusing on deep learning on mobile for a little over a year (since Apple announced Metal Performance Shaders at WWDC 2016). And the major use of deep learning on mobile right now is for computer vision.

I currently have no shortage of clients, thanks to my blog (http://machinethink.net/blog) and open source that I wrote (https://github.com/hollance). I am based in Europe but my clients are from all over the world.

My point is: computer vision on mobile is hotter than ever, thanks to deep learning, and there are not enough people who understand deep learning and can implement it on mobile (my clients do iOS mostly but I also get requests for Android). So maybe this is a niche that you could specialize in.


Questions on semantic segmentation
#7

Thanks for your suggestions, codes and blogs. They give me another hope. I never though many people interested on this.
I never tried that, but I think I can do it by Qt5 and the opencv dnn module(I guess it wouldn’t be hard, but it is hard to tell until I try it, besides, performance is another problem), after my implementation of LinkNet is done I will create a small project and write down how to deploy deep learning on my cheap android phone(I do not have ios, cannot try it out, but the codes written by Qt5 should be able to run on ios), maybe I will write down how to do semantic segmentation by ENet(LinkNet is fatter, 4x MB)


(alex) #8

I’d definitely +1 for talking at meetups and conferences.

Almost all of my clients have come from giving talks at meetups and good ol’ fashioned in-person networking…

Good luck!