I would love to pivot my career from traditional backend/frontend web development type work towards, but I'm struggling to put a plan in place.
- What would be the main topics to learn? - What are potentially relevant companies to apply to? In the past I've been wary of companies throwing AI words around, as in reality many of them were just using some basic ML models and calling it ground breaking AI to hype investors and potential hires.
All of the hype is creating overinvestment on the side of "producers" of AI. All that overinvestment will mature at roundabout the same time. When it all hits the market at the same time, they'll have to fiercely compete with each other at the same time as having to deal with "reality" kicking in, i.e. learning the difference between hype and real demand to create real value for real paying customers. There will be massive oversupply.
You'd have to find some way to be short that thing, i.e. to somehow take the other side of that trade.
You want to be on the receiving end of that investment with no exposure to the crash that will follow (if any). For example, if you had an AI background now, you could start an AI school. Your customers would be people taking the hype at face value. You'd take their money now, but when it later turns out that the skill isn't worth in the job market what they thought it would be, you're not exposed to that. ...that's what acting school does for wannabe Hollywood superstars. Running an acting school for wannabe stars is definitely a better business than trying to actually be a star.
Sorry if I sound jaded in those comments, but I have mostly been employed as an AI practitioner since 1982 and I have seen severe cycles of plentiful AI work and little available work.
I really recommend having a generalist’s mindset, and adding data prep/model building/deploying models as yet another skill.
I mostly use deep learning now, and Andrew Ng’s online classes are very good. If you just want to have fun, you can read all of my recent AI books on my https://markwatson.com site, but to be honest I do less teaching of fundamentals and more just offering fun small programming experiments. In addition to Andrew Ng’s classes (still on Coursera?) I have found https://www.edx.org/ classes really useful and most can be taken for free.
I also recommend signing up for OpenAI’s APIs. I spend very little money for a lot of use, and I have all but given up writing my own NLP code, something I have been doing off and on for over 30 years.
I have a difficult time imagining what the future AI work landscape might look like for you but my guess is that tooling and applying new theories will keep getting easier and more people will at least have ML on their resumes. This is why, for both employability and work enjoyment, I recommend the generalist mindset.
Nevertheless the above caveat concerns the overhyped "AI/ML" space. Digitization, quantification and automation of information flows is much more general phenomenon and with a more modest investment in statistics / data science you can be part of this general trend of productionizing "analytics". Just don't expect bubble era FAANG salaries. These were the product of very specific conditions.
If a general data science transition works out for you and you are still interested in the AI/DL/ML bandwagon after you are in better position to understand why and how it works you could easier drift into that space later as it is just an extremely specialized subset of that world.
- researchers - math and stuff, optimizing training, inference, reading tons of research papers, writing papers, implementing low level algos, a lot of trial and error work - that is like 0.0001% of the entire community,
- integrators - building workflow front-ends, wrappers, PS plugins, optimizing the stack, doing some Dreambooth training, tinkering with high-level Python, 0.1% guys,
- users - running one-click tools or just clicking thru some AI-art generator webapp, participating in reddit d* size contest, spreading the news, writing sensational articles for mass audience, hype preachers on YT, designers augmenting Photoshop skills, the best are trying to monetize the tutorials and AI-artwork, 99%.
All that reminds me a bit of "blockchain" career hype cycle which is now fading. For now it is all "vitamins" (vs painkiller).
I will definitely play with more of it on the side. But for now I am back to my boring and stable devops/backend web job, I see a lot of K8s pains to kill :)
Here is a random PhD job opening in Stockholm, that I just got send. I know the professor he would be very happy if someone with industry experience showed up:
We have a PhD opening in my group, addressing “event-based vision in challenging automotive environments”. https://kth.varbi.com/en/what:job/jobID:560761/type:job/wher...
As for myself, I consider several options. First, create a robot with computer vision, probably walking, doing something useless. With this proof of skills join robotic startup. (plus those 20++ years, CS, some experience building / training, reading, PyTorch, and so on..)
Second, create novel model solving existing problem, which many tried and nobody does well yet. I tried with promising results, and have ideas how to do it better. If it works then either a paper, or a product.
Third, put together models from different domains to create a useful product. Probably will have to reimplement some of them. There is so much free stuff around that it's almost a crime to not to use it.
Forth, keep current job and have AI as a hobby which may one day become a job.
Wow, I must admit that out of all big branches of computer science AI/ML is the least exciting for me. I don't know, but all that unreliability is just putting me off.
I do agree that it's better to have something automated in 90% instead of 0% or 40%, but the impossibility to getting it to 100% is annoying.
It's been like over a decade of huge hype on AI/ML and yet I feel like biggest applied AI/ML that affects my life directly or indirectly is search & ad industry or things like chat bots, but it's mehhh.
I don't believe in autonomous cars based on computer vision
If I were you I would leverage your existing knowledge in robotics and see how AI might apply there.
For example, computer vision will very likely be a major part of robotics. I could also image that there will be Speech2Text models where you can just tell a robot what to do. However, the main driver here is not necessarily the AI model but the people understanding how to use it in the context of robotics.
I would argue that plain AI/ML is highly scientific work and unless you have a PhD in ML or a similar field it will be extremely hard to get into it. Applying models, tweaking them for your use case and all the work around that will create the actual value in most applications.
- Get your PhD and try to become a researcher at one of the labs. Super crowded now, but basically the only way if you want to do research.
- Become a ML engineer, data scientist, etc. While you will be working with ML models and understand them to some extent, you may find that it's not exactly what you wanted. You'll likely end up spending most of your time on the same old engineering stuff: Calling into black-box APIs, data engineering, iterating on hyperparameters, building experiment pipelines, dealing with cloud scaling and setting up GPUs, etc.
For example, if you take a look at GPT, 99% of the work that has gone into it is standard engineering/scaling work, not AI-specific work.
Apply to SWE roles in companies that specialize in AI or ML. Tell them you are a veteran SWE and the work they are doing excites you. Find a place where you can keep using your SWE skills while you get paid to learn AI or ML concepts on a practical level.
There is a huge demand for SWEs who specialize in specific industries and are not considered more generalized SWE. So first try to become the SWE with an AI interest then look into AI focused roles.
Without Phd in ML your chances for any leading AI company to hire you to work on SOTA ground breaking models as researcher are near zero, unless you are fine with devops/support roles. As to normal work of ML engineer on not ground breaking stuff it's actually really boring. You’ll spend a lot of your time just collecting + massaging data, slightly tweaking parameters to see tiny incremental improvement in your model.
Is this fear justified? How should I proceed? Is software development dead? So many questions and uncertainties...
Collect data from field, cleanse, and then feed to ML. Lots of work. Especially the organizing, cleansing side, which can be pseudo automated upto a point and then manual process the rest.
This data collection for ai already has a large market. And if you want to get involved in ML/AI, either you need to buy data from the market, or do the heavy lifting of collecting processing by yourself.
AI was not on my radar as a realistic career option until the startup I was working for got acquired by . A couple years after the acquisition, I started exploring options and ended up taking a transfer to an AI SDK team (even though I had no experience with AI at the time.)
I build tools for the people doing the actual AI work, so in my case, it was more useful to know how to talk to users and build systems to steer people toward best practices. I'm learning more about ML/AI on the job, but I was productive from day 1 because of my software engineering skills.
I'd look at companies doing AI and see what they're looking for. You might be surprised at how much overlap there is with your current skillset. If you learn some AI skills on your own and look for jobs on the tooling side, you can probably stand out from the crowd earlier than you'd expect.
The next group of ML practitioners are data scientists or ML engineers in smaller technology companies and startups. Their work involves applying advancements in these areas to improve their products or services. Very rarely do they do research oriented work. You could look into applying for such roles. An ML engineer role would be more suitable given your background. My advice would be to get your hands dirty and try to build a product on top of some ML model. It would give you some experience in model deployment and MLops type activities which companies often look for.
- Mainstream vision/text/speech, something Huggingface et al do. The classic advice where you learn SGD, stack net layers and put loss, train, deploy on web, clean and collect data, retrain
- Hardware accelerators, inference and training. Check out startups like tenstorrent, tinygrad, mythic. Also involve compilers, net graph data structure and good software frontends and abstraction to hardware to write models onto hardware.
- Anything else, applying ML for finance, manufacturing, oil and gas, all those boring but important stuff
https://www.linkedin.com/jobs/collections/recommended/?curre...
Computer Vision Engineer Lawrence Harvey Boston, MA On-site 4 days ago 158 applicants
$160,000/yr - $220,000/yr · Full-time · Mid-Senior level 51-200 employees · Staffing and Recruiting
https://github.com/AMAI-GmbH/AI-Expert-Roadmap
Interactive version:
What made you change opinion? Afaik, nothing has changed in the field except the amount of hype surrounding it.
Disclaimer: I don't work in the game changing language model stuff, so maybe I'm the wrong person to answer
But I'd kind of assume basic ml models are one of the essential prerequisites, so go read Elements of Statistical Learning if you haven't already?
As things stand today, here are some things to start with:
- Python 3 - PyTorch - Transformers
Some overarching advice:
Write your own code when possible. Test it with the most realistic data you can find. Iterate over your models and code, always.
There is no magic. It is all software.
Something like I supply an article and the AI optimizes it with well known techniques that help learning the conten, etc.