Staying Ahead of the AI Revolution
July 22, 2023
Introduction
This post focuses at a high level on the existing tools and methods people can use to help themselves to stay ahead of the AI Revolution, whereas another notable blog post, The AI Revolution: The Road to Superintelligence, concentrates on what that path towards gaining artificial super-intelligence looks like.
Some might argue that AI will simply augment the productivity of existing jobs. While this is true for creative roles, it doesn't apply to repetitive, non-creative tasks. These jobs can be replaced at a lower cost with higher reliability with AI. This phenomenon of AI-related job cuts is already occurring and could displace hundreds of millions of jobs worldwide. Coupled with the fact that many Americans live paycheck to paycheck, this situation could be dire (this problem exists in Canada, UK, and Europe as well).
Regrettably, primary (age 5-10) and secondary (age 11-18) educational institutions still have yet to adopt STEM curriculums universally. Transitioning into more creative and secure tech fields would be far simpler if they did.
The Solution
Computer Science Degree
Earning a computer science degree is a fantastic option if feasible, but it may not be for everyone. That's okay because even the tech giants don't require a degree for their Software Engineer roles. However, you may face less cooperation from colleagues who feel it's unjust that you don't have a degree. This attitude is more prevalent in larger companies with bigger bureaucracies and among engineers unfamiliar with small company environments.
In a perfect world, it wouldn't matter where you came from, or how you learned this craft -- at all levels of all companies. But, different companies have different cultures. There is always tension between business and academia. For example, the business-minded care more about the safety of property and the overall growth of the company whereas the academic-minded are willing to sacrifice the greater good of the company in order to assure a hierarchy that satisfies their academic expectations of merit. Growing a company and achieving academically are distinct objectives. There is overlap in that intellectual aptitude is required to excel at both, but there's tension created by the fact that in academia, you're competing against your colleagues. This mindset can be counter-productive in a business setting (e.g. withholding information), putting projects and property at risk. This type of behavior might even manifest in an individual as an attempt to evaluate the intellectual aptitude of a colleague, but it comes off as strikingly bizarre to anyone who learned this craft in a business setting.
Another important mind-set that's prevalent amongst academics is the concept of rites of passage. This is because they've been ingrained with the rhythm of passing exams to pass classes and passing classes to obtain degrees. This rhythm does not exist in the real world. It's for this reason, that at each critical point (e.g. promotions, new teams, new projects, etc...) in your journey, you will need to be cautious for "tests" (that could present themselves as highly unorthodox or contrived situations). This is the somewhat hostile state that prevails due to the ingrained rhythm of academia that doesn't naturally exist in business.
Furthermore, rites of passage are a highly tribal social construct that carries with it other highly tribal practices.
Alternatives to Computer Science
Without a computer science degree, you must demonstrate your capability to do the job. What you need to prove will depend on your goal, which will naturally shift as you learn. Selecting an initial goal (or goals) and reverse-engineering a path towards it can be challenging without guidance from those who've navigated similar paths. This is where Software.Land aims to help people.
Below are the learning methods that shaped my journey:
Turn an Idea into Reality
This is my favorite one. If you find a passion that drives you, you no longer need to find motivation -- it's naturally there. The dream is what drives you. It's a wonderful feeling working on a passion project. If it's one that challenges your technical ability, then who cares if it doesn't work out -- you're learning a highly marketable skill. Bonus points if the technologies behind your project overlap with a career path.
Freelance to Earn Extra Money
The desire or need for extra income can also serve as a motivation. Sites like freelancer.com are great. Ideally, you've completed a personal project or a few online courses before you take your first job. Reputation points gained from initial low-paying jobs can help you secure higher-paying ones later. In my experience, one of these contract roles eventually turned into a permanent position.
Take Online Courses
Online courses can be extremely helpful. If your goal is to work for a major tech company without a degree, learning about advanced data structures is crucial. There's already a blog post dedicated to this: Learn to Code.
Complete coding challenges
Sites like HackerRank use gamification to keep you motivated. You can also observe the first-hand effects of time and space complexity. Some view this as interview prep, but I've recently begun to compete in coding competitions with aspirations of reaching leaderboards. Solving algorithm problems deserves its own post. What is a Data Structure? touches on it.
Note: I purchased whiteboards to practice the feel of coding on a whiteboard for my earlier software engineering interviews.
Other online resources
Google, StackOverflow, various blog posts, and ChatGPT are all resources you will touch throughout your journey. Even an experienced, professional developer uses these resources.
IRC Freenode
A more old-school resource, IRC Freenode is typically a last resort due to often unresponsive users. However, for niche technologies, it can be invaluable.
Conclusion
This blog post has offered an overview of my perspective on the direction the world is heading and how to stay ahead of the curve amidst the rise of AI. The key is to use tools like those mentioned above to reverse-engineer a path to your goals. While ChatGPT is a fantastic resource for guidance, it's not a flawless solution for this use case -- especially if you don’t know the right questions to ask. This hint at what's to be expected with Software.Land is just the rim of the rabbit hole of existing well-defined ideas.
Updated: 2023-07-23