What can you do if you’ve missed out on a career in Tech? For many, working in the Information Technology space is only a dream.
Online Education:
The good news is that software careers can now be attained using inexpensive, online education; However, studying software engineering requires focus, logical thought and most importantly grit. Not everyone who takes software engineering classes will enjoy the challenge- for those people, software engineering might not be your best career pivot.
If you are someone who enjoys solving puzzles, learning and applying new technology concepts, then you are a good candidate to pivot into a technology focused career such as software engineering.
Employer Requirements Eased:
Tesla CEO Elon Musk has said on several occasions that he doesn’t care where potential candidates went to school. He is unimpressed with the Ivy League candidates that seem to fill all the FAANG companies today. There is also a myth that a software engineering job can only be obtained with a four-year degree minimum, and a master’s degree in computer science. That particular approach is optimal and will increase your chances of entering the field, although there are alternative paths to entry into tech.
I know several self-taught software engineers who have moved and pivoted their careers into tech who now work for startups, large companies and all types of companies in between. The presence of online education has certainly expanded this pathway for many.
FAANG Companies:
Today, FAANG companies will consider you for a software development position without a four-year degree. You just to need to show that you have above average skills writing code, and you need show your proficiency using developer tools, like Visual Studio, AzureDevOps, GitHub, SQL editors, and so on. There is an entire online industry focused on teaching developers how to pass coding exams. Again, this work takes grit, but it’s definitely something you can do if you decide to become a software engineer.
Web Development:
If web development is your preferred specialty, then you will need to show your mastery of the core elements of web design (HMTL, CSS, Javascript). Companies will ask you to step through your own code, or newly created coding examples. In addition, web developers will need to be very familiar with a platform , such as Angular, and well as show familiarity with data structures, SQL, or other data platforms. The platform type doesn’t really matter, what’s important is that you master that platform.
Ryan Carson of Treehouse Island Inc:
I watched an interview recently with Ryan Carson, founder of the Treehouse coding academy. Treehouse https://treamtreehouse.com offers an alternative path to the four-year degree route into software engineering through their inexpensive online education. He specifically focuses on people interested in learning software development who previously missed out joining the tech industry.
Path to Six Figures:
Ryan sites examples of his Treehouse students entering into software development positions with online education, which can start around $55,000 dollars US. This type of pay can be a great starting point in an industry where salaries can reach six figures with just a few years work experience. This CEO’s focus on helping people from underrepresented communities get into tech is really inspiring.
Where to Start:
If you are ready to learn how to become a software developer, I recommend the following steps to get you on your way:
Step 1 - Obtain a Laptop for Development
You will need a laptop that will be your primary system for learning. If you are already working on your company laptop, then you will definitely need to obtain a secondary laptop. Never conduct side business work on your company’s laptop, it’s not worth the risk.
Buying a used Apple MacBook Pro for instance will only set you back $300 - $400 dollars. This could be the best entry level investment in your career. If Wintel is your platform, then I recommend a used corporate Lenovo ThinkPad.
You can find refurbished laptops online for a similar price- either of these are workhorse laptops that will get you started. I utilize both Lenovo ThinkPad’s and MacBook Pro laptops for my software career. MacOS users will tell you that their platform is better, WINTEL users will say the same of their platform.
Having used both for years I have started to migrate more work into my MacOS setup, but make your own platform decision, as you will be spending hours on this keyboard every day.
Looking at code is also a lot easier with a 27 inch or larger monitor. Once you switch to larger/multiple monitors you were never go back to laptop only, but it’s still a great starting point for your software career.
Step 2 – Workplace Setup, Remove Distractions:
Setup a free Zoom account to start. You will be sharing information with others on a regular basis online. Get comfortable scheduling and driving online meetings, sharing code samples, discussing key software concepts via a camera. This is what software professionals do all day, as most of are working from home for the time being. Also, setup a comfortable work area, present yourself as a software professional, remove any distracting items from your camera view.
You will need to remove all distractions from your work setup location. Silence all notifications on your computer, turn off your phone, or at the very least turn off all notifications from it. Learning to code requires that you put you full focus into your new craft. Having your phone remind you of social media notifications, email, and other distraction will limit your success.
Step 3- Sign up for a coding boot camp. There are free coding boot camps, and others that offer a $40-dollar monthly subscription that will get you started on learning core software engineering skills using current development tools. Some of the skills you will gain in these coding bootcamps can be gained for free through self-study via YouTube and free online forums. For many people however, the presence of an online set of lessons is a more structured approach that will lead you to success.
I’ve looked at several of these coding boot camps. If you are interested in joining one, simply do your own research to find the one that works for you. Check YouTube, there are plenty of students who have posted their successes with these online institutions.
Step 4 - Join and Online Community of Software Developers:
Realize that there are many people just like you are starting a career pivot into the software field. Find these people and collaborate, communicate and keep each other honest on your progress.
If your current circle of friends doesn't include people like you seeking a new career in tech, be prepared to spend less time with those people and begin to build new contacts on your same career path. You are the average of the people you spend the most time with, make sure to add more people working towards your same career goal to tilt the odds in your favor.
Group Example: Latinageeks.com
People who grow up in underrepresented communities may not run into tech industry contacts to share career aspirations. Joining on-line groups solves this problem for many people. I recently linked up a student of mine with the software group https://latinageeks.com . This group provides several online events each year, next month a developer from Microsoft is delivering a lecture on Cloud development via AzureDevOps- These types free classes are valuable, and they will set you apart from others learning how to get into the tech industry.
Step 5 - Put in the Hard Work/Grit:
This is the hard part. You need to spend hours each week studying and working through code examples, learning new technologies with extreme drive. You need to prove that you have the ability to learn and deliver solid work product.
Start small, spend 2 hours a day for the first few weeks, then slowly increase your lesson work as you gain more familiarity and skill with your new subjects.
Step 6 – Get Your Resume into LinkedIn & Build a Network:
This is a crucial step. Putting your resume out there on LinkedIn will get you noticed and allow you to start networking with recruiters and other companies. If you don’t have work experience, then list your completed coursework on your resume. As you start your working career, replace the school sections with actual job accomplishments. Make sure to review your resume and solicit feedback from others before posting it.
Step 7 – Practice Coding Exams, Nail the Interview:
All software development jobs will include a coding exam. This is your opportunity to show employers that you are fully qualified to be a software developer. With so many people teaching coding test exams on-line, there are plenty of free resources to assist you in learning what these coding exams look like. Don’t go into a coding exam unprepared. As with anything, the more you practice the better you will perform on these exams.
Interviews will include several levels of questioning; they often start with a Human Resources non-technical software skills list of questions. They include questions such as, “tell us how you handled a situation where you were pressed to complete a task in one week that needed at least three weeks to complete.” These kinds of questions are designed to test your communications skills. Do you have the ability respond to adverse situations at work, how will you handle these situations, and so on?
Once you make it through the soft skills interview you will more than likely meet with software managers, leads and developers on the team. Again, once you show your coding proficiency you will judged on your ability to interact with the team. There is no easy way to get through these interviews, you will just need to power through them a few times to get to your desired result- a new career in tech.
More Recommendations- Keep Your Current Job While You Prepare for a New Job:
If you are currently working, if at all possible, I recommend that you keep your existing job while you build up what Scott Adams calls your tech stack. Learning after hours will require more effort that starting new but learning new skills while you are still being paid will simply make the transition easier. I’ve had students tell me that they’ve even become more focused in their day jobs while learning coding during their lunchtime and after hours.
Time Management:
Borrowing and modifying a line from Cyril Parkinson’s Economist essay from 1955, “work/study expands so as to fill the time available for its completion.” If you have eight hours to complete something, you’ll use the full eight hours.
You’ll also want to enjoy learning your new skills, worrying about how to pay for basic necessities could make this more difficult. A few people I’ve coached in IT have told me that they actually enjoyed working by day and learning new software skills during their lunchtime and after hours. They enjoy learning each evening over binge watching Netflix every evening, which is really good thing.
Depending on your where you work, you might even be able to stay within your current company and transition into a new position building software. This opportunity will not present itself if you exit you job while you are learning.
What Will this Hard Work Yield:
Putting in this type of hard work will yield plenty of results, and you even might find unanticipated benefits.
-Scenario (i): you enter into a new position with a company that recognizes your newly acquired skills.
-Scenario (ii): once you learn how to build software, what’s to stop you from building your own applications, embedded phone apps, website- there is no limit what you can build once you understand how to design, build and implement new software builds.
-Scenario (iii): you might even find that you enjoy learning new tools in the technology space. Key skills that employers are looking for in new candidates include newer items such as the creation of podcasts, YouTube channels, digital animation mastery and so on. Once you start learning, you may find that you enjoy it, which will propel you to learn more. Learning is something I strive to do each day, it’s a great addiction to have.
Scenario (iv): What if you attempt to learn software engineering but decide it’s not for you. Remember that there are many jobs in the technology space that don’t include actual code development. You can test software, setup automation tools, participate in Agile Scrum meetings as a product owner, and so on. I have a friend who is a highly trained digital marketing specialist. He is a well paid expert in e-commerce marketing, and he has no coding abilities, and no college degree. There are many options in the tech field, you just need to find yours.
Multiple Solutions:
When I create solutions designed to solve complex problems, I always provide at least three options. These three choices typically offer varying degrees of improvement that factor in cost, benefit, engineering and budget impacts and a host of other corporate planning considerations.
Option Zero:
One option that I include is what I call Option Zero. How will the problem be impacted if we do nothing? This option is really a method to better define and reiterate a problem definition and further prompt problem mitigation discussions.
Option Zero provides a "do nothing" solution, and sadly it reminds me of the inactivity I see when some people get stuck trying to improve their careers. Don't even put option zero on the table when it comes to your career, doing so will leave you in the position you are in today, not where you want to be tomorrow.