G R I N D R E E L
BACK END
DEVELOPER ROADMAP
A GUIDE TO GETTING JOB READY
MIKAEL ABEHSERA & JOSH FLUKE
START
A text editor is for
writing/modifying text/code.
TEXT EDITOR/IDE
*Choose one*
Visual Studio Code
Visual Studio
Sublime
Webstorm
CHOOSE A LANGUAGE
A programming language is a
set of commands, instructions,
and other syntax used to create
a software program.
[Link] PYTHON JAVA C#
(JAVASCRIPT)
RUBY GO PHP RUST
Package managers are used to
import dependencies (external
code written by you or someone
else). PACKAGE
MANAGERS
*Choose one for your language*
Node => Npm
PHP => composer
Python => Pip
Ruby => Gems
The console is a place for us to control
the computer using commands and
we receive an output. A lot of tasks
have been replaced with graphical CONSOLE
alternatives, like creating a folder, COMMANDS
changing a file name, etc. but there
are still certain tasks that need to be *commands will change for OS*
done through the console. ls
cat
curl
tree
tmux
du
git (for version control)
SSH
grep
Testing in general is to make sure
your code runs as intended, and if
not it will tell you where its going
wrong. Front-end testing involves
TESTING checking functionalities like
buttons, forms, graphs, menus,
etc.
*Choose one depending on what you need*
[Link] => Mocha, Chai, etc
Python => Selenium
Java => Selenium
.Net => NUnit
Ruby => Rspec
Go => goroutines
PHP => PHPUnit
Databases are storage for data,
while there are different formats DATABASES
and use cases, their main goal is
to store data. *Choose one or two*
Oracle
PostgreSQL
MariaDB
MySQL
MSSQL
SQLite
MongoDB
CHOOSE A FRAMEWORK
Frameworks streamline the
development process. It allows
you to have clean code without
having to reinvent the wheel.
[Link] PYTHON PHP C#
(JAVASCRIPT)
Express Django Laravel .Net
LEARN THE FUNDAMENTALS
This is most of the content we recommend you learn to get a job as a backend developer.
Or at least familiarize yourself with.
RESTful API architecture centers
RESTFUL API'S around manipulating resources.
We often use the CRUD method
which stands for Create. Read,
Update, Delete.
Client Server based
CRUD => Create, Read, Update. Delete.
Security on the internet is more
important now than ever before.
We store lots of private
information such as passwords,
credit cards, social security
numbers, etc. So we want to SECURITY
make sure the can not be stolen.
Authentication
Encrypting private data before storing in DB
BASIC DEVOPS Tools like docker are made to
simplify deploment and running
your backend applications.
Use Docker to deploy and run the server
Continuous Integration and CONTINUOUS
Continuous Deployment are
another addition to devops, they INTEGRATION
are ways to make deployment
and continuous updates to the *Choose one or two*
application as seamless and Travis CI
quick as possible to minimize Jenkins
down time. Buddy
Team City
APPLY TO JOBS
Create a resume (via resume template on the grind reel store)
Create a cover letter (via zero experience cover letter template on the
grind reel store)
Master the interview *Product and course coming soon*
Build a portfolio. *Product and course coming soon*
LEARNING NEVER
STOPS
Keep practicing algorithmic thinking on sites like CodeWars, LeetCode,
etc.
Keep building projects and add them to your portfolio.
Keep working on your data analysis
Master the interview. *Product and course coming soon*