The SoftDev to AI transition and you
Making the jump from Software Development to AI in longevity
Dear Mr/Ms Software Developer,
Is writing login pages not exciting enough for you? Do you wish for a little more science fiction in your desk-bound procrastination? Would you like to be able to apply for a reasonable range of jobs in the longevity industry or do research? All of these are fantastic reasons to jump on the very coolest of bandwagons and transition to working in Artificial Intelligence (AI)!
My own decision came from the advent of my interest in longevity. As I was finishing college (the British kind), I began to read about the way science was done. I found little place for the skills I had been learning, which were focused on creating consumer-focused software. At that time, I was offered access to university and AI education, and began to read about opportunities to learn the kinds of technologies I was hearing used in longevity. The decision was about as clear-cut as they come.
Contents
Starting skills
Data Structures
Sorting Algorithms
Libraries
Foundational AI Skills
Search Algorithms
Data Management
The Stochastic Mindset
Modern AI
Online Courses
Online Lectures
Blogs
Longevity AI Applications
Drug Discovery
Sequencing
Field-Focused Applications
Conclusion
Starting skills
“AI seemed magical, emergent properties might as well have been a kind of life-creating alchemy.”
So when we talk about moving from Software Development to Artificial Intelligence, what’s the assumption of knowledge? How much skill as a software developer do you need in order to make the jump? You can switch any time of course, but there are some key skills that developers can transfer to create more intelligent algorithms.
While writing this article I am assuming as a reader you have an understanding of the very basics of programming. So I won’t mention things like variables, functions, and operators. If you’re a seasoned dev, feel free to skip this section, you’ll almost certainly have these skills! Hopefully...
Data Structures
The first skill you can leverage is a solid understanding of data structures, which are a core part of both disciplines. The relevant structures will shift from language to language, but to use Python as an example as a language important to both developers and AI engineers, tuples, dictionaries, lists, sets, linked lists, and arguably trees are your bread and butter. You’re going to be storing and retrieving a lot of data, so it gets very handy to know the best ways to keep that data organized.
Sorting Algorithms
Speaking of organization, a simple type of algorithm that shows up quite frequently in both AI and non-AI applications is the sorting algorithm. Bubble sorts, quick sorts, merge sorts. It’s worth noting you will most often have functions to do this for you, but understanding the principle behind how to do a sort efficiently will come in handy for those times you’re not dealing with a language or data structure with available sorting methods.
Libraries
Libraries are definitely something you have to check out! Libraries and packages are perhaps the biggest time savers in the programming world. When starting out programming, you may have found yourself rewriting the same code again and again, and maybe took the initiative to copy and paste some old code. Packages, often organized into libraries, are ways of reusing other people’s code. This allows you to use pre-built complex systems of code to build projects very quickly. AI relies heavily on the use of libraries like Tensorflow or PyTorch, to name only a couple of the most common.
With an understanding of the above, you’re pretty much ready to start dipping your toes into the artificially intelligent waters. Before we get into the flashy fun stuff though, the fundamentals are important. Stable diffusion will fall out of practice, GPT will be made redundant, but there are some fundamental principles and mindsets in AI that will give you a solid grounding to keep up with any new developments.
Foundational AI Skills
“It’s just search. All the way down.”
Search Algorithms
Definitions of AI can get fuzzy, that’s a lesson you usually learn in AI 101. Most however would put the basic essence of AI within search algorithms. My first AI professor would often say that when you get down to it, all of the fancy AI applications are just the same search algorithms being run on each other in new configurations. Depth-first search and breadth-first search were my first algorithms, and they’re about as basic as it gets. Learn about the traveling salesman problem and give implementation a try! Heuristics make things much more interesting, and when you give A* search a try you’ll start to see the real power. My professor would also often point out A* still shows up in modern applications, so you’ll get a taste of very simple but practical AI!
Data Management
AI is comparatively much less about programming than more traditional software development, and often feels more scientific in nature. You’ll get sick of the word “data” before long, if you aren’t already just from commercials! Data is the lifeblood of AI systems, and your AI career will live and die by your data’s quality, quantity, and transformation. So learn to manage it well! Learning about dataset partitioning, data cleaning, and principles about data quality will serve you well in your adventures. In large teams, cleaning and data quality management would be handled by data engineers and analysts elsewhere in the pipeline, but you can’t always assume you’ll have a large team to back you, or clean data. Data cleaning doesn’t sound fun, but it’s actually my favorite part of the job!
The Stochastic Mindset
There’s also a mindset shift to go through. The transition to AI largely means saying goodbye to the degree of reliability you might have come to expect so far. Unit tests and red squiggly lines will usually keep you right in softdev, but AI deals in randomness and uncertainty. Variations and iterations will lead to different, sometimes drastically different solutions from the same code. Optimizing certain variables known as hyperparameters will increase your chances of finding a solution that meets your standards, but this takes more time, and ultimately still leaves things up to chance. This can be... frustrating at times. A quick Google search will show you a slew of AI systems that have begun to produce nonsensical solutions in ways traditionally testable systems never would. It’s uncontroversial to say AI has displayed enormously promising results, but it has its challenges and it’s good to get acquainted with some of these early on.
Modern AI
“AI is simultaneously smarter and dumber than I thought.”
So. Now for the fun stuff. This is the part where it really is up to you! Do chatbots excite you? Robot navigation drive you crazy? How about image generation? You may even be reading this article in a future where video generation has really got us all spooked. Well, time to play with it! These are typical flashy applications, but there really are any number of ways you can work AI into software these days.
Online Courses
This is one you might’ve heard of already if you’ve been mulling this transition a while, but it bears mentioning nonetheless. Coursera founder Andrew Ng, (a well-known name in AI) released a course in 2017 known as the Deep Learning Specialisation covering things like neural network architecture, hyperparameter tuning, and popular libraries. This has attained some reputation within the AI learning community with many a debate over the deservedness of its price and status. I haven’t taken it myself, but I’d be remiss not to mention it. I can’t count the number of times I’ve heard it referred to on my fingers anymore, and that’s how I like to count things!
Online Lectures
As you begin to specialize, syllabuses from top universities, often accompanied by lecture recordings will prove valuable friends in this leg of the journey. In my first year of learning AI, Stanford’s CS231n gave me a headstart in many of the classes I later took on the subject. They can be quite heavy on the brain as a result of their academic nature, but take your time, and remember to go back and do your homework on the concepts discussed, and you’ll find yourself climbing a ladder to the forefront of AI.
Blogs
Universities can often be shaky on teaching the implementation of these algorithms however. This is where blogs and articles can come to the rescue! One of the most famous and comprehensive of these is known as Machine Learning Mastery, though you’ll find many other Medium and Substack articles dealing with how one goes about putting algorithms into code. These can vary in quality, especially relative to the other two learning resources above, but I’ve yet to come face-to-face by an API or algorithm without an accompanying article to show the way.
Longevity AI Applications
“I could be a great researcher, or I could bring 100 new researchers into the field. Which would I be better at? ”
When choosing what to learn though, it’s good to first consider where the current applications of AI lie within the longevity field.
Drug Discovery
Drug discovery is a big one. Plenty of companies are doing this and some at colossal scale, such as Insilico Medicine, arguably the industry’s most famous example. Anyone versed in chemistry knows there are a lot of possible compounds. Nobody knows the true number, but it’s 10 to the power of “scary”. When devising new medicines, even filtering down to the “likely” candidates you’re left with an unsettling degree of uncertainty as to what compounds might bind to a target protein. Some very smart folks have developed algorithms to help squash this number to a(sort of) manageable one, and this is just one aspect of drug discovery. If this sort of thing intrigues you and you’ve already got some AI fundamentals, the European Bioinformatics Institute has a hands-on machine learning in drug discovery course that will give you a more concrete idea of how to get started.
Sequencing
RNA and DNA sequencing present a similar story. Huge amounts of data generated by converting nucleotides into readable information can be quickly read into an AI algorithm to pick out the relevant segments for analysis, saving a huge amount of time that would be done by some pretty highly paid people. From a corporate perspective, some pretty valuable time to save, and from a medical perspective, time you’d much rather have spent on more important things. There are a lot of tools and types of sequencing, but for a taster, one could try the single-cell course which gives some useful context and an overview of how to run these experiments in the R bioconductor package.
Field-Focused Applications
Now, there’s an idea I read from someone in longevity once of something like “Type 1” and “Type 2” plays. Type 1 plays directly affect the progress of the field, like the above two paragraphs. Type 2 plays help to instead create an environment for more Type 1 plays, like me writing this article. I like to call them “field multiplication” or “supporting plays”. I’m a fan of them, and AI comes in handy here also. This paragraph is more of a catch-all for the miscellaneous ways in which you can use AI to support the field. LongevityGPT is a great example of this, as could arguably OpenLongevity’s implementation of Random Coffee, an automated email-based networking software which I will continue to mention in every article I write until the end of time because I’m in love with it and wish to marry it. You can get extremely creative with these types of applications and I think that’s why it’s one of the most interesting parts of working in longevity, or any field.
Conclusion
It has served me well to remember that learning is (at its best) a habit, and if you’re able to move from one subfield to another, you can do it again. I find myself now making a similar attempt to enter the similarly fast-moving and scary field of computational biology, and I’ll tell you, while it’s a more complicated transition than discussed in this article, it’s much easier the second time. You don’t have to be an academic nomad, but remember not to root yourself in a discipline you’re not happy in either. A broad knowledge helps keep your options open when a field really takes off.
Should you find yourself looking back on this jump to AI as I have, unfortunately you don’t quite get the opportunity to rest on your laurels and reap the rewards you might hope for. You may have heard that AI is a fast-moving field. I am here to tell you that AI is a fast-moving field. If you feel you’ve “mastered” AI, you’ll quickly feel you’ve “un-mastered” it within a matter of months, as improvements to the algorithms you’ve learned usurp their throne. You’ll have new papers to read, and new math to understand, as though longevity wasn’t hard enough to keep up with. This might begin to feel Sisyphean, but this is the cost of being the best. So ask yourself, do you want to be the very best, or do you want to be good enough and actually have days off? Keep your eyes peeled for new algorithms, but don’t stress yourself over it. It isn’t good for your longevity.
Have thoughts on this topic? We at LongX strive for collaboration on a Global Scale.
Reach out to the team at LongX and collaborate with us!