Lesson 8 of 8
Review, Reflect & What's Next
Estimated time: 1–1.5 hours
What You Will Reflect On
- The full scope of skills you have acquired across all 30 lessons — from your first HTML tag to a complete full-stack application
- The real-world projects you can now build independently with your frontend, backend, and database skills
- Which skills to pursue next to deepen your abilities and increase your employability
- How to contribute back to the Coders Farm community and use your skills for good in Lansing
- Your concrete next steps for continuing to grow as a developer after this curriculum ends
You Made It
Stop for a moment. Take a breath. Look at where you are right now.
This is Lesson 30. The final lesson. You are standing at the finish line of a journey that most people never start, and that many who start never finish. But you did. You showed up, lesson after lesson, week after week. You pushed through confusion and frustration. You stared at error messages that made no sense, Googled things you did not understand, tried solutions that did not work, and tried again until they did. And now you are here.
Think back to the very beginning. Think back to Lesson 1, when you opened a text editor for the first time and typed <html>. You did not know what a tag was. You did not know what a browser really does with HTML. You did not know what CSS, JavaScript, Java, Spring Boot, SQL, REST APIs, or Git meant. Those were not just unfamiliar words — they were words from a world you were not sure you belonged in. A world you might have believed was reserved for people with computer science degrees, or people who started coding as kids, or people who were simply "smarter" than you.
You know better now. You know that programming is not about being smart. It is about being persistent. It is about showing up when things are hard, asking questions when you are confused, and refusing to give up when your code does not work. That is exactly what you did, and that is why you are a developer today. Not because someone handed you a certificate. Because you built things.
Let us walk through your entire journey together, because every single step matters and every single step brought you here.
In Lessons 1 and 2, you learned HTML — the skeleton of every web page on the internet. You learned about elements, tags, attributes, headings, paragraphs, lists, links, and images. You built your first web page, and for the first time, a browser took your instructions and turned them into something visible. That was the moment you stopped being someone who uses the web and started being someone who creates it.
In Lessons 3 and 4, you learned CSS and discovered that you could make your web pages beautiful. Colors, fonts, spacing, borders, layouts — you learned how to control every visual detail. You learned about selectors, specificity, the box model, flexbox, and responsive design. Your pages stopped looking like plain text documents and started looking like real, professional websites that work on screens of every size.
In Lessons 5 and 6, everything changed. You learned JavaScript, and your web pages came alive. Variables, functions, conditionals, loops, arrays, objects, DOM manipulation, event listeners — suddenly you were not just displaying information, you were building programs that think, make decisions, and respond to what people do. That was the lesson where you crossed the line from "web designer" to "programmer."
In Lessons 7, 8, and 9, you leveled up your frontend skills with the DOM, the fetch API, forms, accessibility, and how to build real interactive applications. You learned how to talk to servers, how to handle user input safely, and how to make your sites usable for everyone — including people using screen readers and assistive technology. You learned that great developers do not just build things that work; they build things that work for everybody.
In Lesson 10, you put your professional life into code. You built a portfolio website and learned about presenting yourself to the world as a developer. You created something that employers can see, that you can share with pride, and that proves you are not just learning — you are building.
Then came the backend. In Lessons 11 and 12, you installed Java, learned an entirely new programming language, and built your first Spring Boot application. Think about that. You learned two programming languages. Most people never learn one. And you discovered something powerful: the second language was easier than the first, because the core concepts — variables, functions, loops, conditionals — are universal. You did not just learn Java. You proved to yourself that you can learn any language.
In Lessons 13, 14, and 15, you built a real REST API. You created endpoints that accept and return data. You connected a database so your application can remember things permanently. You learned about CRUD operations, input validation, error handling, and the patterns that professional developers use every day at real companies. You became a full-stack developer — someone who can build both the part users see and the part they do not.
In Lesson 16, you paused to reflect on your Java and Spring Boot journey and planned your next steps. You already knew, even then, that you were building something real.
In Lessons 17 through 22, you dove deep into databases. You learned about relational databases, SQL, MySQL, data types, schema design, non-relational databases, legacy systems, and MySQL Workbench. You learned how virtually every application on the planet stores, retrieves, and manages data. You learned the difference between SQLite and MySQL, between relational and NoSQL approaches, and you gained hands-on experience writing real SQL queries against real databases.
And then came the capstone. In Lessons 23 through 29, you built Resumator — a complete, full-stack job search application. You planned the project from scratch. You designed the database schema. You built the Spring Boot backend with REST API endpoints. You created the frontend with HTML, CSS, and JavaScript. You connected everything together. You added Thymeleaf for server-side rendering and shared layouts. You built API usage tracking to manage your JSearch quota. You implemented local database search with parameterized queries. You learned about SQL injection, XSS, and the security fundamentals that every developer must know. You handled edge cases, validated input, and made it all work as a cohesive whole. Resumator is not a tutorial exercise. It is a real application that solves a real problem, and you built every piece of it.
Thirty lessons ago, you did not know what HTML stood for. Today, you have built a full-stack web application with a Java backend, a SQL database, a REST API, server-side templates, API usage tracking, local search, and security awareness. You did not just "take a course." You transformed yourself into a developer. That is something nobody can ever take away from you.
Every Skill You Have Acquired
The table below covers every major skill area you have learned across all 30 lessons of the Coders Farm curriculum. This is not an exaggeration or a motivational pep talk. These are real, marketable, professional skills that companies hire for. Read through this table and let it sink in. This is what you know now.
| Category | Skills You Learned |
|---|---|
| Frontend | HTML5 (semantic elements, forms, accessibility attributes, document structure), CSS3 (selectors, specificity, box model, flexbox, media queries, responsive design, custom properties), JavaScript (variables, data types, functions, conditionals, loops, arrays, objects, DOM manipulation, event listeners, fetch API, JSON, async operations) |
| Backend | Java (data types, classes, methods, object-oriented programming, packages, imports, annotations), Spring Boot (project setup, dependency injection, controllers, REST endpoints, request/response handling, application configuration, MVC architecture), Thymeleaf (server-side rendering, fragments, shared layouts, template syntax) |
| Databases | SQLite (embedded database, local development), MySQL (server-based database, production use, MySQL Workbench), SQL (SELECT, INSERT, UPDATE, DELETE, WHERE, JOIN, CREATE TABLE), data types, schema design, relational database concepts, NoSQL/non-relational database concepts |
| APIs | Building REST APIs from scratch, consuming APIs with fetch, HTTP methods (GET, POST, PUT, DELETE), status codes, JSON request/response format, third-party API integration, CRUD operations, input validation, error handling, API usage tracking and quota enforcement |
| Tools | VS Code (editing, extensions, integrated terminal), Git and GitHub (version control, repositories, pushing code), GitHub Pages (static site deployment), MySQL Workbench (database management, visual query building), browser DevTools (inspecting elements, debugging JavaScript, network tab) |
| Career | Resume writing for tech roles, LinkedIn profile optimization, portfolio website creation, job search strategy, interview preparation, presenting technical projects to employers |
| Security | SQL injection prevention (parameterized queries), Cross-Site Scripting (XSS) prevention (th:text, .textContent), OWASP Top 10 awareness, input validation and sanitization, API key security, principle of least privilege |
| Problem Solving | Reading and interpreting error messages, debugging strategies, breaking large problems into smaller pieces, searching for solutions independently, learning new technologies from documentation, planning and building projects from scratch |
Look at that table one more time. Count the categories. Count the individual skills within each one. This is not the skill set of someone "learning to code." This is the skill set of a junior full-stack developer. That is what you are.
Projects You Could Build Right Now
One of the most common feelings after finishing a curriculum is: "Okay, but what do I build now?" The answer is: almost anything you can imagine that involves a frontend, a backend, and a database. Here are six concrete project ideas, each with a description of what it involves and why it matters. Every single one of these is within your skill set right now.
Community Resource Finder
Build a civic tech application for the Lansing community that helps residents find local resources — food banks, shelters, free clinics, legal aid, tutoring programs, and job training centers. The backend would store resources with names, descriptions, addresses, categories, hours of operation, and contact information. The frontend would let users search and filter by category or keyword. This is the kind of project that does not just look good on a resume — it genuinely helps people. Lansing has organizations doing incredible work, and many of them struggle to be found online. Your code could change that.
Event Board
Create an application where community organizers can post upcoming events — meetups, workshops, volunteer days, concerts, farmer's markets — and where residents can browse, search, and RSVP. The database would store events with titles, descriptions, dates, times, locations, and organizer information. The API would handle creating, reading, updating, and deleting events, plus managing RSVPs. The frontend would display events in a clean, sortable list or calendar view. This is a project that exercises every skill you have learned: HTML for structure, CSS for layout, JavaScript for interactivity, Spring Boot for the API, and SQL for data storage.
Study Group Finder
Build a platform where learners can create and join study groups for any subject — coding, math, languages, science, job skills. Users can create a group with a topic, description, meeting time, location (or "online"), and maximum size. Other users can browse available groups, filter by topic, and join ones that interest them. This project would give you practice with one-to-many relationships in your database (one group has many members), which is a critical skill for any real-world application.
Budget Tracker
Create a personal finance application where users can log income and expenses, categorize transactions, and see summaries of their spending by category and time period. The backend stores transactions with amounts, dates, categories, and descriptions. The frontend displays a dashboard with totals, breakdowns, and maybe even simple charts. This project is personally useful (everyone needs to track their money) and it demonstrates your ability to work with numerical data, date ranges, and data aggregation — skills that employers value highly.
Recipe Manager
Build an application for storing, searching, and organizing recipes. Each recipe has a title, description, list of ingredients, step-by-step instructions, prep time, cook time, serving size, and category (breakfast, lunch, dinner, dessert, snack). Users can add their own recipes, browse all recipes, search by ingredient or name, and filter by category. This project is a great exercise in handling complex, nested data — a recipe is not just a flat row in a database; it has lists of ingredients and ordered steps, which challenges you to think carefully about your data model.
Inventory Tracker
Create a system for tracking inventory — whether for a small business, a community organization's supplies, or a personal collection. Items have names, descriptions, quantities, categories, locations, and reorder thresholds. The application can show what is in stock, what is running low, and the history of changes. This is the kind of practical, business-oriented application that many small organizations need and cannot afford to buy from commercial vendors. Building it demonstrates your ability to solve real business problems with code.
Skills to Pursue Next
You have a strong foundation. You can build complete web applications from front to back. But software development is a vast field, and there are skills beyond what this curriculum covered that will make you a stronger, more versatile, and more employable developer. Here is your roadmap. You do not need to learn all of these at once. Pick one or two that excite you most and start there. Each new skill you acquire makes the next one easier to learn.
Deployment (Render, Railway, Docker)
Right now, your applications run on your own computer. Deployment is the process of putting your application on a server so that anyone in the world can access it through a URL. This is one of the most important skills to learn next because it transforms your projects from "things on my laptop" to "things people can actually use." Render and Railway are beginner-friendly platforms that can host your Spring Boot applications with minimal configuration. Docker lets you package your entire application — code, dependencies, configuration — into a portable container that runs the same way everywhere. When an employer asks "Can I see your project?" you want to hand them a live URL, not a set of installation instructions.
Authentication (Spring Security)
Most real-world applications need user accounts — registration, login, logout, and protected pages that only logged-in users can access. Spring Security is the standard library for adding authentication and authorization to Spring Boot applications. You will learn about password hashing with BCrypt (so passwords are never stored in plain text), session management, CSRF protection, role-based access control, and the critical difference between authentication (proving who you are) and authorization (determining what you are allowed to do). This is a non-negotiable skill for building any application where users have personal data.
Testing (JUnit, Integration Tests)
Professional developers do not just write code — they write tests that verify their code works correctly. JUnit is the standard testing framework for Java. With it, you write small programs that call your methods with known inputs and check that the outputs are correct. Spring Boot also has excellent support for integration tests, which verify that your API endpoints, service layers, and database operations all work together correctly. When you make a change to your code six months from now, your tests will immediately tell you if you accidentally broke something. Learning to write tests will make your code more reliable and is a skill that virtually every employer looks for.
Git Mastery (Branching, Pull Requests, Code Review)
You have used Git and GitHub to store your code. But there is much more to Git than git add, git commit, and git push. Professional teams use branches to work on features in isolation, pull requests to propose and review changes before they are merged, and code review to catch bugs and share knowledge. Learning the Git command line — including branching, merging, resolving conflicts, and rebasing — is one of the most universally valuable skills in all of software development. Every team you will ever work on uses Git.
React
You have built frontends with plain HTML, CSS, and JavaScript, and you have used Thymeleaf for server-side rendering. These are powerful skills. But as applications grow larger and more interactive, many teams reach for a frontend framework. React is a client-side JavaScript library for building interactive user interfaces, and it is the most popular frontend framework in the industry. It lets you build reusable components, manage complex application state, and create single-page applications that feel instant. You already know JavaScript, so React builds directly on that foundation. Learning React will maximize your job opportunities — it is the most requested frontend skill in job postings today.
CI/CD with GitHub Actions
Continuous Integration and Continuous Deployment (CI/CD) is the practice of automatically testing and deploying your code every time you push changes to GitHub. GitHub Actions lets you define workflows that run your tests, check your code quality, build your application, and deploy it to a server — all automatically, every time you push. This means bugs are caught immediately, deployments happen consistently, and you spend less time on manual, repetitive tasks. CI/CD is standard practice at virtually every professional software team, and knowing how to set it up demonstrates that you understand modern development workflows.
Cloud Databases (AWS RDS, Google Cloud SQL)
You have worked with SQLite (an embedded database) and MySQL (a server-based database running on your machine). In production, databases typically run on cloud infrastructure. AWS RDS (Amazon Relational Database Service) and Google Cloud SQL are managed database services that handle backups, scaling, security patches, and failover for you. Learning to provision and connect to a cloud database is a practical skill that bridges the gap between development and production. The good news is that since you already know SQL and JDBC, the queries you write are exactly the same — only the connection configuration changes.
Contributing to Coders Farm
You did not learn to code in a vacuum. You learned through a platform that was built by people who care about this community — people who believe that everyone in Lansing deserves access to real, high-quality technical education regardless of their background or bank account. Now that you have the skills, you can be part of building that future for others.
Improve the platform. Coders Farm is open source. Every lesson, every line of code, every design decision is available on GitHub. If you found a confusing explanation, a typo, a broken link, or a place where a better example would help, you can fix it. Submit a pull request. Your first open-source contribution could be improving the very platform that taught you to code. That is a powerful story to tell in a job interview.
Write tutorials. You have a unique perspective that professional developers do not. You remember what it feels like to be brand new. You remember which concepts were hardest to understand and which explanations finally made things click. That perspective is incredibly valuable. Write a tutorial about something you struggled with and eventually figured out. The best teachers are not always the most advanced experts — they are the people who remember what it is like to not understand.
Mentor the next cohort. When new learners join Coders Farm and get stuck on Lesson 3 trying to understand CSS flexbox, or on Lesson 12 trying to get Spring Boot running, you will know exactly how they feel because you were there not long ago. Mentoring does not require you to be an expert. It requires you to be a few steps ahead and willing to share what you know. And teaching others is one of the most effective ways to deepen your own understanding.
Build technology for Lansing. This is where everything comes together. Lansing has community organizations, nonprofits, churches, schools, neighborhood groups, and local initiatives that need technology but cannot afford to hire professional development firms. A food bank that needs a better inventory system. A community garden that needs a volunteer scheduling tool. A neighborhood association that needs a website. A youth mentoring program that needs a way to match mentors with students. These are real problems that your real skills can solve. Building software that serves your community is one of the most meaningful things you can do as a developer.
You learned to code in this community. Now you can code for this community. That is the Coders Farm way: learn, build, give back, and lift others up behind you.
Your Final Checklist
Before you close this lesson, here are the concrete actions that will carry your momentum forward. Do not let the energy of finishing this curriculum fade. Channel it into these steps right now, this week, while everything is fresh.
- Update your resume with ALL the new skills you have acquired — HTML, CSS, JavaScript, Java, Spring Boot, Thymeleaf, SQL, MySQL, REST APIs, web security, Git, and GitHub
- Add Resumator to your portfolio website as a featured project with a description, screenshots, and a link to the live application or repository
- Push Resumator to GitHub with a thorough README that explains what the project is, what technologies it uses, how to run it locally, and what you learned building it
- Update your LinkedIn profile with your new skills, your Coders Farm experience, and links to your portfolio and GitHub
- Start your next project — pick one from the list above or come up with your own, and begin building this week
You Are a Developer
Thirty lessons. Hundreds of hours. Thousands of lines of code. You started with nothing — no experience, no background, no degree in computer science. You started with curiosity, determination, and a willingness to try something hard. And you did it. You learned HTML when you did not know what a tag was. You learned CSS when you did not know what a selector meant. You learned JavaScript when you had never written a function. You learned Java when one programming language already felt like enough. You learned Spring Boot, SQL, Thymeleaf, REST APIs, Git, and GitHub. You learned about SQL injection and web security. You built a portfolio website, a contact form API, a database-backed application, and a full-stack job search application called Resumator. You did all of that. You.
The tech industry does not care where you started. It cares what you can build. And you can build real, working, full-stack web applications. That is not a small thing. That is a life-changing thing. The skills you have now can open doors to careers you might not have imagined possible when you started Lesson 1. They can help you earn more, create more, and contribute more — to your family, to your community, and to Lansing.
So here is your assignment. It is the only assignment in this lesson, and it is the most important one in the entire curriculum:
Build things. Ship them. Help people.
Do not wait for permission. Do not wait until you feel ready. Do not wait for the perfect project idea. Build something small. Make it work. Put it on the internet. Then build something bigger. Keep going. The world needs more builders, and you are one of them now.
Welcome to the rest of your career. We are proud of you.
Finished the entire curriculum?