My Roadmap 2022 : you are not a real developer yet 😅
Tags: beginners, android, flutter, codenewbie
Published: 2022-01-01 11:38:49

At the end of **2021** I found myself a programmer who only knows about some programming languages and some frameworks but with no real programming experience,no projects and no achievements. 

## Why ?
It was because I didn't start with the **fundamentals**, I didn't learn about algorithms, data structures or anything important as Big O.

## My Decision
I decided to start from the beginning as if I learnt nothing before, and then wrote my goals of 2022, **a modified roadmap every beginner should use.**

**My Roadmap 2022:**

## 1- Introduction to programming:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/27fm0ravp7i1pmwjzi4i.jpg)
Programming is writing computer code to create a program, to solve a problem. Programs are created to implement algorithms . Algorithms can be represented as pseudocode or a flowchart , and programming is the translation of these into a computer program.
[Freecodecamp video](https://www.youtube.com/watch?v=zOjov-2OZ0E&t=378s)

## 2-Algorithms and data structures

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w00hhh69j0sbv5ravlhp.jpeg)
A data structure is a named location that can be used to store and organize data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimized computer programs.
Freecodecamp videos:

- First video : https://www.youtube.com/watch?v=RBSGKlAvoiM&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=4

- Second video: https://www.youtube.com/watch?v=zg9ih6SVACc&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=5

- Third video: https://www.youtube.com/watch?v=BBpAmxU_NQo&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=8
)

## 3- Learn dynamic programming

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fkx4hhs9tplp1rabydj1.png)

Dynamic programming is both a mathematical optimization method and a computer programming method. 
Freecodecamp dynamic programming video: 

https://www.youtube.com/watch?v=oBt53YbR9Kk&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=7

## 4- Take CS50 Course:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q41284kkcsupetnz4uai.jpg)
CS50 is an on-campus and online introductory course on computer science taught at Harvard University and Yale University. In 2016, CS50 became available to high school students as an Advanced Placement Computer Science course

Most Important lectures in my opinion are :

- [Arrays](https://www.youtube.com/watch?v=tI_tIZFyKBw&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=3)

- [Algorithms](https://www.youtube.com/watch?v=gR6nycuZKlM&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=4)

- [Memory](https://www.youtube.com/watch?v=NKTfNv2T0FE&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=5)

- [Data structures](https://www.youtube.com/watch?v=2T-A_GFuoTo&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=6)

- [Python](https://www.youtube.com/watch?v=ZEQh45W_UDo&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=7)

- [SQL](https://www.youtube.com/watch?v=Wb0DM9I8RDo&list=PLzHzhIMAxNqybs6a-CaQ_ClV2BhKpWtjj&index=8)

## 5- learn about BIG O notation:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j80rkuszey1qiyrhq9ey.png)
Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.

- Freecodecamp : https://www.youtube.com/watch?v=Mo4vesaut8g&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=1

- CS dojo: https://www.youtube.com/watch?v=D6xkbGLQesk&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=2

- Hacker rank: https://www.youtube.com/watch?v=v4cd1O4zkGw&list=PLFHhlerk7ViiaNgD65WA0LhdILaxPbOcx&index=3


## 6- Learn Dart and flutter:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdp7atz4s3th5g09hw9h.png)
Flutter is a cross-platform software development framework that was presented by Google in 2015 and received its first release in May of 2017. Flutter nowadays has steadily grown and provided possibilities not only for iOS and Android mobile development but also for web and desktop applications as well.

- Freecodecamp : https://www.youtube.com/watch?v=pTJJsmejUOQ&t=35s

- Acadmind: https://www.youtube.com/watch?v=x0uinJvhNxI&t=272s

- The net ninja : https://www.youtube.com/watch?v=1ukSR1GRtMU&list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ

## 7-Program projects on your own

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abl1vpwux2mmq7xewcha.jpg)
After you practice projects in the coursesyou should make at least 4-6 projects on your own from scratch and upload them on GitHub

project ideas:

👉 Uber Clone with Flutter. ...
👉 E-Commerce App using Flutter. ...
👉 Clubhouse Clone UI using Flutter. ...
👉 SpaceX Go - Launch Tracker using Flutter. ...
👉 Tetris Game using Flutter. ...
👉 Build a Beautiful Pokedex (Pokemon) App using Flutter. ...
👉 Game Store using Flutter. ...
👉 Proximity - Flutter Widgets App.

Read this [article](https://www.theinsaneapp.com/2021/06/flutter-projects-with-source-code.html) for more project ideas

## 8- Read books

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52j1s7dofierl8m8qg7j.jpeg)
You must read one book at least about programming and it will help you.

Books about flutter:


- Beginning App Development with Flutter.
- Beginning Flutter: A Hands On Guide to App Development.
- Flutter Apprentice.
- Flutter Complete Reference.
- Flutter: Développez vos applications mobiles multiplateformes avec Dart.
- Flutter for Beginners.
- Flutter in Action.
- Flutter Libraries We Love.

## 9- Build your resume

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n0kglli3mrvr1nflk319.png)
Build a nice resume to land your first job, and it should include :

- Your name, email address, and social media accounts

- skills with the percentage of experience

- project links on GitHub

- your education level and degree if you have one

- course certifications if present

- languages you speak and mention your mother language



## So,

That was it for this post , follow me , like ,share if you like it and if you have any comments type them in the comment section below and thanks for reading.

## Information about me :

- Name: Rawan Amr Abdulsattar
- Gender: female
- Nationality: Egyptian
- Blog: https://codewithrona.blogspot.com/
- Email address: rawanamrabdulsattar@gmail.com
- Dev.To account: https://dev.to/rawan_amr_abdulsattar
- Twitter : https://twitter.com/RawanAmr1552006
- Instagram : https://www.instagram.com/rawanamr1552006/