Things you can do to get started with development
Tags: programming, career, codenewbie, motivation
Published: 2022-01-05 23:48:35

I think a few of the first things you’ll need are: patience, time and willingness to learn.

Patience and time because learning is a long process. I think once you start, you will also keep finding more and more things to learn. You don’t need to do it all at once. Take your time, go at your own pace and you eventually will.

Really, try not to feel overwhelmed by the amount of things to learn. There’s always more coming and being built, but it’s ok to not know them all.
What I suggest you do is try to explore a few, find the ones you like or enjoy using the most and then learn and practice a lot about it.

The willingness to learn will keep you focused and help you overcome many challenges you might find during the process.

![Image of a todo list in a notebook](https://jahir.dev/static/images/blog/things-to-get-started-development/roadmap.jpg)
<br/>

### Choose a path

Now, to get started with development you will need to choose a path, and I know it might be hard at the beginning if you haven’t explored any before. I think you can start by asking yourself what kind of things you would like to build, be it websites, server-side work, mobile apps (for android or iOS), desktop apps along others.

The next things I will mention are mostly not focused on a single path, therefore you might be a bit lost on where to start. Like, which topics should you learn first for the path you’ve chosen?

Well, [Developer Roadmaps](https://roadmap.sh/) is a great tool that can help you with that. It will show you the whole path you can follow to become a developer on a specific area. From the basics to complex stuff.

### Find resources

Here’s a few sites that will provide resources or content for you to keep learning and get deep into the topics you want to explore.

- [FreeCodeCamp](https://www.freecodecamp.org/):
    This platform includes articles and interactive courses to learn about algorithms and data structures, web, backend, python and much more. The content is translated to multiple languages and you can also even get certifications for what you learn. Everything completely free
    
- [Codewell](https://www.codewell.cc/):
    Provides different challenging projects for you to build and practice your web development skills. You will get access to design assets so you can have a reference of what you would build. Many of them are free.
    
- YouTube and Udemy
    You will find many on these platforms. Courses on Udemy might not be free, but they frequently have discounts, and you can access them anytime, anywhere, and learn little by little, at your own pace.

### Git and GitHub

Learning git is really important. If you learn it in your early days as a developer, you will already have a useful skill.

Git can help you have your projects stored somewhere on the internet, allowing you to work on them from anywhere, plus also allowing you to do collaborative work and even learn by helping others when contributing to their projects.

GitHub is one of the platforms you can use to store your projects. Other options are GitLab, BitBucket and there’s even self-hosted options such as [Gitea](https://gitea.io/).

Some resources to help you learn about these tools are:

- [Microsoft’s Introduction to Git](https://docs.microsoft.com/en-us/learn/modules/intro-to-git/)
- [Free Git course on Udemy](https://www.udemy.com/course/learngit/)
- [Git basics on FreeCodeCamp](https://www.freecodecamp.org/news/learn-the-basics-of-git-in-under-10-minutes-da548267cc91/)
- [GitHub Learning Lab](https://lab.github.com/)

![Image of glasses in front of a blurred laptop](https://jahir.dev/static/images/blog/things-to-get-started-development/resources.jpg)
<br/>

### Get better at search

While learning, you will usually find yourself searching for concepts, videos, tutorials and more about the topics you’re learning.

When searching, it’s important that you learn to find the best and most interesting/useful results.

One thing you can do is using search operators, such as:

- **Quotes**:

    Will provide results including exactly that text.

    Example: `android "FloatingActionButton"`

- **Site**:

    The `site` operator will bring results from a specific website.

    Example: `javascript site:dev.to`


With just these two, I’ve always found great results. You can find more advanced and complex search operators [on this site](https://ahrefs.com/blog/google-advanced-search-operators/).

Additionally, even if you’re primary language is other than English, I suggest you do search in English. You will find even more content and you will be working on an extra skill.

Searching can also help with getting more specific results. Say you want to create a rounded button for a website. When you search with those exact words, you will find results focused on achieving that, instead of long blog posts or videos telling a lot of other things too. Which isn’t bad at all, but I have found myself wanting to go straight to the point, and that specifying what I’m looking for has helped.

### Learn by example

When I was starting, I usually looked at existing projects on GitHub and I still do every now and then. Exploring their code, how they are built, the tools, frameworks or libraries they use, all those things provide a wider view about the things I can do and learn about.

Besides seeing the code of others has helped me learn a bit about best practices, why a thing is chosen instead of another, how a project can be structured and more.

### Learn with games

I just know a couple games that are focused on learning CSS, but if these exist, I’m sure there’s more out there to learn about other stuff. If you eventually get interested in CSS, these might come in handy:

- [Flexbox Froggy](https://flexboxfroggy.com/)
- [Grid Garden](https://cssgridgarden.com/)
- [Guess CSS](https://www.guess-css.app/)
- [More codepip games](https://codepip.com/games/)

These might result in a more interactive and fun way to learn.

![Image of a person highlighting texts in front of a computer](https://jahir.dev/static/images/blog/things-to-get-started-development/build.jpg)
<br/>

### Build!

You should really put the things you learn into practice. Don’t just stay with what you watch in videos, read in blogs or tutorials, and your notes. Build projects.

Many of the resources you might find, will encourage you or guide you to build projects while learning. If that’s the case, dare to build something else too. Build a different project where you can implement the same concepts and even a few more. Or give a twist to the project you’ve built and give your own touch to it.

### Ask for help

Yeah, if you feel lost at some point, don’t know what to do next, or have trouble understanding a concept, feel free to ask for help. Asking for help is ok and there’s nothing bad about it.

On Twitter there’s a lot of people that wouldn’t mind sharing feedback and support. You just have to find the right ones and get in touch. What I’d suggest though, is you do it in public, via a tweet, instead of a private message. Believe it or not, many people might have a similar question, or get benefit of the reply you get so they can learn a bit more too.

You can also find many posts on [dev.to](https://dev.to/) with advice, guidance, questions and more. Go to that site and search for the topic you’re learning or use the `site:` operator in your favorite search provider/tool. [dev.to](https://dev.to/) is definitely a great place for learning and sharing knowledge, and people are always nice and kind and open to provide help if you need it.

<br/>

That’s it for now. If you know more resources or things you think I could add to this post, feel free to [share them with me](https://jahir.dev/contact).

Thank you for reading. Until next time 👋

*Originally published at [jahir.dev](https://jahir.dev/blog/things-to-get-started-development)*