How to Build Your Own Reactivity System

A couple of months ago, I attended an in-person meetup at Frontend Masters called Vue.js Advanced Features from the Ground Up. It was really awesome because we got to learn about Vue.js from its…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




The Ultimate Guide to Programming Projects.

As a beginner learning to code the most common problem that you will face is the “tutorial hell". To escape this hell everyone will advice you to build projects. On the surface, this advice sounds great also it is the right advice. However, as soon as you start to build your first project, you realize it’s 10x more difficult than tutorials and you don’t even know how to start, let alone putting it all together.

This article breaks down the fundamental ways of building your own projects so that you can start making your Programming dreams come true.

Beginners are often frustrated that they can’t seem to get out of tutorial hell and so they seek advice. But, all they get is: well meaning Developers slamming the build project response in their face without even considering that if the newbie can’t even replicate a tutorial, how are they going to create their own project?

Here’s your guide to building Programming Projects:

The first step when planning a project is to define it when you are defining the project you ask yourself these four questions.

Here’s an example:

Calculator app project

What is the project?
- The calculator project is a project to build a calculator that is accessible in a web browser. The project is going to be solved using HTML, CSS and JavaScript. It will allow users to input numbers and calculate the results of those numbers based on the arithmetic operation they choose.

What is the MVP? - The minimal viable product is a calculator that renders in a web browsers that can perform addition, subtraction, multiplication and division operations based on a users input and show the user the result of that equation.

What are the nice to haves? - The nice to haves for this project are styling the calculator, taking keyboard presses as input not just users clicking buttons and adding higher order operations like to the power of x'.

When will the project be complete? - The project will be complete once all the MVP features have been implemented and the calculator has been styled.

By defining the project you make a project less intimidating.Once you have the project definition you can begin the next step.

Within these columns we are going to add cards. As we work on the cards we move them into the doing column and once we have finished with that card we can move it to the done column. If you have a bug you are stuck on or are not sure how to do something we can move it to the bugs/not sure column.

This workflow is a super simplified version of Kanban and when working in a dev role you will most likely have

more columns like testing, coding review, backlog and others. But, for your own projects and especially as a

beginner this will do the job nicely and let you achieve what you want which is to build projects.

Now we have our workflow set up we can get onto the last step, the one that stumped me the most when I was learning to code.

The key to building your own projects starts with breaking the big project down into smaller, less intimidating components. These smaller components are what become our cards from step 2.

Now this sounds simple enough, but when I was first starting out it did not occur to me that you could do this. I thought most developers just start coding and the project flowed out of them like you see in the movies. I thought that was what I was supposed to be able to do. However, now that I have had a chance to work in the industry I know that is definitely not the case, in fact a good developer will break that project down into smaller tasks.

Yet, as a beginner it can be hard to know how to break something down into smaller tasks. If you don’t know how to actually build the project then how can you break it down?

Well the first thing you need to do is look at your project definition and then break it down into smaller parts.

Let’s continue using the calculator app example to make our component cards:

Calculation functions – MVP
Get user input – MVP
HTML user interface – MVP
Style user interface CSS – sprinkles ✨
JavaScript event listeners – MVP
Add animations for calculations – sprinkles ✨

You’ll notice that for each card, we assigned a label of either MVP or sprinkles this is to visually help you see which cards are the most important and therefore the ones to work on first.

The biggest benefit of the cards is that they have simplified what we have to do already. This makes projects less intimidating as you are not making a big daunting calculator app, rather you are doing 6 smaller projects that will combine to create one big project.

As you work on a card you move it into the doing column. Taking your time to get the component working before you move onto the next card.

But we are not done yet, we can simplify and improve our workflow even more to ensure we are not getting blocked by the size of the project when building.

Once we have the high level cards we can then break those components down again into smaller tasks by breaking those tasks into checklists so we can track our progress.

The example below is just how my brain works so you can break it into smaller or larger items depending on what works for you. Let’s use the calculation functions card as an example of how to break a component down further.

As the task is an MVP task and I have defined the MVP as basic calculations addition, subtraction, multiplication and division we need to add those functions to the checklist.
We have now broken our calculation functions card into 4 little projects that we can work on. How much easier is that than the abstract and super daunting task of building a calculator app, or even writing the calculator functions (the card).

We can now focus and figure out how to make each of these functions. As we do that we get to check those items off giving us a sense of accomplishment and progress. Then once we have done all four of those items we can move that card into the done column and get cracking on the next card.

From here on we just need to repeat the process for each card. But, you shouldn’t spend heaps of time trying to make each card have every single task which brings me onto a mistake I made at the start.

When you are breaking out your cards and checklist tasks don’t get stuck trying to make sure you have every little function and detail broken down.

If you do that you will likely get stuck in the planning phases and you’ll never move onto the building phase or your building phase will be too rigid. You need some wiggle room in your projects.

What I found as I was working on my projects was that I frequently had to add more cards and tasks as I went along. This is inevitable, you are building something for the first time so you are not going to know exactly what you need to build before you start.

You might for instance not have a styling card when you first start planning out your calculator app and only to realize once you finish the HTML skeleton card that you should probably style the app.

So don’t get stuck on making the plan perfect, get enough down so you can start and add more as you go. You can also use the bugs/don’t know column to put cards that you can’t yet do or that you are stuck on to help you keep moving.

Now you are ready to start your very own project. Best of luck!

Add a comment

Related posts:

Amazon lanza plataforma de videojuegos

El nuevo proyecto de Amazon, llamado Luna, busca entrar al negocio de los videojuegos con una propuesta de gaming en la nube, siendo competencia directa del Stadia de Google y xCloud de Microsoft…

How the Provider pattern saved our project

How we used the Provider pattern to enable iterative rollouts of third-party integrations and compare them side-by-side without rewriting our application.

The Hidden White Supremacist Backstory in Twilight

The Twilight Saga has had a troubled racial history since its inception. From author Stephanie Meyer’s refusal to have non-white actors portray vampires in its film adaptation, to its colourist…