Get A Tech Job with No Experience
In a Facebook group that I am a member of, someone asked the following:
How are you all preparing for interviews? I have no actual web development work experience. But
interview that pays up to XXk (omitted number on purpose). How would you prepare? I also have a
BSIT Bachelor's and a AAS in Computing and Information Technology. Also course work
in Python and Raptor.
For clarity, the AAS is an Associate's Degree.
Now this is similar to questions that I have seen and had others ask before. What I have found is that people that are new to the technology field are told that they need to have degrees and years of experience. While it may be true for some fields, it is not required for all parts of the technology field. How would one go about getting a job in the field without experience? In my opinion, the keys to success would be using LinkedIn, have a portfolio of work, and practice regularly.
I had a conversation with a resume coach and even seen the comments that she has left on other posts about how to use LinkedIn properly. She is advocate for being active on LinkedIn to get users to draw to you. By being an active user and your name showing up on posts of people who are 2nd and 3rd+ connections, your name becomes more visible to an audience that is beyond your circle. How do you do this?
Post What You Do
True story. I share my personal projects on LinkedIn. I usually do not share my work projects on LinkedIn because in the past, that code and other aspects of the work were considered private and company property (read those work NDA and contracts in their entirety). However, I may talk about those projects at a high level, but not share the source code like I do with my personal projects. I work in the technology industry as a programmer. To reinforce that, I share my personal technology related projects on my LinkedIn. That provides validation that I am who I say that I am by showing it through the work that I do. Now it does not happen often, but when I posted about the internet connection monitor it got some attention and I received several connection requests from others who are interested in the same subject matter and technologies that I used.
Also be sure to include relevant hashtags in your posts. LinkedIn allows its users to follow hashtags. By using hashtags in your posts, those who want to see posts related to a certain topic will see your post vs not using hashtags.
Comments, Not Just Likes
Another thing that you will need to do is to comment on the posts that you see. Now you cannot just throw any random ole comment out there. Make comments that are actually relevant to the post. For example, there was this post:
In this post, the person in the wheelchair had to try multiple times to get to the top of the ramp before actually being able to do so. As you see, my comment was about understanding what the video was about, but also making a point that the ramp was probably far from being compliant with ADA (Americans with Disabilities Act) rules.
The personal projects that I have, I post the source code on GitHub. I do have some non-code projects on GitHub, but those are there to serve as a backup source in case the unexpected happens. As an IT professional, you need a portfolio or repository of the work that you have done. It does not have to be a repository of code.
For example, I know a former college classmate who works in project management. She has a folder of her previous work to serve as her portfolio. She also uses this portfolio to keep track of her CEU (Continuing Education Credits) for her PMO certification.
Another example of this would be the DFIR Diva. I will be honest, I have zero interest in digital forensics, but I was amazed at the set up that she had and how she chose to document it on Twitter about how she became great at digital forensics. The photos that I saw of her home lab had me thinking:
- Her power bill must be through the roof.
- She got a lot of equipment. She definitely has taken time to practice to be good at what she does.
- She has a library of books on that shelf. She's probably been doing a lot of research and studying.
I use GitHub as my online portfolio for my source code. I will admit that I do have some non-source code repositories, such as my Xlights repository that serves as a backup for my Christmas light show files. As a programmer and listing GitHub in my LinkedIn posts, people that are interested in the work that I do, can see and try my code for themselves. By using GitHub in the traditional (source code) and non-traditional (text file or configuration backup) manner, supports that I have the knowledge to adapt an existing technology to better suit my and multiple needs.
Practice, Practice, Practice
There's a number of sayings about practice.
- Practice makes perfect.
- Preparation prevents piss poor performance
How do you prepare for something? You practice. Football players practice by doing drills and two-a-days. Firefighters practice by doing trainings at their practice facilities and competing in competitions. What makes you so good that you cannot practice? Especially if you are trying to get paid for the work that you do.
Find Homework Assignments
When I tell people that they need to practice and come up with scenarios that they think they may encounter on the job, they say that they cannot because they have never done this or been in this type of environment before. My response to that is to go find some homework assignments online and attempt to work those in the language of their choosing.
A lot of the time, people who get stuck doing their coding homework, will post code snippets or the assignment problem online. Those that respond to the post, will either share how they did it or provide some code to help the individual get through the part that s/he is stuck on.
I am part of Black Cloud Geeks group on Facebook. Part of the reason that I am involved in the group is because I know the group organizer, but also because this group is all tech driven and works towards learning from each other.
For a while, coding challenges were being posted in the group. The reason that those challenges were being posted in the group was so that those learning Python would have a reason to gain some practice. After all, those challenges were targeted for Python programmers. I took it upon myself to participate in these challenges, but instead of doing them in Python, I did them in C#.
Why would I do a challenge in a language other than what was asked? I should be doing the challenge in the language asked so that I can expand my skillset right? Not necessarily. In 2019, I had an interview. The interviewer said that he knew that I could code based on me solving the coding problem that I had did in the interview and my skills listed in my resume. However, he offered me some career advice and said that because my skills were in a number of languages and technologies, that I should narrow it down and be more of a specialist instead of knowing a lot of languages. In other words...
Jack of all trades, master of none.
You have probably heard the quote above before.
So since I currently work with (at the writing of this article) C# and .NET Core at work, I decided to do these coding challenges in C# with .NET Core. This would allow me to advance my knowledge in the programming language that I regularly work with and also give me different exposure to the language as these challenges did not involve creating web-based applications like I normally do at work.
To further reinforce this point, I refactored several of the applications that I had previously written in Java to C#. In doing those refactorings, I now better understand the purpose of NuGet packages, that namespace in C# and package in Java are basically the same, and the similarities between the betweet the languages, just to name a few.
To view the coding challenges that I have done, check out my coding challenge repository. While you are there, I would encourage you to attempt the challenges in a different language of your choosing in order to improve your skills and knowledge.
For the best chance at landing a interview or job opportunity, consider doing a combination of all of these things. Reason being is that they will demonstrate to others that you know what you are talking about, that you can back up the talk (i.e. walk the walk, talk the talk), and help you provide proof that you know how to do the work. If you want to take this to the next level, you can document your experiences via a blog or on video of doing coding sessions or other projects that you have.