100 Days Of Code Battle Plan
Tags: 100daysofcode, javascript, python, webdev
Published: 2020-07-19 08:07:57

---
title: 100 Days Of Code Battle Plan
published: true
description: A framework to having a structural outline for learning to code.
tags: 100DaysOfCode,JavaScript, python, webDevelopment
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/b8keyrirkpz6i51vd52c.jpg
---
Having a structural outline for tackling challenges in life is a sure guarantee for a better outcome. A half-baked plan is better than none, and a well -structured plan is best.
One rather funny advantage of planning is that, if things don't go perfectly, you can pinpoint what went wrong, and determine how to tweak things around for a better outcome.   

In the programming world, it is easy to get overwhelmed. The plethora of things to learn and assimilate can sometimes make you forget that you are primarily supposed to be having fun as you clank that keyboard with your pretty or hunky fingers (pun intended).

But hold on!  Do not think of running away just yet. As with everything in programming, there is always a way out, if you know what to do.
Thing is knowing what to do and doing it are as far apart as knowing what "Objects" are in coding, and knowing how to use them (I still don't get it to be honest). Okay! I heard you, enough bickering around, let's jump right in.

The first rule of a battle plan, is sticking to it, the second rule is; "just stick to it", the last is ... well, you get it now.
Due to the dynamism of our lives, and the keen attention coding requires, our battleplan has to be flexible enough.

 A battleplan that gets you  fagged out few steps into the battlefield will ensue in a loss, not to talk about how tired our minds will be.

Now let's get practical, we are going to be building me a battle plan for 100 Days of code round 4. Grab a drink, as this will cover my entire journey for this round.

 By the end of this, you would be able to use my plan as a template to build an even better one for yourself.
Alright, let's jump right in.

## Outline of my current situation 

### Work
I am currently building a project with a startup that focuses on building a product around digital signage.
Will have to build a Vue.js web app to integrate with the signage product once it is ready.
Will be working with the LEMP stack, to deploy and manage the product.
I will also be building WordPress sites (sighs) :).
Better interpersonal skills
#### Technologies needed:
Digital signage CMS.
The LEMP stack (Basic sysadmin)
Vue.js
WordPress and Elementor.

### School
I recently bagged a certificate of completion for part 1 (data science module) of my data science and machine learning with python, diploma with Worldquant University.
Have to do a deep revision to fully comprehend the course material, and get better at solving ds/ml related tasks.
 Have to prepare for part 2 (machine learning module).
#### Technologies needed:
Python 3.
Mysql.
Pandas, Numpy and Matplotlib (Ds frameworks and libs)

### Personal development
I need a deep rerun of javaScript's core concepts, to become an A+ js developer.
I have already invested in a MERN stack journey so I have to continue that, and pick all the parts gracefully.
Get better at both SQL databases (MySQL and Postgresql).
Pick up some Adobe XD, and photoshop (nothing too deep).
#### Technologies needed:
Javascript
MongoDB
React
Node and Express.
Adobe Xd
Adobe Photoshop.

### Non-coding related goals:
Understand the basic intricacies of the forex market (tutorials and networking).
Start learning  to play the keyboard
Build a side business.  

N.B: This is not a checklist that must be finished in about 3 months. No one becomes a pro at all these in that time.  It's more about, and still building yourself in stages 

Coding /Learning is a journey, a continuity that has no end in sight but rather unwinds into more beautiful and challenging patterns (think the [Mandelbrot set](https://en.wikipedia.org/wiki/Mandelbrot_set)) and I understand if you prefer to focus on this for x time, and then move to this for y time, that's fine. 

But I don't think that will work for me, because you only get good with experience, be it one tech or four techs you are working on. 
Without real projects, you won't leave your comfort zone.
Also, I believe growth should be all-round, but please do not overwhelm yourself.  Alright, let's get back to it.

## Basic Weekly Outline:
![Basic outline weekly table](https://res.cloudinary.com/stealthman22/image/upload/v1595140733/new-portfolio/showcase/table_1.png)

Here I used the concept of Economics concept of the scale of preference, which reasons that the most important activities must be prioritized. 

If you work, then on working days, you can get by with dedicating about one hour to coding. But if you don't work then replace that column with coding. That way you can have two coding sessions a day, or mix it up with another activity (any other thing you want to get good at - coding related or not). 
As [Stefan Mishtok](https://www.youtube.com/user/killerphp) says "You should always leave coding wanting more, not feeling overwhelmed". 

## Goal (progression) Outline:
The first thing to keep in mind is this must not work out exactly as planned. It could go faster, it could go slower, or it could change up real quick.  You do not have to strictly go by this, just see it as a framework to keep you accountable and on your toes.

Also, never stock this so much that it looks like 20,000 feet pack of cards, else it will come crashing down on you hard. 
Finally, no one is going to have god-level perfection and smoothness in even HTML in 100 days, you should aim at having an all-round growth in stages and being productive at every level of growth.
You should have this section built up with continuity in mind.

That said here goes mine:
We will be iterating through 5 sets of 20 days. For convenience, we will call each of the sprints.

![Progression outline](https://res.cloudinary.com/stealthman22/image/upload/v1595140733/new-portfolio/showcase/table_2.png)
Find the table files [here](https://drive.google.com/file/d/1LyBnW8d7rYMMhTTeyEr3jjufIkkfCoaP/view?usp=sharing) 
Please keep in mind that the goals and focus can change, depending on how long it takes to assimilate them, or if a more important activity add up or replaces another.
Hard work, consistency and perseverance is required to come out successfully. Sticking to the goals is key.

I know this whole setup may look like a tad bit too much multi-tasking. Never overwhelm your self, but never be boring too. As [Robert Heinlein] said (https://en.wikipedia.org/wiki/Competent_man) 

*A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.*

Phew! that's a long list. The idea is to have a systemic approach to picking up skill(s), while effectively fulfilling your obligations, by making bits of progress which ultimately culminates into all-round success. 

Thank you for sticking around with me, I sincerely hope I have been able to help you in some way.
please share your comments, advice and corrections with me below in the comment sections.

Finally here are few resources I would be using to learn the skills I outlined, check them out if interested:
- [SysAdmin by tutorialLinux](https://www.youtube.com/playlist?list=PLtK75qxsQaMLZSo7KL-PmiRarU7hrpnwK)
- [MERN stack by Traversy](https://www.udemy.com/course/mern-stack-front-to-back/)
- [Vue by traversy](https://www.youtube.com/watch?v=Wy9q22isx3U&t=427s)
- [Vue by FCC](https://www.youtube.com/watch?v=4deVCNJq3qc&t=1961s)
- [React by techsmith](https://www.youtube.com/playlist?list=PL7pEw9n3GkoVAqCMVTz2mKthyWr-svpQJ)
 
Also connect with me on [twitter](https://twitter.com/alara_joel)
Cheers, keep learning, happy coding and stay safe!!!