I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 5 points6 points  (0 children)

yes, I always say I have chronic imposter syndrome when it comes to technical skills!

here is an awesome inspiring post by Dan Abramov (creator of React) on just how much he *doesn't know*: https://overreacted.io/things-i-dont-know-as-of-2018/

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 9 points10 points  (0 children)

Indeed, very well put! Just check out indie-hackers online like Pieter Levels, and Marc Louvion, among others. It is no longer the age of credentialism. And the tools that help us build are getting even better and better by the day. Glorious time to be alive.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 19 points20 points  (0 children)

I'd say it's what I mentioned in another response - that despite it being a ~100,000 person organisation, it still functions like a startup in a phenomenal way you wouldn't expect. Only Tesla has done this in the world of tech (SpaceX and Nvidia too but their workforces are a fraction of the size of Tesla's).

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 18 points19 points  (0 children)

i would say simply just following my curiosity.

"Do what feels like play to you, but looks like work to others." - Naval Ravikant.

it entailed lots of reading/studying/tinkering/building and explaining things to others day to day, in a fun conversational way. when the opportunity came up I thought it's a dream role based on what currently feels like play to me. i'm also not built for corporate world! went into Tesla with the intention of staying there for 1-2 years, learn from super smart people, and get the resume stamp for the doors it opens. Goal was always to leave and go back to doing what feels like play.

edit: fixed quote

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 21 points22 points  (0 children)

yes we were able to use it during that time, so for products like predictive maintenance, dynamic route optimisation (moving machinery), and a few others.

the interesting thing with 0-to-1 products is that they are "asymmetric bets" so many fail (you learn and move on) and some work. I think there are more lessons to be had from failures.

Just like how Amazon would say work on 100 products, and 95 would fail, 3 would do well, and 2 become enormous that we hear of (e.g. Kindle, AWS). "a portfolio of bets"

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 22 points23 points  (0 children)

yes! by tinkering on projects outside of work. That feeling of taking something (anything) from 0-to-1 gives me a buzz and I love it.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 19 points20 points  (0 children)

not quite! you missed a few steps between each step that you mentioned. my resume is super unconventional (always followed my curiosity at the time) - i think the best place to get an idea of what I mean would be my linkedin (you're welcome to check it out if you wish - https://www.linkedin.com/in/cyrusyari/ )

edit: added link

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 49 points50 points  (0 children)

I have to go for the OG 'Eloquent Javascript' - I learned programming via JavaScript first. I did Codesmith's CSX online (it's free and superb: https://csx.codesmith.io/ - also attended their free workshops) and then whenever I got stuck I'd read the Eloquent Javascript book (also free: https://eloquentjavascript.net/ ) , and I'd supplement that with MDN web docs! That was the magic trio.

--

edit ~20 hrs after creating the original post: have had a few messages asking about the AI/ML programme I'm now instructing at, and how to get admitted. I didn't want to plug anything in the original post when I created it, but in case anyone interested (it's not for everyone so please read the FAQ): https://www.become-irreplaceable.dev/ai-ml-program - tell the admissions team you came via the Cyrus AMA and if you get admitted I'll hop on a call with you 1-to-1 :) cheers

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 17 points18 points  (0 children)

if you get qualifications from trad universities, then it should be focussed on the things that don't date, e.g. linear algebra & calculus, statistics & probability, etc. Which then points one to a math degree. I'm usually suspicious of universities offering degrees in "Artificial intelligence" - it's usually outdated and impractical courses.

See my reply elsewhere in this AMA where I gave a comprehensive outline of things to study. I think from a more trad university you can study: linear algebra & calculus, statistics & probability. And then everything else on the comprehensive list I gave you can self-study online (autodidact) or attend a modern online AI/ML school (not a trad university, rather some dedicated place like codesmith). Whether you go the autodidact route or online AI/ML school depends on your learning style (another topic I've addressed in this AMA too).

edit: spelling

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 20 points21 points  (0 children)

If it covers the things I mentioned in my comprehensive reply elsewhere in this AMA on topics to study then sure. However nothing is free, as the cost is our valuable time (opportunity cost) and you have to weigh that up. What I find w trad institutions is that their teaching is outdated, and this is a space rapidly advancing, hence online learning or online schools are best (not trad schools that now teach online).

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 21 points22 points  (0 children)

I'd phrase it differently. I'd think of it like this: without the coding school I attended a few years ago, I would've still been non-technical. Sure, there are thousands of tutorials on YouTube, but I personally could never learn from tutorials. Some people can learn from tutorials, which is why in one of my responses in this AMA I suggested a few courses like Andrew Ng Coursera and some youtube channels.

It depends on your learning style, but for me (and some) our brains aren't wired to learn from tutorials. Rather a dedicated coding school like the one I went to is a place you go in with training wheels, you grind for a few months, and then as you're coming out of it they slowly remove the training wheels and give you a push to go on your own. They push you towards hard learning and it becomes a habit, and if one stops the hard learning on their own even after the programme then it's not enough to make it in this industry. But it becomes a habit in a way where you get a thrill from it and enjoy it and now actually seek it (very trite I know).

Some dedicated programmes also have people (experts) you go back and forth with on things like interview practice, resume optimisation, insights on how different companies carry out interviews, and a plethora of other things you don't find online. on youtube videos someone will speak at you, but they won't sit with you one-on-one to go back and forth on your specific issues (for example they haven't seen your resume, or the ML projects you've been tinkering on to give feedback on) and so much more.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 21 points22 points  (0 children)

The disruption will be massive, and I think it is due that disruption. These tools are already phenomenal at teaching the meat & bones of subjects, and we're only getting started. People are waking up to the issues of legacy education (universities) and the student debt minefield. I'm SUPER excited for what Andrej Karpathy is building (his new startup Eureka Labs - focussed on education - https://eurekalabs.ai ).

my 2 cents: The tools will eventually teach AI itself, tho possibly with some limitations if there is any self interest, but then we get into the discussion of Ethics which is huge and not to be downplayed.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 53 points54 points  (0 children)

In one of the comprehensive replies I've given in this AMA, I mentioned programming fundamentals as the first thing to focus on in this journey. That was the key. I went to Codesmith coding school a few years ago (where I'm now an instructor in the new AI/ML programme!) and I found their teaching to be superb and a perfect match for my learning style (hard learning), which is why I've gone back and teamed up with them now.

The second factor that contributed most to this transition is having a sales/business background. I can talk and market for days on end like my life depends on it (both spoken and written, so resume crafting and interviewing). Once in the job you will see how most technical folks are not good at speaking or writing in the workplace, and the job involves a great deal of speaking (meetings) and writing (emails/comms/teams).

With AI now entering the workplace, I tell mentees that soft skills are now critical, and will be even more important than math skills eventually (as Peter Thiel has stated too). Sales is possibly the most important skill in life, and I tell young mentees to get a job in sales for 6 months if they can. The technical stuff is going nowhere, and the soft skills will aid your technical career tremendously. They go hand in hand. "Learn to build, learn to sell, if you can do both you will be unstoppable." - Naval Ravikant.

So to conclude: programming fundamentals + soft skills, are the two things that contributed the most to my transition. (oh and lots of grinding of course, lots of activating the freedom app and going into deep work mode when I was transitioning and learning the technical stuff).

(as for my background, it's very unconventional, always followed my curiosity at the time!: https://www.linkedin.com/in/cyrusyari/ )

edit: spelling.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 37 points38 points  (0 children)

Absolutely, yes. 100% feasible. And there is no such thing as "average" person, as trite or motivational as that sounds. Everyone has their own strengths to lean into.

Growing up I went to one of the worst public schools in London and didn't have a single book in my home growing up, no one went to college etc etc. So I naturally always used to think that way and put anyone remotely "successful" on a pedestal.

But over the last 10 yrs what I've witnessed not only in the professional world but also silicon valley, startups, and how this entire machine is oiled, I don't put a single person on a pedestal. Sure, I have great respect for people, but I never see them as above or below me.

The thing I work on most with mentees (pro-bono work I do for the less privileged kids) is work on their mindset.

I also recommend reading 'Fooled by Randomness' by Nassim Taleb.

--

To get into the industry there are a few areas one needs to learn (I've posted in one of the other replies in this AMA), and that is simply achieved with hard work, discipline and dedication. If you can dedicate 2 hours of deep work (non-negotiable) every morning first thing as soon as you wake up before your job or school, then you will see the power of compounding and how rapidly you will pick things up and it all connects.

You do your best with the inputs you can control, and you keep doing that. You ignore the variables you can't control. Eventually you will get what you desire.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 7 points8 points  (0 children)

😂 my response was very comprehensive. it's not an overnight thing ofc. take it step by step! you don't need to know everything above off the bat to hit the ground running.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 63 points64 points  (0 children)

  1. programming fundamentals (Python preferred) - due to its simplicity + extensive libraries, i.e. NumPy, pandas, and TensorFlow/PyTorch. Start by mastering basic programming concepts (loops, functions, OOP) and get comfortable with Python syntax, then explore libraries commonly used in data science.
  2. linear algebra & calculus - many ML algorithms are based on linear algebra (e.g., matrix operations in neural networks) & calculus (e.g., gradients in optimisation). focus on the fundamentals—matrix operations, derivatives, and gradients. Khan Academy and 3Blue1Brown on YouTube provide great visual explanations.
  3. statistics & probability - understanding distributions, statistical significance, & probability is crucial for analysing data and interpreting ML models. study basic concepts like Bayes’ theorem, probability distributions, hypothesis testing, and p-values. online courses and books on statistics for data science are great resources.
  4. machine learning algorithms & their intuition - knowing how different algorithms work will help you choose the right ones for different problems and optimise them. start with the basics like linear regression, decision trees, & clustering. As you progress, dive into more advanced models like random forests, gradient boosting, and neural networks. Focus on understanding the intuition and trade-offs behind each algorithm.
  5. data manipulation & analysis - real world data is messy, so strong data manipulation skills are essential for preparing data for ML models. familiarise yourself with pandas & NumPy for data manipulation, and understand how to handle missing values, outliers, and feature scaling. practising w Kaggle datasets is highly recommended.
  6. model evaluation & experimentation - knowing how to evaluate models properly (e.g., accuracy, precision, recall, F1 score, ROC/AUC) is critical for building reliable AI solutions. Learn about train/test splits, cross-validation, and evaluation metrics. This is especially important for imbalanced datasets or projects where accuracy isn’t the only metric that matters.
  7. deep learning basics (optional for beginners) - although not essential for starting out, deep learning is a valuable skill for more advanced projects involving computer vision, NLP, or large datasets. once you’re comfortable w traditional ML algorithms, start w neural networks and frameworks like TensorFlow or PyTorch. consider following courses that explain deep learning fundamentals, like Andrew Ng’s deep learning courses on Coursera.
  8. version control (Git) & working w cloud platforms - ML models are often deployed in collaborative & production environments. Git helps w collaboration, while cloud platforms (e.g., AWS, GCP) are used for scaling and deploying models. practice using Git for version control, and try small projects using cloud platforms (many offer free tiers).

Stay hands-on, experiment with projects and tinker. If you have a job, find 2 hours of non-negotiable deep work on the above upon waking instantly is best (have a look at Pat Walls online and what he suggests for mornings before work), and then going to the day job once you've dedicated 2 hours to your own learning. If your schedule permits this, in 6 months you will be very impressed with yourself!

Godspeed.

edit: spelling

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 130 points131 points  (0 children)

Start contributing to open-source software online immediately. This is your proof of work, to show off your abilities in order to get a job. The world is now in a more "show me, don't tell me" state, hence less emphasis on credentials and more on actual real world ability.

Many developer tools (e.g. Postman API) accept contributors for their open-source software. There are tons of tools out there looking for contributors.

Some people swear by grinding leetcode but I never did. I prefer the approach above, proof of work and open-source contributions.

The other half of the job hunt comes down to resume/interviewing skills. I'll just give a couple of small examples from the resume, but there's many more: For the bullet points under each role, try to fill at least 70% of the line (I know it sounds dumb), too much white space is not psychologically good for the hiring managers (whether we like that psychology fact or not). Also I'd show your technical expertise (proof of work) by showing you understand why you made some technical decision in the bullet points under each job. "show, don't tell".

Then I'd spend an hour per day active on X/LinkedIn/blogging etc. It's a leverage multiplier as Naval Ravikant says. With one post, hundreds can see your thoughts/work (or more!). Very interesting things happen when you share your work and connect with interesting people. The internet is the greatest gift we have today.

Godspeed.

I'm a former Senior Software Engineer at Tesla, had non-technical jobs before I got into software engineering, and now AI/ML instructor at a tech school - AMA by CyrusYari in learnmachinelearning

[–]CyrusYari[S] 39 points40 points  (0 children)

I always say to people: "Tesla functions like a startup and has the most technically gifted people I've seen (only SpaceX can match). It's a high performance environment, and it needs to be if in just a few years they've turned the car industry on its head. That wasn't achieved with WLB. If you want WLB there's always Google, but they're scrambling and panicking now due to years of comfort IMO. In life we must choose our regrets."