Do Something Wrong
Tags: beginners, programming, webdev, react
Published: 2020-11-27 13:27:40

When I was a child, I would help my dad with everything, working on the cars, working in the yard, etc. I remember on a particular day, trying to help organize tools with him, and being inexperienced in the matter, I kept placing tools in the wrong place. In a frustrated tone, I said “I can’t do anything right” to which my dad replied “You have to be doing something, in order to do something wrong”.

## Tutorials are necessary

Tutorials are great, coding bootcamps are great and code along videos are great. You must have at least a decent understanding of at least the fundamentals of programming and basic syntax to get started. In taking an online course I learned so much about HTML, CSS, JavaScript, and React. When I started in 2018, an online course/academy was a great way to get me introduced to web development, I needed something to kickstart my journey. I wouldn’t be where I am today if it wasn’t for the bootcamp.

But in my journey as a self taught developer, I’ve come to realize that tutorials will not make you a good developer on their own. [It can also be hard to get out of just following along](https://dev.to/davidmm1707/how-to-escape-from-tutorial-hell-and-never-come-back-bb6#).

Tutorials should be laying the foundation and set you in the right direction for when you are developing on your own.

## When I made my first React app

![App Screenshot](https://dev-to-uploads.s3.amazonaws.com/i/xvbmchjmk4gbv749p5nb.jpg)


After hours and hours of courses, I finally decided to create an app. This app wasn’t a code along, I had found an API that would take a URL you gave it, and respond back with a shortened URL.

So I started with `npx create-react-app`, and began to work on my own. I implemented state, worked with the shrtco.de API to send and retrieve data, and utilized the “react-promise-tracker” and “react-spinners” libraries to add a nice little spin animation while waiting for the promise of the shortened link to return to the user.

Did I run into problems? Oh yes. I remember struggling nearly every step of the way. But I realized something, I was starting to actually understand the code behind my app. When I ran into trouble, I had to read the docs, Google around, and troubleshoot on my own. I felt like I learned more running into issues building the app, than I did when I was taking web courses.

You can see my app here: [Live](https://aswaff.github.io/URL-Shortener/) | [Source](https://github.com/aswaff/URL-Shortener). 

Don’t judge, this was my early stages of web dev, I didn’t care how it looked, I just wanted it to work 😬.

## Build something
> "You have to be doing something, in order to do something wrong."

Part of what took me so long to build something on my own was what I believe, the fear to fail.  Starting something, and not being able to complete it, or figure it out.  But when I set out to build a very simple app setting a realistic goal, it boosted my confidence along with learning a lot along the way.  

So if you are tired of taking courses, tutorials, bootcamps, and want to take your learning to the next level.  I suggest building something.  Set a realistic goal (don't rebuild Twitter at first), a goal that will push you while also aligning with your current skill set.  When you "do something wrong", just remember this is the developer life, we run into issues, and we solve them.