Resources for Ex-Felons Learning to Code
Even though many felons have done their time in the prison system, they still have to deal with the crime they have committed.
Even after serving a prison sentence, many felons have trouble finding long-term, satisfying work as a result of hiring restrictions or background investigations. Some of the great jobs out there require college degrees that cost a lot of money -- something out of reach for most felons.
Fortunately, there are great opportunities in creating software for the web or other platforms which do not require a college degree. With a few online courses costing relatively little compared to a degree, ex-felons can get back on track and contribute to society.
State and Local Resources
Often times, the states provide several resources which give counseling, basic skills development, and some job training specifically for individuals who have been incarcerated.
Some states partner with the Department of Labor specifically advertising opportunities for ex-felons. Here are some examples of links some the states have to help released prisoners:
Operation New Hope is a program based in Jacksonville, Florida that partners with potential employers to give former convicts employment opportunities as well as links to educational resources available at the local community college or library.
Career Connections is another program based in New Jersey designed to help ex-convicts get access to jobs, perform networking activities, and get job training.
Workforce Investment Works is a program based in Maryland that provides access to job boards and resources dedicated to finding jobs easier.
Similar resources from the state or local governments can be found online with a simple online search.
In addition, ex-felons should examine cost-effective educational opportunities from local community colleges, some of which offer the chance to get an associates degree in computer science. If access to the Internet is a limiting factor, many public libraries and restaurants offer free WIFI access.
Though resources provided by the state or local entities are free for the most part, there may be a long process or waiting list to get the help needed.
Though many of the resources available online are not necessarily catering to felons themselves, they still provide the background necessary to learn the skills that are in demand to help land a rewarding software development job.
The links below provide a great starting point in learning about software development and include many in-demand languages for traditional and web development.
A great strategy is to pick an development area and focus. If you are interested in web development, stick with learning PHP and SQL syntax and modify the exercises presented in the tutorials.
Use a free web host to showcase your projects and refer to them in interviews.
LearnJavaOnline is a website that includes many tutorials on the basics of the Java programming language. The website not only contains tutorials, it also has an application which allows you to type in Java code yourself and see the results on the web page itself. Currently, many web and enterprise solutions use Java so taking a look at this tutorial is a step in the right direction towards finding a job.
TutorialsPoint — Java has an extensive collection of Java tutorials covering many aspects of the programming language ranging from basic data types to object-oriented programming (OOP). This is a great resource to check out since it covers a breadth of topics.
Codeacademy Java Tutorial is a tutorial that covers data structures and types. Users of the site can create and compile code as well as see the results on the site itself. Codeacademy also includes several projects which can be modified and potentially be used as part of a portfolio to help convince employers to hire.
Building Your First App is a great introduction to mobile phone application development on the Android platform. It shows how you can setup your environment and create your first project. The great news is that gaining app development skills allows you to potentially perform freelance projects which usually don't require any background checks.
TutorialsPoint — Android provides an extensive resource on Android development with tutorials ranging from environment setup to basics of UI design. App development on Android platforms is in demand and thousands of apps are released every year. Also, app developers can potentially earn a great salary which provides great motivation to master this skill.
W3Schools PHP Tutorial is a great set of tutorials on PHP covering topics ranging from basic syntax to creating code to handle forms and connect to databases. PHP is a great language to learn because many pages on the web use this language and a lot of jobs are available. Also, many online applications such as WordPress rely on PHP, making it a worthwhile language to learn.
TutorialsPoint SQL Tutorial provides a great set of articles on SQL syntax. You can set-up a MySQL server for databases and start using these commands right away. Many applications, including those on the web, rely heavily on databases so understanding the related syntax will go a long way with your development and job hunting efforts.
Though articles on various development languages provide a great way to learn, some individuals may find they learn better through video tutorials.
Also, the video links posted here are part of a series of videos which provides a structured way to learn various technologies. Here are some tutorials on in-demand technologies today.
Java Tutorial for Beginners is a series of videos outlining how beginners can install Java on their computers as well as tutorials covering various topics including basic syntax and creation of GUIs. This provides a step-by-step resource filled with information which can be helpful for ex-felons just getting started in development.
Java Enterprise Edition Tutorial is another series of tutorials that covers the Java Enterprise Edition technology which is in-demand and used by many corporations. The tutorial presents videos on various topics including Oracle database setup and basic java servlets.
Android App Development for Beginners is a tutorial with 77 lessons on developing Android applications and covers topics such as different GUI layouts, working with databases, and creating animations.
Start Developing Android Apps Today! is an 8 hour video that contains step-by-step instructions for creating your first Android application.
The Ultimate Web Development Course is a series of videos that shows you how to get started with development using the full stack including PHP, MySQL, HTML, and CSS.
PHP MySQL Development is another series of tutorials focused on MySQL and PHP development, both of which are really popular technologies used on the web.
Online courses provide a structured, yet flexible way to learn coding for ex-felons especially if they need to hold down a day-job. Even though these are paid courses, they are inexpensive compared to university fees and provide a better value in terms of skills learned.
The Complete Java Developer Course is a course on Udemy that presents a complete introduction to Java, a programming language used in web and mobile app development. Plus, the course also helps prepare you to get Java 8 certification.
Advanced Java Programming is a programming course for those who are ready to go beyond the basics and learn about topics including using the ODBC interface to connect with databases, creating web applications, and multithreading.
Java Android Development Complete Guide is another programming course that teaches both the fundamentals of Java and uses those fundamentals to create Android apps. If you are a beginner with no programming experience, you can still go through this course and start creating apps on the Android mobile platform.
Perfecting Apps as an Android Developers is a course on Udacity that introduces Android App development. If you wish to get a certificate of completion or instructor feedback, you must sign up for the "nanodegree" option. With the slightly more expensive "plus" option, you can get a job offer guarantee.
Being an ex-felon trying to break into a competitive industry like software development can be tough. You have a criminal record to deal with along with stiff competition from others.
To help you get through your situation and see what others have done about it as well as answer coding questions you may have, post questions to the forums below.
If you are an ex-felon looking to find work in the software industry, then you need to build up your skills quickly. Books offer the cheapest and least time-consuming option for doing so.
Though this is the cheapest option, you must be disciplined to complete the book and finish the exercises. Since you won't get a certificate of completion, you will probably need to create projects to present to prospective employers or clients.
These books may help you master the skills necessary to land that coveted coding job.
Java: A Beginner's Guide (2014), by Herbert Schildt, is an in-depth guide to the Java programming language. Various concepts are covered including beginning concepts such as compiling and running Java programs all the way to advanced concepts such as threading and graphics. To help the reader better understand concepts, the author has included Q&A sections as well as programming exercises.
Head First Android Development: A Brain Friendly Guide (2015), by Dawn Griffiths and David Griffiths, provides a friendly and easy to understand guide on developing mobile phone applications for the Android platform. The book discusses app structure, use of databases, and various GUI elements and illustrates concepts using pictures.
Python Crash Course: A Hands-On, Project-Based Introduction to Programming (2015), by Eric Matthes, covers how to write Python scripts. Matthes's book covers various concepts including basic syntax, reading and writing to files, and plotting data. This book is a must-read since software development work involves writing scripts to process data and generate reports.
Going through the resources listed above is only a starting point in terms of learning about software development.
As an ex-felon, you will need to pick an area of software development you can still do despite a criminal background. This may involve the ability to do contract work for fixed period of time that pays an hourly rate or freelance projects for local businesses or online clients.
Once you pick an area of software development, learn as much as you can about it and post projects online through a web hosting account (many are profiled on WhoIsHostingThis).
Even if you don't have a web development project, post screenshots of applications you have written on your website. When you are looking for work either online or offline, refer to these projects to impress your potential employers.
As a former convict you may also need to consider alternative ways of finding work including looking on Craigslist or Upwork. These sites present freelance opportunities where you generally just need to demonstrate that you can complete the work.
As an ex-felon, use these resources to help find the work you need and get back on track!
Further Reading and Resources
We have more guides, tutorials, and infographics related to coding and website development:
Composing Good HTML: this is a solid introduction to writing well-formed HTML and using HTML validator software.
CSS3 — Intro, Guides & Resources: this is a great place to start learning webpage layout.
ASP.NET Resources: this guide will get you going with Microsoft's .NET framework for creating webpages.
C++ Developer Resources: if you'd rather stick to a more traditional language, this page provides you with all the tools you need.
What Code Should You Learn?
Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn?
It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming Java for a living?"