The best way to learn to code is to build stuff. ⚙️🛠🧰🪛🪚 With the right strategy, you can even do it for free! 🤑 Take a look at how I created an online personal finance app without paying anything. 😎

Website Development

Hey Pirates, PK here. In this video, I'll share how to quickly learn to code. Jumping straight to the answer, build a website; it's by far the best way to learn software development. Think about it like this. The best way to get better at gaming is to play games. Likewise, the best way to get better at coding is to code! Sure, reading books, following online tutorials, and watching YouTube videos do help you get somewhere, but not as quickly as doing it yourself! That's what I learned from making websites, games, Windows, and mobile apps. Creating a project is the most practical and efficient way to improve your coding skills while strengthening your resume with a professional portfolio. For this video, I'll discuss how to get started on building a website.

Programming Language

Let's start with the programming language. I recommend learning JavaScript for multiple reasons. First, it's the best coding language for building a website. Second, according to Stack Overflow, it's been the most commonly used programming language for several years. Third, React, a JavaScript library is the dominant player on the web frontend. Fourth, you can go full-stack with Node.js as your backend. This means that JavaScript alone is enough to build an entire website front to back! Next, you should learn the markup languages HTML and CSS. They are the building blocks responsible for structuring and styling your website. If you want to go above and beyond, learn Python. It's one of the most popular, practical, and easy-to-learn programming languages. Many software engineers are multilingual, and skills in Python will come in handy in the future.

Study Resources

A Python crash course in YouTube

So we know which coding language to start with. But where do you get the study resources? If you answered books, you're still in the stone age. 🗿 In the digital age, 💿 you should learn how to google and find free resources online. Go search on YouTube; it's the best teacher in the world. YouTube is the number one place I go for elementary learning, as it has millions of excellent tutorials for free! Search for the how to's. For example, how to HTML, how to CSS, how to JavaScript, etc. Learn from the experts. There's nothing to lose! They're all free anyways! I recommend you study in this order: HTML, CSS, Bootstrap, JavaScript, JS DOM, React, Node, and MongoDB (optional: Python, Django/Flask).

YouTube is the best teacher in the world.
— PIRATE KING

Project Topic

Now that you know where to find the necessary resources, what exactly should you build? I suggest you stick to these two principles. One, solve a real-world problem. I'm not telling you to invent the next Amazon, Facebook, or Google. How about helping out some small businesses that lack an online presence? Can you support them by creating a website? Two, make something that interests you. Suppose you can't think of a project that's useful to the world. How about simply creating something meaningful and practical for you? Are there any repetitive daily tasks you can automate? How about turning your Excel spreadsheet into an app? It doesn't matter if someone's done it already; they certainly didn't do it the way you did! It's your chance to personalize it according to your flavor. Lastly, consider taking advantage of the free APIs available online. Are there any that interest you? How can you integrate these into your project? Get creative!

PK’s Personal Finance App

Let me illustrate what I mean. This is what I built for myself: my own bookkeeping app! The best part is that it's completely automated. With all my bank accounts and credit cards connected, I don't have to manually record any of my expenses! My wife did the bookkeeping on a mobile app before, but she had to record all the expenses manually. Sometimes, she'd even request my lunch receipts. 😬 I thought about ways to reduce manual labor while, at the same time, keeping our family economy fully transparent. ✨ That's when I found Plaid.

Plaid

Plaid is a fintech startup in San Francisco (and no, this isn't sponsored) that provides financial data in the form of APIs. This is how it works. You connect your financial accounts with Plaid, then query it to get information such as your credit card transactions and bank balances. I used the APIs to create a system that tracks our expenses, then visualized the data using Google Charts. This gave me an overview of my monthly finances. Add some features and buttons here and there, and you have your own bookkeeping app! My wife and I were the only human beings who could log in to this website. As a Microsoft employee, I also had free Azure credit every month, which I used to build my app and host it publicly. The only thing I had to pay for was a cheap domain for $10 a year.

Why I decided to build my own Bookkeeping App

If you do some research, you'll find that some websites and companies have a similar product already. But here are a few reasons I decided to still create one myself. One, they're too slow. It takes a while to sync the data integrated with third-party financial institutions. To compensate for this, I created a background job that queries Plaid at a set interval and stores the data in my database. This would mean my data isn't current, but as my goal was to get a daily overview of my financials, I was okay with a few-hour delay. Two, you learn a lot. Remember what our original goal was? To learn! Start a fresh new project from scratch and complete it end to end. You'll be amazed at how much you've grown since the beginning. Three, personalization and customization. You can personalize your website and customize your app however you like. The thing about commercial websites is that you have to use them the way they made them. But you can define your own specifications for your own website. Four, you can do all this for free. I used Azure using Microsoft employee credit, but fear not! There are other platforms you can use for free! For example, use Heroku and GitHub Pages. Check out their documentation, watch some YouTube videos on how to use them, and get your websites running for free! Five, it's fun! You're not working for someone. You're not helping your employer make money. You're working for your own benefit. You should have fun building your own project. If not, then find a better project to work on.

You should have fun building your own project. If not, then find a better project to work on.
— PIRATE KING

Technical Design Diagram (TDD)

PK’s Personal Finance App TDD

PK’s Recommended TDD for Your Project

Check out the details about how you can build one in my other pages >>HERE<<

Here's the technical design diagram. Use it as a reference to build your own. A background worker periodically queries Plaid, say every three hours or so, to get the financial data. It then stores the results in my own database. Every time I log in, I will fetch the data stored in my database and present it on my browser. Simple, right? To get everything working for free, use GitHub pages to host your frontend. Use Heroku for the backend and to schedule your background job. Finally, use MongoDB for storage. Of course, this is only a suggestion, and you can explore the free tiers on AWS and Azure, too (if you want to be serious). The point is, do your research and get creative. You'll be amazed at the number of options for doing everything without paying anything out of pocket!

Benefits of Creating a Web Project

The end-to-end experience of building a website is invaluable. Not only will you learn a lot, but you'll also become a significantly better engineer by doing so. Start with a website for now; it's the quickest and most effective way to learn to code. If you are a prospective software engineer looking for entry-level jobs, prove your skills with one! Companies weigh your practical skills much more than your college GPA. Finally, show the world what you are capable of with the link to your masterpiece! That's it for today. Remember to like and subscribe. 👍 I'll see you at the next one. Bye. 😎

Companies weigh your practical skills much more than your college GPA.
— PIRATE KING
 
Previous
Previous

The Best Programming Languages for LeetCode

Next
Next

How I make an EXTRA $5,000 a month from side hustles