Become a
highly skilled
software developer

Learn to code
Build your own apps
Monetize your skills
learn to code
Why learn to code?
Great pay
Juniors to Mid-level make ~$65-90k in CA, USA. Seniors and Leads are closer to $100-150k in CA, USA. It can be much more at high profile companies.
Ability to work remote with flexible hours
Flexiblity varies from job to job, but coding is definitly a career that is open to working remote.
Your skills and value compound
The longer you work as a developer, the more skills you learn. This increases your value and income over time. Not all jobs are like this. If you're a janitor, you don't make an extra $20k more for being there for 3 years.
No degree required
I know plenty of people that got into coding without a college degree. A degree helps for some positions, but most of web development is learned online.
Business opportunities
All entrepreneurs should have some knowledge of code. Knowing how to code is a huge advantage that gives you the ability to build websites, apps, and ideas for your businesses.
table with code
What do I teach and why?
HTML, CSS, and JS
html css and js logo
HTML, CSS, and JavaScript are the core languages of the web.
HTML is used to tell the browser what is on the page (text, images, videos).
CSS is used to style the page (colors, background colors, font sizes, spacing).
JavaScript is used to manipulate the page to make it interactive (hide/show items on click).
Computers & Dev Tools
developer tools
All developers use computers and a common set of tools for their work.
This includes:
- your computer and operating system (Mac, Windows, Linux).
- a code editor like VS Code.
- using the terminal to run commands and programs (basic mac commands/basic windows commands).
- Git for version control. Git allows you to save your code in a way that lets you go back and view the code at any point in time during a project.
- Github to share code and collaborate with other developers.
- Google and StackOverflow to find solutions to common coding problems.
- some understanding of browsers, servers, and the HTTP protocol.
React
react logo
React is one of the main JavaScript frontend libraries/frameworks (Angular, React, and Vue).
A
library
is a reusable set of code written by another developer so we don't have to reinvent the wheel everytime we start a new project. A
framework
is set of patterns, files/folders, and rules that help standardize applications so we can build faster.
React is a library that uses "components", "state", and "props" to build complex, interactive webpages. There's lots of demand for React related work in the job market right now.
Frameworks like Next.js or Gatsby are used with React to create really fast and efficient websites/apps. They handle things like URL routing, optimizing images, and optimizing production builds.
Node JS
node js logo
Node JS is a "JavaScript runtime" built on Chrome's V8 JavaScript engine . It has a varity of uses in web development and is necessary to build modern JS apps.
Node JS comes with a package manager called npm. This helps you easily install and use JS libraries. All projects that utilize npm packages have a config file called package.json that allow you to specify what libraries you need and which version.
Node.js can also be used as a server for your backend. Express.js is the most common framework for Node.js backends and lets you do things like save data to a database or integrate with other people's APIs (application programming interfaces).
Ruby on Rails
ruby on rails logo
Ruby on Rails is a backend framework built in Ruby.
It speeds up development and organizes your code so it's easy to maintain.
Rails is built around a pattern called MVC (model, view, controller).
Models
are files that represent objects and define the attributes/logic for those objects.
Views
are how the objects are displayed to the user (usually HTML or JSON).
Controllers
are responsible for routing (redirects, 404s) and interating with models (saving/updating objects).
Rails teaches a lot of great best practices, is popular for web development, and is a great skill in your developer toolbelt. Read more on Wikipedia.
Deployment
learn to code
Once you have an app built, you need somewhere to host/serve it on the internet.
The service you use for deployment depends on the type of app you're deploying.
I recommend Heroku for Rails and Node.js apps , Netlify for React apps built with Gatsby , and Vercel for React apps built with Next.js. All these services integrate with Git/Github so code changes trigger deployments that update your live site.
Services like AWS or Digital Ocean can also be used and give you more control over the server. However, I highly recommend going with one of the above services because they reduce a lot of unnecessary work and will save you a ton of time.
Security
learn to code
When you start building apps for the web, you learn there are bots, scripts, and people constantly attacking or spamming your site.
We'll look at some basics of web application security and what the heck is OWASP (Open Web Application Security Project).
The frameworks we work in (Next.js, Rails) have some security built in and try to filter out dangerous requests. However, you always needs to keep security in mind when handling sensitive data.
Performance
learn to code
Nobody likes a slow site.
Plus Google is starting to rank search results based on their performance metrics.
We'll look at how to use Lighthouse and PageSpeed Insights to check how fast your app is loading and how to identify bottlenecks.
We'll also discuss average response times for different frameworks, common causes for slowness, and how to scale your applications.
Getting Paid
learn to code
It's important to know how you're going to make money.
Do you want to work as an employee for a tech company?
Do you want to consult/freelance to have more control over your time?
Do you want to build an app and charge money for it?
We'll look at the pros/cons of different career paths and the steps to be successful in each. The process isn't immeditate, but if you put in the time and develop your skills, you'll be able to find work.
Why learn from me?
drew
Hey, I'm Drew 👋
I love teaching and have over 10 years worth of web development experience. I've built multiple software businesses (DevCo & HoursLogger) and worked as an senior developer for Fairway Technologies before they were acquired by Accenture.
I'm unique because I have college, self-taught, and bootcamp experience.
I went to SDSU for âš¡ Electrical Engineering âš¡ but I consider myself to be mostly self taught. HTML/CSS/JS, Git, Github, Ruby on Rails and Node JS were not taught in my curriculum. The vast majority of what I learned was online.
I also have experiece with web development bootcamps. I help mentor junior engineers in the internship program at LEARN Academy in San Diego. Bootcamps are great if you need a more hands-on/classroom setting, but they can be a pretty big time and money commitment.
I don't pretend to know everything and I don't just skip to solutions. One of the hardest things to learn in coding is how to solve your own problems. You'll see exactly what I Google and how I debug issues that come up.
I give you the practical stuff you need to know and the resources to learn more. This is the path I wish someone taught me when I was learning to code.