Personal learning OS · Eduardo · Santa Cruz

Build skill, make money, keep score.

Two tracks at once: land a tech job now for steady income, and build your own company and services on top of it. Master technology and business together, go from $0 to $100K+, and track all of it here, roadmaps, thoughts, learnings, a wishlist, and certs, in one place.

Progress at a glance

The two-track plan

Job funds the runway · company is the leverage
Track A · Now

A tech job for income

Get hired in an automation, backend, or data role, or take paid freelance gigs, using the skills you already hold. It covers your costs, buys runway, and pays you to keep leveling up. Target: steady monthly income in 60–90 days.

Track B · Next

Your company & tech services

Build the high-ticket services company on nights and weekends with the roadmaps in this manual, automation and agents first, security and cloud as premium layers. This is the ceiling: recurring revenue and leverage.

The ruleThe job is the floor, the company is the ceiling. Do not quit the job until the company's recurring revenue can replace it. Two income lines beat one, and a paycheck removes the desperation that makes you underprice clients.

Current focus

01Automation engineering, the spine. Python, APIs, n8n, Docker, self-hosting.
02Generative AI & agents, the premium layer you upsell inside automations.
03Secure the software you build, secure coding and DevSecOps, not a cyber career.
04Cloud & data, deploy at scale, and turn data into decisions clients pay for.

Roadmap progress

By the numbers

Everything you add saves in this browser on this device.

Recent thoughts

Next actions

Learning roadmaps

Pick a domain

Phase-based paths in learning order, each with sub-concepts, resources, and checkable progress. Your focus domains, plus the craft and career pages.

Page 04 · The Shift

Coding, AI, and what to become

Has AI made coding obsolete? What the real data says, what to focus on now, and which kind of engineer to be.

01 · The claim

Is it true that we won't code much anymore?

Half true. The typing is being automated. The engineering is not, and demand for it is going up, not down.

AI now writes a lot of the boilerplate, so you spend less time on raw syntax. But you do not stop being an engineer. Every official source points the same way: more demand for people who build software, and it moves higher up the stack.

+15.8%
U.S. software developer jobs, 2024 to 2034, "much faster than average." (BLS)
+57%
Software & app developers, among the fastest-growing roles to 2030. (WEF)
+143%
AI engineer job postings year over year, the #1 fastest-growing role. (LinkedIn)
The nuance that mattersThe BLS is explicit: AI grows roles focused on software design, and squeezes roles focused on routine production. Translation: the person who only types code to spec loses ground. The person who decides what to build and checks that it is right pulls ahead.
02 · The real shift

From writing code to directing and verifying it

What changed is where your value sits. AI drafts; you judge. The 2025 Stack Overflow survey of tens of thousands of developers makes it concrete:

Developers using AI tools84%Up from 76% the year before. Nearly universal now.
Who trust AI's accuracy29%Down from 40%. Adoption rose, trust fell.
Frustrated by "almost right" code66%The single biggest complaint in the survey.
Say debugging AI code takes longer45%AI moved the work, it did not remove it.

Read that carefully. AI writing code did not delete the work, it relocated it. The scarce, paid skill is now catching the "almost right", understanding the whole system, and being accountable for correctness and security. In the same survey, 61% of developers said they want to fully understand their code, and they are right to.

03 · What to focus on

The skills that go up in value

If AI does more of the typing, invest where it cannot be trusted to act alone. In rough priority for you:

1 · System & architecture designwhat to buildStructure, tradeoffs, data flow. BLS says design-focused work is exactly what AI grows.
2 · Reading, reviewing & verifying codeown correctnessThe scarce skill in an AI world. You are accountable for the "almost right" output.
3 · Debugging & testingprove it worksWhere AI-generated code fails, and the human still owns the fix.
4 · AI & agent engineeringthe frontierLLM APIs, tool-calling, RAG, agents. The fastest-growing role and skill set there is.
5 · Securitytrust is the productA top-3 fastest-growing skill (WEF). Ties straight to your Cybersecurity page.
6 · Data & contextfeed models truthPipelines, retrieval, clean data. This is already your edge as a data engineer.
7 · Problem framing & productthe right problemAI cannot decide what matters. Judgment and domain knowledge stay human.
8 · Communication & businessskill into incomeScoping, pricing, explaining. The half most engineers skip, and AI cannot do for you.
04 · The identity question

Software, automation, or AI engineer?

All three, as one person. That composite is exactly where the market is moving, and you are already most of the way there.

You wanted to be a software engineer. Keep that. Software engineering is the foundation that makes everything else trustworthy: without it you cannot review what AI writes or design a system that holds together. But do not stop there, because "produce code to spec" is the part AI compresses. Layer up:

AI & agent engineering, the frontier. LLMs and agents that decide and act. The premium tier and the fastest-growing role in the market.
·Automation engineering, the delivery. Wiring systems and workflows into things a business pays for. This is your job today.
·Software engineering, the foundation. Fundamentals, systems, review, security. What makes you accountable for AI's output.
The call
Aim to be the Software + Automation + AI engineer: fundamentals deep enough to be accountable, automation to ship, agents to command the premium.

That is a rarer and more valuable profile than any one of the three alone, and it is a straight extension of the Data & Automation Engineer you already are.

05 · What to do

Concretely, for you

01Do not skip fundamentals. Keep sharpening software engineering, especially reading and reviewing code. AI makes this more valuable, not less.
02Use AI, and verify everything. Treat its output as a fast draft you are accountable for. The 66% who get burned are the ones who trust it blindly.
03Go deep on agents. The fastest-growing role in the market, sitting right on top of your automation work. Follow the Automation page roadmap, stage 4.
04Keep security in view. A top-3 growing skill and a high-ticket wedge for you. See the Cybersecurity page.
05Sell outcomes, not code. The market pays for judgment and results, which AI cannot supply. That is your business layer.
06 · Sources

Where this comes from

Official and primary sources, so you can check every number yourself.

Next move: pick stage 4 on the Automation page and build one real agent this month. That single project puts you on the exact curve every source above is pointing at.
Free course

Foundations: computers before code

Never touched code? Start here. Understand what a computer is, how the internet works and how programmers think, before you write a single line.

7stages38lessons~5weeks
In plain words

Every course in this academy stands on these ideas. People who skip them can copy code but cannot fix it. People who learn them pick up any new tool quickly.

By the end you can
  • Explain what happens inside a computer when a program runs
  • Describe what happens when you open a website
  • Break a big problem into small steps
  • Choose which tech career to explore first
Your progress0%
Stage 01Beginner~4 days

What a computer is

0/5

Know the parts of a computer and what each one does, in plain words.

Build this

Open Task Manager (Ctrl+Shift+Esc on Windows) or Activity Monitor on Mac. Find the three programs using the most memory and write what each one is.

Stage 02Beginner~4 days

Files, folders and your tools

0/6

Get comfortable with the tools every developer uses before any code appears.

Build this

Make a folder called code, open it in VS Code, create index.html with the word Hello, save it and open it in the browser. Then list the folder from the terminal.

Stage 03Beginner~4 days

The internet and the web

0/5

Understand what really happens between your phone and a website, and how to stay safe.

Build this

Press F12 on any website, open the Network tab and reload. Count the requests and find the biggest file the page downloaded.

Stage 04Beginner~1 week

Thinking like a programmer

0/6

Learn the handful of ideas that every program in every language is built from.

Build this

Solve the first five levels of Logic Lab. Level five needs a function, so find the repeating pattern and give it a name.

Stage 05Beginner~1 week

Computer science basics

0/5

Meet the ideas first-year computer science tests you on, explained without scary words.

Build this

Write the exact steps to make breakfast so someone who never did it could follow them. Then ask an AI assistant to find a missing step and check if it is right.

Stage 06Beginner~4 days

The tech field and where you fit

0/5

Know which jobs exist, what their days look like, and which one to try first.

Build this

Pick the two jobs that sound most like you. Watch a day-in-the-life video of a real person doing each one and write one thing that surprised you.

Stage 07Beginner~1 week

Ready for what comes next

0/6

Build the habits that decide whether you finish a course or quit halfway.

Build this

Solve challenge 1 in Code Lab. It takes about a minute, and you will have written and run real code.

Go deeper

Longer, plain explanations of the ideas in this course, for when a lesson needs more.

01 · The machine

What a computer actually is

A computer is just a machine that follows instructions very fast. It has two halves: the physical parts (hardware) and the instructions (software).

Hardware, the physical parts

Hardware is anything you can touch. The CPU is the brain that does the calculations. RAM is short-term memory: fast, but wiped when you turn the machine off. Storage (SSD or hard drive) is long-term memory that keeps your files. The screen, keyboard, and mouse are hardware too.

Think of a kitchen: the CPU is the cook, RAM is the counter space you're working on right now, and storage is the pantry.

Software, the instructions

Software is the set of instructions that tells the hardware what to do. You can't touch it. An operating system (Windows, macOS, Android) is the software that runs everything else. Apps (a browser, WhatsApp, a game) are software built to do one job.

Hardware is the body; software is the thoughts telling it what to do.

02 · Programming

What programming really is

Programming is writing the exact, step-by-step instructions a computer follows. The computer is fast but literal: it does exactly what you say, nothing more.

The logic (the whole game)

Almost all code is built from four simple ideas. Variables are labeled boxes that hold a value (a name, a number). Sequence is doing steps in order, top to bottom. Conditions (if / else) make decisions: "if the user is logged in, show the dashboard, else show login." Loops repeat a step many times so you don't write it a thousand times.

That's it. Every app, no matter how big, is those four ideas stacked up.

What a programming language is

A programming language lets you write instructions in something closer to human words, which the computer then translates into its own 1s and 0s. Python reads almost like English and is great to start with. JavaScript runs in every web browser. There are many, but the logic above is the same in all of them, so learning one makes the next far easier.

Why logic matters more than the language

Beginners think they need to memorize a language. You don't. You need to think in steps and conditions. Once you can break a problem into "first do this, then if that, repeat this," writing it in any language is just looking up the exact words. Learn the thinking, not the syntax.

03 · The web

The internet, the web, and the words people mix up

The internet is the roads. The web is one kind of traffic on those roads. And "website" vs "web app" trips everyone up, here's the difference.

Internet vs the web

The internet is the global network of cables and computers connected together, the roads. The web is the system of pages and links you browse on top of it. Email and video calls also use the internet but are not "the web." So the web is one thing that runs on the internet, not the same as it.

Web page vs website vs web app

A web page is a single page. A website is a collection of pages about one thing, usually to read (a blog, a restaurant's site, a news site). A web app is a website you use and interact with, like a tool: Gmail, Google Docs, Netflix, or this academy. The line is simple: a website you mostly read; a web app you do things in.

Frontend vs backend

The frontend is everything you see and click in the browser: buttons, colors, layout. The backend is the engine on a server you never see: it stores data, checks your password, and does the heavy work. When you log in, the frontend takes your password and the backend checks it. Most apps need both.

What a server is

A server is just another computer, always on, that other computers ask for things. When you open a website, your browser (the client) asks a server for the page, and the server sends it back. "The cloud" is mostly just someone else's servers you rent instead of owning.

04 · Your tools

The tools you'll actually use

You don't need much to start. Here are the words for the tools every developer uses daily.

Files, folders, and extensions

Code lives in files, organized in folders. A file's extension (the bit after the dot) says what kind it is: .html for a web page, .css for styling, .js for JavaScript, .py for Python. The computer uses it to know how to read the file.

A code editor / IDE

You write code in a code editor. The most popular is VS Code, and it's free. An IDE (Integrated Development Environment) is a code editor with extra tools built in: running code, debugging, autocomplete. For most beginners VS Code is all you need, and people use "editor" and "IDE" loosely.

The terminal (command line)

The terminal is a text window where you type commands instead of clicking. It looks intimidating but you only need a handful of commands. It's how you run programs, install tools, and use Git. Every developer lives in it a little.

Git and version control

Git saves snapshots of your code as you work, like save points in a game, so you can go back if you break something. GitHub is a website that stores those snapshots online and lets people work together. You'll learn it early; past your first project it's non-negotiable.

05 · Computer science

How computers actually think

This is the part universities test you on in first year, and the part almost nobody arrives knowing. Learn it now and your degree gets dramatically easier.

Everything is numbers, and numbers are switches

A computer has no idea what a letter, a photo or a song is. It only knows on and off, which we write as 1 and 0. That is binary.

Think of a row of light switches. One switch gives you 2 options. Two switches give 4. Eight switches give 256, and eight switches is called a byte. Every letter you type is a number: the letter A is 65. Every colour is three numbers. Every song is thousands of numbers per second.

So when someone says "it is all ones and zeros", they mean it literally. Everything above that is humans agreeing on what the numbers mean.

What "running a program" really means

The CPU does one boring thing, billions of times a second: fetch an instruction, work out what it means, do it, repeat. That is called the fetch-decode-execute cycle and it is the entire secret of computing.

Each instruction is tiny. "Add these two numbers." "Put this number over there." "If this is zero, jump to that instruction." Nothing more clever than that. Fortnite, Instagram and the software flying an aeroplane are all just enormous piles of those tiny steps.

That is genuinely encouraging: the computer is not smarter than you. It is just much, much faster and never gets bored.

An algorithm is just a recipe

An algorithm is a set of steps that solves a problem, guaranteed to finish. A recipe is an algorithm. Long division is an algorithm you already learned at school.

Here is one you use without noticing. Looking up "Morales" in a phone book: you do not start at page 1. You open the middle, see you are too far, open the middle of what is left, and repeat. That is binary search, and it finds one name in a million in about 20 steps instead of a million.

Computer science is largely the study of finding steps like that: the ones that get the answer without doing the stupid amount of work.

Why some programs are fast and others crawl

Two programs can do the same job, one in a second and one in a week. The difference is how the work grows as the data grows.

Checking every name one by one in a list of 1,000 takes up to 1,000 looks. Double the list and it doubles to 2,000. Binary search on the same list takes about 10 looks, and doubling the list adds one look. That gap is why your phone can search millions of photos instantly.

You will meet this in university as "Big O notation". It sounds terrifying and it means exactly what you just read.

Data structures: how you arrange your stuff

Where you put things decides how fast you can find them. A messy bedroom and an organised one hold the same objects, but finding a sock takes very different amounts of time.

List (array): things in a row, numbered. Great for going through everything in order. Dictionary (map): things with labels, like a real dictionary. Instantly find "cat" without reading every word. Stack: like a pile of plates, last in, first out. That is exactly how the undo button works. Queue: like a line at the bank, first in, first out.

Choosing the right one is half of writing fast software.

Abstraction: the idea the whole field is built on

You drive a car without knowing how the engine burns petrol. The steering wheel hides the complexity and gives you a simple handle. That is abstraction.

Software is layers of this. Someone wrote the tiny CPU instructions so someone else could write an operating system, so someone else could write a language, so you can write one line that puts a button on a screen. You stand on about seven layers of other people's work every time you code.

Practical meaning: you do not need to understand everything to build something. You need to understand the layer you are on, and trust the rest until you need it.

Breaking a big problem into small ones

This is the single most valuable skill in this entire academy, and it needs no computer.

"Build Instagram" is impossible. "Show one photo on a page" is a Tuesday afternoon. Then "show a list of photos". Then "let someone upload one". Then "add a like button". Each one is small enough to actually start.

Every professional developer does exactly this, every day. When you feel stuck, you are almost never facing a hard problem. You are facing a big one you have not cut up yet.

Try it with no computerPlay Logic Lab in the Practice section. It is this whole section as a puzzle: break the route into steps, spot the repeating pattern, and turn it into a function. Nothing to install, no syntax to memorise.
06 · The tech field

The jobs that actually exist, honestly described

Most people choose a career from a job title they half understand. Here is what the days actually look like, so you choose with your eyes open.

Frontend developervisual, fast feedbackBuilds what you see and click. You see your work immediately, which makes it satisfying to learn. Good if you like design and instant results. Needs: HTML, CSS, JavaScript, React.
Backend developerlogic, invisibleBuilds the engine: databases, logins, payments, the rules. Nobody sees your work, but nothing runs without it. Good if you like puzzles more than pixels. Needs: a language, databases, APIs.
Data analystanswers, not appsTurns messy numbers into decisions a company acts on. Less coding, more asking the right question. The easiest well-paid entry into tech if you are decent at maths. Needs: Excel, SQL, a bit of Python.
Automation engineerquiet moneyMakes boring repeated work happen by itself. Fewer people compete for it, and small businesses pay well because you save them real hours. This is what I do. Needs: Python, APIs, tools like n8n.
Cybersecurity analystdefenceStops people breaking in, and finds out how they did when they do. Rarely an entry-level job straight from school. Learn how systems work first, then secure them.
AI / machine learning engineerhyped, realBuilds systems that learn from data. Genuinely exciting and genuinely maths-heavy. The hype makes people skip the fundamentals and then stall. Do not skip them.
DevOps / cloud engineerplumbing at scaleKeeps everything running, deployed and not on fire. Very well paid, usually after a few years elsewhere first.
Designer (UX/UI)code optionalDecides how a product should feel and work before anyone builds it. If you love the idea of tech but hate the idea of code, look here properly before you rule tech out.
QA / testerunderrated doorBreaks software on purpose so users never do. Often the easiest first job in the industry, and a normal route into development from the inside.
IT supportthe real ladderFixes things for people who need them working. Not glamorous, hires without a degree, and a huge number of senior engineers started exactly here.
The honest bitYou do not have to pick right now, and you will probably change your mind twice. What matters is that every job on this list is built on the same foundation you are reading. Learn the foundation and you can change direction later without starting over.
07 · Before university

Arrive ready, not scared

First-year computer science has a brutal drop-out rate almost everywhere. It is not because the students are not clever. It is because half of them meet all of this for the first time in week one, while the other half already knew it.

01Learn to type properly. Genuinely. If you look at the keyboard, every exercise takes you twice as long as the person next to you, forever. Ten minutes a day for a month fixes it permanently.
02Get comfortable with files and folders. Know where things are saved, what an extension is, and how to find a file without searching your whole computer. Lecturers assume this and never teach it.
03Do the maths that actually shows up. Not all of it. Logic and truth tables, basic algebra, percentages, and a little probability. If you want graphics or AI later, add matrices and calculus. If you want web or automation, you barely need more than the first list.
04Push your English. Almost every good document, error message and answer is in English. It is not a small advantage, it is the difference between finding your answer in one minute or thirty. Reading is enough to start.
05Write one small program before you arrive. One. Anything. The students who struggle most are not the ones who are bad at it, they are the ones for whom the entire thing is new at the same time as living away from home.
06Learn how to be stuck. Read the error, search the exact text, ask a specific question. Being stuck is not a sign you are failing, it is the normal state of the job. Panicking about being stuck is what makes people quit.
If you are not going to universityEverything above still applies, and none of it needs a degree. Nobody has ever asked me for mine. They ask what you can build. The difference is that without a degree you need proof, so build things and keep them where people can see them.

Where this leads

Jobs this prepares you for
Any path in techThis course is the base for every other course. It does not lead to one job, it opens all of them.
IT supportHelping people and companies keep their computers working. A common first job without a degree.
Take next

Ready for the final exam?

Pass it with 80% or more to earn the certificate for this course.

Reference · free

The 100 HTML tags that matter

HTML tags are like LEGO bricks. Each one has a job. You do not need to memorize them, you need to know which brick to grab. Search or filter, and copy the example.

Reference · free

What every web developer must understand

Not tools, ideas. If you understand these, every framework and language after this becomes easy. Explained simply, with real examples.

01 · The big picture

What happens when you open a website

Imagine ordering a pizza. You call the shop, they make it, they deliver it. The web works the same way.

01You type the address. Typing google.com is like dialing the pizza shop's number. But computers use numbers, not names, so DNS is the phone book that turns "google.com" into an address like 142.250.0.1.
02Your browser sends a request. "Hi, can I have the home page please?" That's an HTTP request. Your browser is the customer, called the client.
03The server makes the order. The server is a computer that is always on. It finds or builds the page you asked for.
04It delivers the files. You get back HTML, CSS, and JavaScript, plus images. That's the pizza arriving in the box.
05Your browser assembles it. It reads the HTML, paints the CSS, runs the JavaScript, and shows you a page. All of that in under a second.
Why this mattersEvery bug you will ever fix lives in one of those five steps. Knowing which step broke is half of being a developer.
02 · The big three

HTML, CSS and JavaScript, explained with a house

Every website on Earth is built from these three. That is not an exaggeration. Even Facebook is these three underneath.

HTML is the structure (the walls and rooms)

HTML decides what things are. This is a heading. This is a paragraph. This is a button. This is an image. It is the skeleton of the house: walls, doors, windows. Without it there is no page at all.

If you only wrote HTML, you would get a plain, ugly, black-and-white page, but it would work. Like a house with no paint and no furniture. It still stands.

<h1>My Pizza Shop</h1>
<p>The best pizza in Santa Cruz.</p>
<button>Order now</button>
CSS is the style (the paint and furniture)

CSS decides how things look. Colors, sizes, spacing, fonts, where things sit on the screen. Same house, but now painted, furnished, and arranged nicely.

The magic part: you can change the whole look of a site by changing only CSS, without touching a single word of the HTML. Like repainting your room without rebuilding the walls.

h1 {
  color: purple;
  font-size: 40px;
}
button {
  background: purple;
  border-radius: 999px;
}
JavaScript is the behavior (the electricity)

JavaScript decides what happens. Click a button and a menu opens. Type in a box and it checks your email. Data loads without refreshing the page. It is the electricity and plumbing that make the house actually work.

HTML and CSS cannot make decisions. JavaScript can: "if the user clicked this, then do that."

button.addEventListener('click', () => {
  alert('Your pizza is on the way!');
});
The one-line versionHTML = what it is. CSS = what it looks like. JavaScript = what it does. Learn them in that order, always.
03 · Core ideas

The concepts you will use forever

These come up on literally every project. Understand them once and you are set.

The DOM, your page as a family tree

When the browser reads your HTML, it builds a tree in memory, like a family tree. The body is the parent, a div inside it is the child, the text inside that is the grandchild. That tree is called the DOM.

Why you care: JavaScript changes the page by grabbing branches of this tree. "Find the button, change its color." Without the DOM there would be nothing to grab.

The box model, everything is a box

Every single thing on a web page is a rectangle, even round buttons (they are boxes with rounded corners). Each box has four layers, like a gift: the content (the gift), padding (bubble wrap inside), border (the box itself), and margin (space between this box and the next).

90% of "why is my layout broken" is a padding or margin misunderstanding. Learn this early and save months.

Responsive design, one site for every screen

Your site must look good on a tiny phone and a huge monitor. Instead of building two sites, you build one that stretches, like water taking the shape of its glass.

You do it with flexible widths (percentages instead of fixed pixels) and media queries, which say "when the screen is smaller than 600px, stack these side-by-side boxes on top of each other instead." Always design the phone version first, it is the hardest and most common.

Semantic HTML and accessibility

Semantic means using the tag that describes the meaning: <nav> for a menu, <button> for a button, not a <div> for everything.

Why: a blind person uses a screen reader that reads the page out loud. It can say "navigation, 5 links" only if you used the right tags. Google reads it the same way to rank you. Doing it right helps humans and your search ranking at the same time.

Events, how a page listens

An event is something that happens: a click, a key press, the page finishing loading, a form being submitted. Your JavaScript "listens" for these, like a dog waiting for the doorbell.

Everything interactive is: listen for an event, then do something. That is the entire pattern.

APIs and JSON, how apps talk to each other

An API is a waiter. You do not walk into the restaurant kitchen; you tell the waiter what you want and they bring it. Your site asks another service ("give me today's weather") and gets data back.

That data usually comes as JSON, which is just text organized in labeled boxes: {"city": "Santa Cruz", "temp": 28}. Easy for computers and humans to read.

Version control with Git

Git takes snapshots of your code, like save points in a video game. Break something? Load the last save. Working with a friend? You each work on your own copy and merge them together.

Nobody works professionally without it. Learn the five commands you actually use: add, commit, push, pull, branch.

Hosting, domains and deploying

Your site on your laptop is a diary in your drawer, nobody can read it. Hosting is putting those files on an always-on computer. A domain (mysite.com) is the easy-to-remember name that points there.

Today this is free and takes minutes: push to GitHub, connect Vercel or Netlify, and you have a real link you can send to anyone.

Browser dev tools, your X-ray glasses

Right-click any website and choose "Inspect." You can now see and change the HTML and CSS of any site live, see errors in the console, and watch the network requests.

This is the single most underused beginner tool. You learn by taking real sites apart. It is free and it is on every site in the world.

Performance and security, the grown-up stuff

Performance: people leave if a page takes more than about 3 seconds. The usual culprit is huge images. Shrink them and you have solved most of it.

Security: never trust what a user types, always check it on the server too. Never put passwords or secret keys in your frontend code, anyone can read it with Inspect.

Next move: open any website you like, right-click, Inspect, and change a heading's text and color. You just edited a real website. That is the whole job in miniature.
Reference · free

Code is not the only way

HTML, CSS and JavaScript are tools, not the only tools. You can also build websites with Wix, WordPress, Shopify and others. Here is the honest comparison and when to use each.

01 · The analogy

Three ways to get a house

You can build it brick by brick (code), assemble a prefab kit (WordPress), or rent a furnished apartment (Wix). None is "wrong." They fit different situations.

The trap to avoidBeginners argue about which is "real" development. That is a waste of time. Professionals pick the tool that solves the client's problem for the least money and time. Sometimes that is code. Often it is not.
02 · The options

Every option, honestly

Brick by brick

Writing code (HTML, CSS, JavaScript)

You build everything yourself. Total freedom: any design, any feature, no limits and no monthly fee for the tool itself.

Use it when: you want a career in tech, you are building a real app (login, data, dashboards), you need something custom that no template can do, or performance matters a lot.

Skip it when: a local bakery needs 4 pages by Friday. Coding that from scratch wastes everyone's money.

The prefab kit

WordPress

A ready-made system you install, then add themes (looks) and plugins (features). It runs roughly 4 out of every 10 websites on Earth. Huge community, cheap, and the client can edit their own text.

Use it when: blogs, news sites, business sites, anything content-heavy, and especially when the client wants to update it themselves without calling you.

Watch out: it gets slow and messy if you stack 30 plugins, and it needs updates and security care.

The furnished apartment

Wix & Squarespace

Drag and drop, no code at all. You pick a template, move things with the mouse, and publish. Hosting, security and updates are handled for you, for a monthly fee.

Use it when: a small business or a personal portfolio needs to be online fast and cheap, and nobody technical will maintain it.

Watch out: you are renting. You cannot easily move your site somewhere else later, and you hit walls the moment you want something unusual.

The designer's middle ground

Webflow & Framer

Visual builders that generate real, clean code underneath. You design with your mouse but get near-code-level control, animations and responsive design.

Use it when: the design must be beautiful and custom, but you do not want to hand-code every pixel. Very popular for agency and startup marketing sites.

Watch out: a real learning curve, and still a monthly cost.

The specialist

Shopify

Built for one job: selling products online. Payments, inventory, shipping and checkout all work out of the box, which is the hardest part of e-commerce to build yourself.

Use it when: the client sells physical or digital products. Do not rebuild a shopping cart from scratch, it is a solved problem.

The shortcut

AI site builders & no-code tools

Describe your site and it generates one in minutes. Great for a quick landing page or testing an idea before investing.

Use it when: you need something online today to validate an idea.

Watch out: least control, and often generic. Fine as a start, not as a foundation for a serious product.

03 · How to choose

The 30-second decision

Is it a shop selling products?→ ShopifyDo not rebuild payments and checkout. It is months of work and a security risk.
Is it a blog or content site the owner will edit?→ WordPressThey can write posts without you. That is worth more than elegant code here.
Is it a simple site needed fast and cheap?→ Wix / Squarespace4 pages, small budget, no technical owner. Done in a weekend.
Does the design have to be stunning and custom?→ Webflow / FramerFull visual control without hand-coding every detail.
Does it have accounts, data or real logic?→ Code itLogins, dashboards, calculations, anything unique. Builders will fight you.
Are you learning to become a developer?→ Code itBuilders will not teach you the skills companies pay for. Build by hand while you learn.
The money angleKnowing both makes you more valuable, not less. You can charge for a fast WordPress or Wix site this week, and charge far more for a custom coded app later. Many freelancers earn their first income with builders while learning to code on the side.
The honest truth: tools change every few years. WordPress, Wix and whatever comes next are all temporary. HTML, CSS, JavaScript and the concepts behind them have lasted 30 years and will outlive them all. Learn the fundamentals, use whatever tool fits the job.
For schools, teachers and parents

Most students choose a career they do not understand

They pick at 17, based on a job title, a salary they read somewhere, and what a relative told them. Then a third of them change course or drop out, having lost a year and a lot of money. This is a fixable problem, and it is fixed before university, not during it.

01 · The problem

Two things go wrong, and both happen before day one

They choose blindproblem 1A student picks "systems engineering" without knowing the difference between frontend, backend, data and security, or that design and IT support are careers too. They are choosing a word, not a life.
They arrive unpreparedproblem 2First-year computing has one of the highest drop-out rates of any degree. Not because students are not clever, but because half the room already knew what a file path, a terminal and a variable were, and half met all of it in week one while also learning to live alone.
The cost is realwhat it meansA year of tuition, a year of their life, and a confidence hit that some of them never fully recover from. Meanwhile the ones who arrived prepared find the same degree genuinely enjoyable.
The good newsBoth problems are solved by the same thing: a few weeks of honest foundations before they commit. Not a coding bootcamp. Understanding what the field is, what the jobs are really like, and how computers actually think.
02 · What we do

A workshop, and a platform they keep afterwards

Two parts. The talk gets their attention. The platform is what actually changes the outcome, because it keeps working after I leave the building.

1. The session at your schoolIn person

A working engineer, not a recruiter, explaining the tech field honestly: what the jobs really are, which need heavy maths and which do not, what a normal day looks like, what it pays, and what nobody tells them. Then every student takes a short quiz that suggests a direction based on how they actually answered.

Students leave with: a suggested direction, a free account, and the first course already open.

2. The platform they take homeFree to start

The Foundations course: what a computer really is, how the internet works, how computers think, the jobs that exist, and how to arrive ready. Plus Logic Lab, which teaches programming logic as a puzzle with no code at all, and Code Lab, where they write real code in the browser and it checks their work automatically.

You get: students who keep going after the assembly ends, which is the part most careers talks never achieve.

What a student can actually show you afterwards

A profile with real numbersproofLessons completed, logic levels solved, code challenges passed, exam scores, day streak. Not a certificate of attendance. Evidence of work, visible to a parent or a teacher at a glance.
Code they wrote themselvesproofThe challenges are checked by running the student's code and measuring the result, not by ticking a box. If it says they built it, they built it.
A direction, with a reasonthe pointNot "I think I'll do systems." Rather "I want backend because I prefer logic to design, and I already built three things to check."
03 · How it works

Practical details

01One session, 60 to 90 minutes. Works as an assembly, a class, or a careers day slot. Any year group from 15 upwards, though 16 to 18 is the sweet spot because the decision is close enough to feel real.
02All it needs is a projector. Students can follow on phones if there is wifi, or on school computers, or on nothing at all and sign up later. Nothing to install, ever. It runs in a browser.
03Every student gets free access. The Foundations course, the path quiz, Logic Lab, Code Lab and every reference guide cost nothing and stay free. There is no trial that expires on them.
04Teachers can see the group's progress. Useful for a careers department that has to report on what actually happened after the talk.
05It is in Spanish and English. Built in Santa Cruz, for students here first, by someone who learned all of it here.
Why I am doing thisI taught myself all of this from Santa Cruz and now build software and automation for clients in the United States. Nobody told me any of it at 17, and I lost time I did not need to lose. The whole point is that the next student does not have to.
04 · Who is running it

A working engineer, not a careers advisor

Eduardo Shande. Data and automation engineer, Santa Cruz, Bolivia. Three years building software, data pipelines and AI automation for clients in Bolivia and the United States.

Self-taught, no computer science degree. That matters here, because it means the advice students get is about what actually works rather than what a syllabus says should work. It also means the honest parts get said out loud: which jobs are oversold, which are quietly well paid, when a degree is worth it and when it is not.

Interested? If you run a school, teach a class, or you are a parent who wants this for your child, get in touch and we will find a date. The session is free for schools in Santa Cruz while the programme is starting.
Reference · free

The tools, and how they fit together

Nobody builds anything with one tool. They build with a chain of them, where each one hands its work to the next. Beginners drown because they meet the tools one at a time and never see the chain. Here is the chain first, then the tools.

01 · The starter kit

Eight tools, and you can build almost anything

There are thousands of developer tools and it is genuinely overwhelming. You need about eight, they are all free, and the list has barely changed in a decade.

A code editorVS CodeWhere you write everything. Free, runs on any machine, and what most of the industry uses. Install it today and open a folder, not a file.
A browser with dev toolsChrome or FirefoxNot for browsing. F12 opens the X-ray view: the HTML as it really is, the network requests, the errors. You will live here.
A terminalalready installedTyping commands instead of clicking. Roughly six commands cover almost everything you will do in your first year.
Gitsave pointsSnapshots of your work you can return to. The reason you never lose a day again, and non-negotiable past your first project.
GitHubthe shelfWhere those snapshots live online. Also your portfolio, your backup, and the first thing an employer looks at.
A place to deployVercel or NetlifyTurns your folder into a real address other people can open. Free tier, connects to GitHub, deploys on every push.
An AI assistantuse it properlyA tutor that never gets tired, and a trap if you let it write things you cannot read. The academy has a whole page on using it well.
Somewhere to thinkNotion, paper, anythingWhere the plan lives before the code does. The step almost every beginner skips and then pays for.
All of it is freeEvery tool in that list has a free tier that is genuinely enough to learn on and to ship real projects. If a tutorial tells you to pay for something in your first year, close the tutorial.
02 · Toolchains

How the tools combine to make one real thing

This is the part nobody explains. A tool on its own is trivia. A tool passing its output to the next tool is how work actually happens. Each chain below is a real workflow you can copy today.

Ship a website

Start here

The first chain everyone should complete, end to end, in one afternoon. Do this once and half of tech stops being mysterious.

VS Codewrite it Gitsave points GitHubstore it Vercelpublish it A real URLsend to anyone

The magic moment: once GitHub and Vercel are connected, you type git push and your live site updates by itself in about twenty seconds. That is the whole modern workflow, and it is free.

Build an API

Backend

The chain behind every app that has accounts, saves data, or does anything a page alone cannot.

VS Codewrite it FastAPIthe framework PostgreSQLstore the data Postmantest it Dockerpackage it Railwayrun it

Worth knowing: FastAPI generates an interactive test page for free, so you can skip Postman until you need to save collections. That is the general rule with tools: use the one already in the box first.

Automate a business

Fastest to get paid

The chain that earns money soonest, because a small business will pay for ten hours a week back and will not care how you did it.

The problemwatch them work n8nthe wiring Their appsSheets, WhatsApp, mail An AI stepread and classify Hours savedyou invoice this

The trick: you are not selling n8n. You are selling "the order confirmations send themselves now." Never lead with the tool, always lead with the hours.

Answer a question with data

Data

Least code of any chain here, and it is a real job in almost every company.

The questionmake it specific SQLfetch it Sheets or pandasclean it Looker Studioshow it A decisionsomebody acts

Where beginners stop too early: at the chart. The chart is not the deliverable. The sentence under it is.

Add AI to something real

AI

Notice that the model is one box in the middle. Everything around it is ordinary engineering, which is exactly why the fundamentals matter more now, not less.

Your appwhere users are Your backendholds the key Claude or GPTthe model Validationcheck the output A featurethat can be trusted

Never skip the second box. The API key lives on your server, never in the browser. A key in frontend code is visible to everyone and people will spend your money with it.

Design, then build

Frontend

Deciding what it should look like before you write CSS saves more time than any other habit on this page.

Paperugly and fast Figmathe real layout HTMLstructure first CSSthen looks A pagethat survives a phone

Free for students: Figma's free tier is generous, and paper is cheaper. Most professionals still start on paper.

03 · Every tool

What each one is for, in one line

Grouped by the job it does. You do not need most of these yet. The point is that when someone says the name, you know which box on a chain it lives in.

Writing code
  • VS Code the editor almost everyone uses. Free.
  • Extensions Prettier formats your code, ESLint catches mistakes, Live Server reloads the page as you type.
  • A terminal where you run things. Six commands cover year one.
  • CodePen a scratchpad in the browser for a quick test with nothing installed.
Keeping and sharing your work
  • Git the save points, on your machine.
  • GitHub those save points online, plus your public portfolio.
  • Branches a copy where you try something risky without breaking the working version.
  • Pull requests how teams review each other's work before it counts.
Publishing it
  • Vercel or Netlify best for frontends. Connect GitHub, done.
  • Railway or Render for a backend and a database, with usable free tiers.
  • Cloudflare free DNS, and makes your site faster worldwide.
  • A domain around ten dollars a year, and it changes how people see you.
Data
  • PostgreSQL the default serious database. Free and open source.
  • SQLite a database in a single file, perfect for learning.
  • DBeaver or TablePlus click around your database instead of guessing.
  • Looker Studio free dashboards, connects to Sheets in a minute.
Testing and checking
  • Browser dev tools the most underused tool in this entire list.
  • Postman or Thunder Client poke an API without building a frontend.
  • Lighthouse built into Chrome, grades speed and accessibility for free.
Automation and AI
  • n8n connect apps together visually, self-hostable and free.
  • Zapier or Make the same idea, easier, paid sooner.
  • Claude, ChatGPT, Gemini tutor and pair, never an author you cannot check.
  • APIs not a tool but the thing that makes tools combine at all.
Thinking and planning
  • Figma design the screen before you build it. Free tier.
  • Notion or Obsidian where your notes and plans live.
  • Excalidraw free, ugly on purpose, perfect for sketching how something works.
  • Paper still undefeated for the first five minutes of any problem.
04 · When to add one

Learn a tool when the problem appears, not before

The most common way to waste a month is to learn a tool you have no use for yet. You will forget it, because nothing hurt enough to make it stick.

You lost work, or broke something and could not go backnow learnGit. The pain of losing a day is what makes commits become a habit.
Somebody asked to see your projectnow learnGitHub and a deploy host. A link beats a zip file every single time.
Your page needs to remember somethingnow learnA backend and a database. Not before, or you are learning an answer to a question you have not asked.
"It works on my machine"now learnDocker. That exact sentence is the moment it starts making sense, and not one day earlier.
You changed something and broke something elsenow learnAutomated tests. Everyone resists this until it happens twice.
You do the same twenty clicks every weeknow learnAutomation, with a script or n8n. This is also the moment somebody would pay you to do it for them.
The rule, in one lineA tool is an answer. Go and find the question first, and the tool will take an afternoon instead of a month.
Next move: do the first chain today. Write one HTML page, put it on GitHub, connect Vercel, and send the link to somebody. It takes about an hour and it makes every chain after it obvious.
Community · public and moderated

Nobody learns this alone

Every developer you admire got unstuck by asking somebody. Ask here when you are stuck, and answer when you are not. Explaining something badly and then better is how you find out you actually understood it.

Free tool · nothing leaves your device

Ask a better question

Type the question you were about to send. This will tell you exactly what is missing from it, rewrite it into one that can actually be answered, and turn it into a prompt worth giving an AI. Learning to ask well is the single skill that speeds up everything else you learn.

01 · The tool

Paste your question, badly

02 · Why it matters

A good question is half the answer

This is not about being polite. It is that the act of writing a proper question solves the problem surprisingly often, before anybody reads it.

It has a name: rubber duck debugging. Programmers keep a rubber duck on the desk and explain the problem to it out loud. Somewhere around sentence three they say "oh" and fix it themselves. Nothing about the duck helped. Being forced to say it in order did.

"My code doesn't work"unanswerableDoesn't work how? Blank page, wrong number, red text, nothing at all when you click? Each of those is a different problem with a different cause. Nobody can pick.
"Why is my button broken?"unanswerableNobody can see your button. They cannot see your code, your screen, or your error. You have to bring all of that to them.
"I expected the list to show 3 items, it shows none, console says Cannot read properties of null"answerable in one lineAnybody who has written JavaScript knows this one instantly. It is the same problem as the first two. It is just askable now.
The five ingredientsEvery answerable question has these: what you are trying to do, what you expected, what happened instead, the exact error, and what you already tried. Miss one and the person helping has to guess. Miss three and they move on to somebody else's question.
03 · Using AI properly

How to make AI actually teach you

AI will answer a lazy question. That is exactly the danger. It hands you code that works, you paste it, and you have learned nothing and cannot fix it when it breaks next week.

Ask for the reason before the code

The default reply to "fix my code" is a wall of code. You paste it, it works, and you are no better than you were an hour ago. Then it breaks and you are stuck again with a file you no longer recognise.

Always say: "explain what is causing this before showing me any code." That single sentence turns a vending machine into a tutor.

Give it what you would give a person

The five ingredients above work on AI too, for the same reason. "It doesn't work" gets a guess. Your goal, your code, your error and what you tried gets an actual diagnosis.

The prompt this page builds already has them arranged in that order, which is why it is worth copying rather than typing "help" and hoping.

Ask for the smallest fix, not a rewrite

Left alone, AI will happily rewrite your whole file in a style you did not choose, using things you have not learned. Now you cannot read your own project.

Say "show me only the lines that change." You want a repair, not a replacement.

Never paste code you cannot explain

This is the rule that matters most, so make it a hard one for yourself. If you cannot say out loud what a line does, you are not allowed to use it yet.

Ask instead: "what does line 3 do, and why is it needed?" Keep asking until you could rewrite it from memory. That is the difference between a student who gets good in a year and one who is still stuck in three.

It will be confidently wrong

AI does not know when it is guessing. It will invent a function that does not exist, name an option that was removed years ago, and describe it all in the same calm, certain voice it uses when it is right.

So verify: run it, and check anything unfamiliar against the real documentation. When it names something you have never heard of, that is exactly the moment to look it up rather than trust it.

Ask it to quiz you

The most underused prompt there is: "ask me three questions about this code to check whether I actually understood it."

You will find out in about a minute whether you learned the thing or just watched it happen. Uncomfortable, and worth far more than another answer.

Where AI does not belongDo not paste anything personal into it: not your full name, not your school, not your address, not anyone else's. And when a task is meant to prove you can do something, doing it with AI only proves the AI can. You will be the one in the interview.
Next move: take the last thing you were stuck on, run it through the tool above, and notice how often you solve it before you finish typing.
Your profile

Everything you have done, in one place

These numbers are yours and they never reset. Show this page to a parent, a teacher, or one day an employer. It is proof you did the work, and proof is worth more than a promise.

Code Lab · free

Practice: think it, then build it

Two labs, in this order. Logic Lab teaches you to think in steps with no code at all: sequencing, loops, functions and debugging, as a puzzle. It is the part everyone skips and then struggles with forever. Code Lab gives you a real editor and a live preview to write actual HTML, CSS and JavaScript.

Why this is the important pageReading about code teaches you almost nothing. You learn by trying it, breaking it, and fixing it. Everything else in this academy exists to get you here. Logic Lab has 14 levels, a new challenge every day, endless generated levels, and an editor so you can build your own and send them to friends. Code Lab actually runs your code and measures the result, exactly like a real test at a real job.
Reference · free

Learn free, from the companies that built it

Google, Meta, Amazon, Microsoft, IBM and Cisco give away world-class training. Not trial versions, not teasers. Real courses, many with a certificate, all $0. Here is the shortlist, sorted by topic, so you never pay for something that was free.

00 · Read this first

A list of courses is not a plan

The most common way to waste a year in tech is to collect free courses like stickers and finish none of them.

Imagine a kid who owns 40 books and has read none. That is what a bookmark folder full of courses is. Owning is not learning.

Pick ONE per topicrule 1Not three. One. Finish it before you open another tab. Two half-finished courses teach you less than one finished one.
Follow the roadmap, use these as the textbookrule 2Our roadmap tells you what to learn and in what order. These links are where you actually learn it. The order matters more than the source.
Build something after every courserule 3A certificate proves you watched. A project proves you can. Nobody has ever been hired for a badge alone.
"Audit for free" is a real optionrule 4On Coursera you can watch every Google and Meta course for $0 by choosing "audit". You only pay if you want the paper. Learn free, pay later only if a certificate helps you.
Why these companies give it awayIt is not charity. Google wants more people using Google Cloud. AWS wants more AWS engineers. Meta wants more React developers. Their business need is your free education, and the training is excellent because it has to be. Take the deal.
01 · Fundamentals

If you are starting from absolute zero

Do one of these before anything else. They teach you how to think, which is the part that never expires.

02 · Web development

HTML, CSS, JavaScript and React

The people who wrote the rules of the web also wrote the best free courses about it. Use the source.

03 · Backend, databases & data

The part behind the screen

04 · Cloud

Where every real app actually lives

All three giants train you free, because they want you fluent in their platform. That is your gain.

Which one should you learnPick one and go deep. AWS has the most jobs worldwide, Azure wins in big corporations, Google Cloud is strong in data and AI. The concepts transfer between all three, so the choice matters far less than finishing.
05 · AI, agents & GenAI

The fastest-moving field, taught free by the people building it

06 · Cybersecurity

Free training that employers actually recognise

07 · Automation & tools

The skills that get you paid fastest

Automation is the shortest path from "learning" to "someone pays me", because you can save a small business ten hours a week with a weekend of work.

Next move: close this page, open one link, and finish it. One. The list will still be here when you are done.
Reference · free

JavaScript, from the ground up

Four blocks, in this order: the language, the DOM, events, libraries. Skip a block and everything after it feels like magic you cannot fix. Do them in order and it feels obvious.

01 · The big picture

What JavaScript actually is

HTML is the body. CSS is the clothes. JavaScript is the brain and the muscles. It is the only one of the three that can decide and change things.

Imagine a puppet. HTML builds the puppet: head, arms, legs. CSS paints it and dresses it. But it just sits there. JavaScript is the hand inside it. Now it moves, it answers, it remembers, it reacts to you.

Why it matters so muchJavaScript is the only programming language a browser understands. Every single interactive thing you have ever used on the web, every menu that opens, every "add to cart", every live search, is JavaScript. Learn it well and you can build almost anything on the web.
01Learn the language first. Variables, decisions, loops, functions, arrays, objects. This part has nothing to do with websites. It is just how to think in code.
02Then learn the DOM. How JavaScript reaches into the page and changes it.
03Then learn events. How the page notices what the user does and reacts.
04Only then, libraries. Other people's code that saves you time. Useless to you before step 3, because you will not know what it is doing for you.
02 · Block A

The fundamentals: how to think in code

These eight ideas are the entire language. Everything else, including React, is built out of exactly these. Learn them once, use them for the rest of your life.

Variables: labeled boxes

A variable is a box with a name on it, and you put something inside. Later you say the name and get the thing back.

Think of your school backpack. One pocket has a label that says "lunch". You do not care what is inside right now, you just say "give me the lunch pocket" and you get it.

const means the box is sealed, you will never swap what is inside. let means you might change it later. Use const by default, it prevents bugs.

const name = 'Ana';      // never changes
let score = 0;           // will change
score = score + 10;      // now it is 10
Types: what kind of thing is in the box

The computer needs to know if something is words, a number, or a yes/no, because it treats them differently.

Real example: "5" + "5" gives you "55" because those are words being glued together, but 5 + 5 gives you 10 because those are numbers. Same symbols, completely different result. This exact confusion causes more beginner bugs than anything else.

string   // words:    'hello', "Ana"
number   // numbers:  7, 3.5, -20
boolean  // yes/no:   true, false
null     // on purpose empty
undefined// nobody put anything here yet
Conditions: teaching the computer to choose

An if is a fork in the road. "If it is raining, take the umbrella. Otherwise, do not."

The computer checks whether something is true, then runs one path or the other. That is it. Every login screen, every game over, every "you must be 18" check in the world is this.

One trap: = means "put this in the box". === means "are these the same?". Beginners mix them up constantly.

const age = 15;

if (age >= 18) {
  console.log('You can enter');
} else {
  console.log('Too young, sorry');
}
Loops: doing it again without retyping

Imagine your teacher says "write your name 100 times". A loop is telling the computer "do this 100 times" in one line instead of copying it 100 times.

You will use this every time you have a list: show all 40 products, check all 200 emails, draw all 12 months.

for (let i = 1; i <= 3; i++) {
  console.log('Round ' + i);
}
// Round 1 / Round 2 / Round 3

for (const fruit of ['apple', 'mango']) {
  console.log(fruit);
}
Functions: a recipe you save and reuse

A function is a set of steps you give a name, so you can run it again whenever you want without rewriting it.

Like a blender. You put fruit in (the parameters), it does its thing inside, and juice comes out (the return). You do not care how the motor works, you just use it. And you can put in different fruit each time.

Writing the same code twice is the signal to make a function. Always.

function greet(name) {
  return 'Hello ' + name + '!';
}

greet('Ana');   // 'Hello Ana!'
greet('Luis');  // 'Hello Luis!'

// same thing, shorter (arrow function)
const greet2 = (name) => 'Hello ' + name;
Arrays: a numbered shopping list

An array is a list of things in order, inside square brackets. Like a shopping list where each line has a number.

Careful: computers start counting at 0, not 1. The first item is number 0. Everyone gets this wrong at first, then never forgets it.

const fruits = ['apple', 'mango', 'papaya'];

fruits[0];        // 'apple'  (the FIRST one)
fruits.length;    // 3
fruits.push('kiwi'); // add to the end
Objects: a backpack with labeled pockets

An object groups related information about one thing, with a label on each piece. An array is "many things"; an object is "many facts about one thing".

A student is not three separate variables floating around. A student is one object with a name, an age, and a grade. When you fetch data from the internet, this is almost always what you get back.

const student = {
  name: 'Ana',
  age: 15,
  passing: true
};

student.name;   // 'Ana'
student.age = 16;  // birthday!
Array methods: the tools you will use every single day

Once you have a list, you almost always want to do one of four things to it. JavaScript gives you a word for each one, and professionals use these constantly.

  • map = change every item. A list of prices, add tax to all of them.
  • filter = keep only some. From all students, keep the ones who passed.
  • find = get the first one that matches. Find the student named Ana.
  • reduce = squash the whole list into one value. Add up the whole bill.
const prices = [10, 20, 30];

prices.map(p => p * 2);        // [20, 40, 60]
prices.filter(p => p > 15);    // [20, 30]
prices.find(p => p > 15);      // 20
prices.reduce((a, b) => a + b); // 60
Do this before moving onOpen your browser, press F12, click Console, and type these in. Right now. Reading code teaches you almost nothing. Typing it, breaking it, and fixing it teaches you everything.
03 · Block B

The DOM: how JavaScript touches the page

The DOM is the bridge between your code and what people see. Without it, JavaScript could calculate things beautifully and nobody would ever notice.

When the browser reads your HTML file, it does not keep the text. It builds a living tree in its memory: body is the parent, the div inside is the child, the text inside that is the grandchild. That tree is the DOM, and what you see on screen is a picture of it.

Here is the key idea nobody explains: JavaScript never edits your HTML file. It edits that tree in memory, and the screen instantly redraws to match. That is why the page changes without reloading, and why refreshing wipes it all away.

Find something on the page

Before you can change anything, you have to grab it. You point at it with the same words you use in CSS: .class, #id, or the tag name.

// one element (the first match)
const title = document.querySelector('h1');
const btn   = document.querySelector('#order-btn');

// all matches, as a list
const cards = document.querySelectorAll('.card');
Change what it says and how it looks

Once you hold it, you can rewrite its text, add or remove a CSS class, or change a style directly.

Best practice: change the class, not the style. Keep the look in CSS where it belongs. JavaScript should say "this is now active", and CSS should decide what active looks like.

title.textContent = 'New title';

card.classList.add('active');
card.classList.remove('hidden');
card.classList.toggle('open');  // on/off switch

card.style.background = 'purple'; // works, but prefer classes
Create and delete elements

This is how every feed, every list, every search result on the internet appears. The HTML file did not contain those 40 products. JavaScript got the data and built 40 boxes.

const li = document.createElement('li');
li.textContent = 'Buy milk';
document.querySelector('ul').append(li);

li.remove();  // gone
The mental modelFind it. Change it. Or build a new one and stick it in. Every DOM task you will ever do is one of those three.
04 · Block C

Events: how the page listens to a human

An event is something that happens: a click, a key press, a form being sent, the page finishing loading. Your job is to wait for it and then react.

Think of a dog waiting for the doorbell. The dog does not check the door every two seconds. It sleeps, and the bell wakes it up. Your code is the same: you do not constantly ask "did they click yet?". You leave a note that says "when a click happens, run this", and then the browser wakes your code up.

Listen and react (the whole pattern)

Three parts, always: what to watch, which event, and what to do. That is the entire idea of interactive web development.

const btn = document.querySelector('#order');

btn.addEventListener('click', () => {
  alert('Your pizza is on the way!');
});

The events you will actually use: click, input (typing), submit (a form being sent), keydown, change, DOMContentLoaded (the page is ready).

The event object: details about what just happened

The browser hands your function a little report about the event. Which element was clicked, what key was pressed, where the mouse was.

e.preventDefault() is the one you will need first: by default, submitting a form reloads the whole page. That one line stops it, so you can handle it yourself.

form.addEventListener('submit', (e) => {
  e.preventDefault();          // stop the page reloading
  console.log(e.target);       // which element
});
Bubbling and delegation: the pro trick

When you click a button inside a card inside the page, the click does not only happen on the button. It travels upward: button, then card, then body. That is bubbling, like a bubble rising in water.

This sounds annoying but it is a gift. Instead of putting 100 listeners on 100 items, you put one on the parent and ask "what got clicked?". It is faster, and it even works for items created later. That is event delegation, and it is what separates a beginner from someone who knows what they are doing.

list.addEventListener('click', (e) => {
  if (e.target.matches('.delete-btn')) {
    e.target.closest('li').remove();
  }
});
05 · Block D

Libraries: standing on other people's shoulders

A library is code somebody already wrote, tested, and gave away, so you do not have to write it yourself.

You do not build a car engine to drive to school, and you do not grow wheat to eat bread. Somebody solved it already, and solved it better than you would in a weekend. Using a library is not cheating, it is how every professional works.

Library vs framework, in one lineA library is a tool you pick up and use when you want (you are in charge). A framework is a house you move into and follow its rules (it is in charge). jQuery and Chart.js are libraries. React and Next.js are frameworks.

What people actually install, and why

ReactFramework · UI

Builds your screen out of small reusable pieces and redraws it automatically when data changes. The most in-demand frontend skill on the job market.

Use when: your app has real state that changes a lot. Overkill for a five-page brochure site.

Chart.js / D3Charts

Turns numbers into graphs. Chart.js is quick and easy, D3 gives you total control and is much harder.

Use when: you need a dashboard. Writing a bar chart by hand is a week you will never get back.

Day.js / date-fnsDates

Dates in JavaScript are famously painful. Time zones, leap years, "3 days ago". These fix it.

Use when: you show or calculate dates. Which is nearly every real app.

Zod / YupValidation

Checks that data is actually the shape you expect before your app explodes on it.

Use when: you accept forms or data from an API. Never trust incoming data.

Tailwind CSSStyling

Style straight in your HTML with tiny class names instead of writing separate CSS files.

Use when: you already know real CSS. Learn the fundamentals first or you will be stuck forever.

jQueryLegacy

The king of the 2010s. It made DOM work easy back when browsers all disagreed. Modern JavaScript does almost all of it natively now.

Use when: you inherit an old site. Do not start a new project with it, but you will meet it at work.

How you actually add one

01The quick way: a script tag. Paste one line from a CDN into your HTML and the library is there. Perfect for learning and small pages.
02The real way: npm. npm install chart.js downloads it into a folder called node_modules, and writes it into package.json so anyone else on your project gets the exact same versions.
03Then you import it. import Chart from 'chart.js' pulls it into your file. That is what modules are: splitting your code into files that hand pieces to each other with import and export.
The honest warningEvery library you install is code you did not write, cannot fully see, and now depend on. It makes your app bigger and slower, and one day it will break or stop being maintained. Before installing, ask: can I do this in 20 lines myself? If yes, do it yourself. If it would take you two weeks, install it. Junior developers install everything. Seniors install almost nothing.
And the real reason to learn fundamentals firstLibraries die. jQuery ruled the web, then React took over, and something will replace React too. The fundamentals on this page have not changed in 20 years and will outlive every library on it. That is why we do them first, always.
Next move: build the to-do list with zero libraries. When it works, rebuild it with one library and feel the difference yourself. That comparison teaches you more than any tutorial.
Free starter guide

How to start in tech without wasting a year

Four short lessons I wish someone had given me before I started. Read them in ten minutes, then take your first step.

Eduardo ShandeSelf-taught in Santa Cruz. Builds automation and AI for clients in the United States.

What the work is really like

Forget the movies. Most of the job is connecting things, fixing things, and explaining them clearly.

Myth

You need a university degree.

Reality

Nobody has ever asked me for one. People ask what you can build and whether you finish it.

Myth

Programmers know everything by heart.

Reality

You look things up and use AI every day. You get paid to solve problems, not to memorize.

Myth

The job is writing genius algorithms.

Reality

Most of it is plumbing: moving data between systems, keeping things running, and talking to people.

Myth

You have to live abroad to earn well.

Reality

From Bolivia you can work for clients in other countries. Where you live is no longer your limit.

Good to know

Everyone feels like an impostor, even people far ahead of you. You build anyway. That is the only difference.

Your first month

One direction, one real project, one real person who sees it. Then repeat.

Week 1

Pick one path

Do not try to learn everything. Take the path quiz and choose one direction.

Week 2

Build something ugly

Build it yourself instead of watching tutorials. A small script or a one page site is enough.

Week 3

Show it to someone

A friend, a teacher, or a small business near you. Their feedback teaches you more than polish.

Week 4

Do it again, a bit bigger

Repeat the loop with a harder project. Do not wait to feel ready. That feeling comes after you act.

Where most people stop

Between "I should learn this" and actually starting. Start today, not on Monday.

How to learn so it sticks

Doing beats watching. Small and often beats long and rare.

Build first, look it up second

Try, get stuck, then learn exactly what you needed. It sticks because you needed it.

Instead of

Watching a whole course before you touch anything.

Learn only what the project needs

Learn the small part the thing in front of you needs, then keep going.

Instead of

Learning a whole framework just in case.

Explain it to someone

Write a short note or explain it to a friend. If you can explain it, you really know it.

Instead of

Rereading your notes.

Use AI, then check it

AI makes you faster, but its answers are often almost right. Catching the mistake is the skill people pay for.

Instead of

Copying whatever it gives you.

Small and often

One focused hour a day beats ten hours once a month. A project you can show beats a certificate.

Traps that eat a year

Most wasted time is not laziness. It is doing things that feel productive and are not.

Tutorial hell

Fix

Build your own version without following along.

Waiting until you know all the basics

Fix

Learn enough to start and fill the gaps as you hit them.

Chasing every new tool

Fix

Go deep on one. Tools change, the basics do not.

Perfectionism

Fix

Finish the ugly version and show it. Done beats perfect.

Studying alone in silence

Fix

Share what you build. Feedback and proof matter more than polish.

Comparing yourself to others

Fix

Compare yourself to who you were last month.

Your next move

Pick a direction and build something this week. Everything in this academy is here to save you the months I lost.

Free · about 2 minutes

Find your path

Not sure what to study? Answer a few questions and we'll tell you where to start, based on how you like to work and what you want.

Brain Academy

Courses

Start with Foundations. It teaches you what a computer really is, how the internet works, how computers think, and which job in tech actually fits you, before you write a single line of code. Then pick a direction. Finish the lessons, pass the exam, earn the certificate.

Test yourself

Quizzes

Short knowledge checks per domain. Take one, get a score, and see your level. Your best score is saved.

Your account

Account

Your plan, your profile, and your password.

Capture

My Thoughts

Business ideas, reflections, notes. Tagged by category and dated, searchable.

New thought
Log

My Learnings

Things you've learned, tagged by domain, with the source and what you can now do with it.

New learning
Backlog

Things I Want to Learn

A prioritized wishlist with status and resource links. Tap a status chip to move it forward.

New topic to learn
Prove it

Certifications

The certs you're pursuing: provider, cost, status, exam date, and study progress.

Recommended for your domainsCloud: AWS Cloud Practitioner (~$100) then Solutions Architect Associate (~$150). Data: Google Data Analytics Professional Certificate. GenAI: Google Cloud Generative AI Leader or AWS AI Practitioner. Agents: the Hugging Face Agents certificate (free). Security: Security+ only if you sell compliance, otherwise skip the exam.
New certification
Foundations is free for everyone in Santa Cruz. Pro opens every course.
Start your future in tech

Learn from anywhere, and build your bright career.

Understand how computers really work before you write a line of code, practise with real puzzles and a real editor, then find the path in tech that fits you.

9courses
217lessons
QRpay from any bank
9courses
FreeFoundations course
Courses

All courses of Brain Academy

About us

A better future starts with good foundations.

Most students choose a career from a job title they half understand, then a third of them change course or drop out. Brain Academy fixes that before university: what the field really is, what the jobs are really like, and how computers actually think.

It was built in Santa Cruz by a working engineer who taught himself all of it, so the advice is about what works, not what a syllabus says should.

Foundations first
Real practice
Start free, pay by QR
Spanish and English
For schools and parents

Bring Brain Academy to your school.

A 60 to 90 minute session with a working engineer, and a platform every student keeps using afterwards.

Brain Academy · Santa Cruz, Bolivia