Master Programming Without Burnout

Master Programming Without Burnout

As a Complete Beginner, Coding Consistently whether in a boot camp or self-taught, Burnout is real and can be avoided.

·

13 min read

Excuse me, Sir, I think I am in the Wrong Class!!!

So, I had just relocated with my family to the UK. Freezing temperatures immediately welcomed us, I shivered from the airport to the house. The culture shock was another thing. We felt like aliens on a strange planet. I immediately realized I talked funny and dressed differently. But, ‘different’ is fine.

I was desperate to work and start earning ‘my precious’ (in Smiggle’s voice) pounds, however, my previous job in my country did not quite fit immediately into my new life in the UK, so I decided to transition to Tech.

I wanted to become a UX Designer so I quickly enrolled in the Google UX design course, and only a few weeks into the program, I saw a targeted ad for a boot camp in front-end web development/UX, (I think these ad guys are just some weird wizards though) and somehow, my mind completely ignored part A and focused completely on the ‘UX’ part, so I enrolled and got selected.

Once I saw ‘UX’, I assumed it was about UX design. but to my utter shock, it was mostly about my most dreaded subject: PROGRAMMING! To be more specific, CODING.

Come with me on this amazing experience and find out how I squiggled my way through this boot camp while learning to code in the process, only more fun this time. FYI, I completed the Bootcamp, with good grades even.

If you plan on enrolling in a coding boot camp, and you are new to coding, chances are, you will struggle like me, but, you don’t have to. You can learn a thing or two from my struggle and stay afloat through this rigorous process.

In my last publication at https://abojeonline.com/what-will-happen-if-you-code-everyday-for-1-hour, I detailed some of the great things that happened to me once I started coding. I actually spent, and still spend a lot more than an hour coding every day. The thing is, you get drawn in by the 'curse' of the code. This is why I always get my wife's food burnt whenever she asks me to keep watch over the kitchen while I am coding, lol.

GET A MENTOR; FIND TWO MORE

a mentor and child

I went through HTML and CSS like a breeze and then came JavaScript. I was so confused at some point that I even shed a tear. The pain stemmed from the fact that I felt worthless like I was frustrated about not being able to make reasonable progress.

My quest drove me to YouTube to search for tutorial videos to try and learn from other tutors, and My Word! Did that pay off? Oh Yes, it did, so well that I stood up from my chair one time, and let out a loud "What"!!! in the middle of the night.

You see, this is how to find a mentor. Don't go out searching for who only knows how to program, not even just a great teacher, but find someone possessing the above qualities, and whose teaching style resonates beautifully with your learning style. You will know when you meet them as they Immediately strike a Chord on your inside.

After you find a mentor, proceed to find two other tutors who both know their game and are great teachers. Why? I discovered from experience that at certain times, you are not able to comprehend certain concepts from even your mentor and you need to get the view of one or two other tutors and this always came in handy for me.

KEEP A LEARNING JOURNAL: Don't Try and Memorize Syntax

I heard from my Boot Camp Instructors "Don't memorize code, just know when you need them and where to get them whenever you need them" more times than I can actually count, but I didn't quite understand the value of this statement until we started to drive deeper into JavaScript.

You see, the syntax to learn is just too much to try and cram all at once, so I decided to keep a journal in Notion. The good thing is that Notion is optimized for developers as it incorporates markdown formatting and also allows for writing code directly. So instead of trying to keep the syntax in my head all at once, I kept them in Notion, also, don't be ashamed to consult Google, and, as I've heard, even senior devs do a bit of Google-foo-ing every once in a while.

This was the principal reason for most of my Frustration because I initially thought I needed to remember all the syntax I was being taught all at once. I learned where to keep them when I needed them, and how to get and apply them.

Once you start using IDEs to code, you will soon find out that keeping only a handwritten hard journal for writing code snippets isn't a very smart idea. lol

Also, documenting your progress in a blog is a good idea, as employers find this attractive.

I also found out that, in time, from continuous use, these syntaxes begin to stick and get committed to long-term memory.

GOOGLE-FOO

There are numerous valuable resources on the internet for programmers to consult whenever they feel lost or in need of fresh ideas such as Stack Overflow, MDN, W3Schools and always remember, google is your friend.

There are also numerous AI platforms out there now, but knowing how to leverage them is very important. I will write about this in a later publication.

FOCUSED LEARNING

Find a quiet place at a quiet time, keep away from your phone, and clear your schedule. I can't stress this enough, while programming, keeping out distractions not only helps you think deeply but saves you time and helps you commit concepts to long-term memory faster.

Focused Learning involves setting aside a time of the day, to focus solely on a single subject, and this is the right approach to programming. Always have a goal of what you want to achieve, a very specific goal such as: 'I want to master Javascript Conditional statements between 4 am and 8 am'.

TOPICAL STUDY

It is important to stay organized while learning to program. Programming is hard enough on its own, the best you can do is to lighten this enormous burden by focusing on a single concept at a time with laser-sharp precision. Once you have gotten a grasp of it, quickly proceed to take related exercises to help gain mastery. LeetCode is a great resource for this.

LEARN PSEUDO-CODING

It is not always a good idea to jump right into coding when you have a coding task or exercise to do. Pseudo-coding is the process of using simple human language to lay out the entire road map of what you want to build into simpler, more manageable steps. A simple clue is to explain what your program does, in simple step-by-step progress, from the top to bottom. You then take these steps and turn them into comments before writing the code under each comment.

Doing this takes effort but makes you a better programmer and ensures you don't miss any steps in your code that might result in a broken program.

FIND MEMORY CLUES FOR DIFFICULT SUBJECTS

Memory clues in learning is not a very popular subject in programming but this is something that has worked quite well for me because of my learning style. Whenever I am faced with a concept that is not semantic, meaning that, what it does is not obvious from its name, I try to link that concept to any related thing or event in real life, no matter how silly.

For example, drawing from my background in construction, I used blocks to differentiate between block-level and inline elements in HTML and it worked out well for me. Blocks in construction are laid in stretcher bond, horizontally, taking up the entire length of the building or space, just as block-level elements such as a 'div' or headings, being block elements, take up the entire line.

FOCUS ON THE WORKFLOW AND NOT ON THE SYNTAX

Just like we discussed earlier about not trying to memorize syntax, the Syntax will eventually stick to your memory as you keep using it. Your focus should be on understanding what the syntax does and the workflow of combining various concepts to arrive at the desired end-point. This problem-solving approach to programming is exactly how to think as a developer.

JUST KEEP PRESSING ON

As I progressed with my learning journey, I was learning so many things back to back and seemed to be forgetting the older ones I thought I had mastered before. This discouraged me a bit at first and made me go back several times to re-learn older concepts.

Today, I have realized that I only needed to keep pressing on, because, building projects, apps and exercises is the easiest way to commit learned topics to long-term memory. Learn and build, learn and build!

WATCH THE CODING PROCESS AND TRY IMITATION

In my mind, coding is like math. As a math student, imagine your math teacher coming to class every time, having solved all the math problems, displaying the solutions on the screen, and then using a talking stick to explain them step by step. Your understanding would not be the same as watching him start on a blank screen, right?

You see, this is even worse with programming. We all know that lines of code are not written serially. Programmers jump from line to line as the workflow is never a straight line. This is why watching someone code from a blank screen while talking through the code teaches problem-solving, syntax application, and coding workflow.

While the approach of imitating the tutor line by line might appear to be more convenient for a complete beginner, you must learn to wait and watch, understand the entire process, return to the beginning, and try out milestones on your own. This helps to ensure that you are actually learning something and not just copying code.

KEEP A CLEAN REPO

It is good practice to get familiar and comfortable with the git workflow early in your programming journey. Create a GitHub account and commit your projects using best practices. This serves as a great backup for your projects, making you visible to employers as well as open to contributors.

GET MULTIPLE MONITOR SCREENS

Switching between screens is a common practice while coding. A screen that streams the tutorial video or Bootcamp Video, one for your Live preview server, and another for your IDE where you write your code. Two screens are fine, to begin with, and they don't have to be anything too pricey or fancy. If you However cannot afford this, using your single laptop computer or desktop also works.

A BALL AND A DUCK

One of the most thoughtful investments I made during my Boot Camp was to buy a bouncy ball. During my Boot Camp, I noticed one of my TAs constantly bouncing a ball and he looked so cool and 'techy' doing this, lol. So I went and got one for myself. The sound of it bouncing drove my neighbor crazy though but she learned to live, lol. Aside from helping me stay awake while coding for long hours, I will share the second benefit of the bouncy ball three sections from this one.

The talking duck becomes a weird, but helpful partner who listens patiently as you talk through your code. She is a patient co-pilot who stands with you through thick and thin, and even when you mess up your code, she won't yell at you, she just watches, believing you will eventually find your way, most importantly, she won't judge, scold or make fun of your spaghetti code. So, totally get you one!

WALK AWAY FROM THE CODE

Watch a movie, go on a date, hang out with friends and family, play a game or sport, write a poem, just don't binge-code!!!

Imagine what it would be like if all you did was eat and eat and eat, allowing no time for your stomach to digest all you have eaten. Physical activity, Sleep, and rest help with digestion and metabolism in the same way they help with the assimilation of code. Pace yourself, and have a life.

Research proves that having short but focused and consistent regimented sessions of coding is so much better than having long sessions of crammed coding. So every once in a while, walk away from the IDE, unplug yourself from the terminal, and do other things. This helps to reinforce learning.

GET THE RIGHT WORKSTATION AND CHAIR

Invest in the right gear. If you are going to be spending a lot of time learning to code, then you shouldn't have to worry about the discomfort of using the wrong gear. Nice lights, an ergonomic chair, nice music for passive work, a scent diffuser, and a cup of coffee, just anything to bring a sense of warmth and comfort from the herculean task of coding. Aside from bringing some drama to your coding space, the right seat and table can save you from back problems, and stress and help you stay active for longer.

STAND A LOT

During my Boot Camp, I suddenly noticed that this same TA was absent for a few weeks and I wondered why. I later found out that he had been diagnosed with back problems from sitting down for too long and coding, and that explained the bouncy ball! I would watch him stand for most of our classes, bouncing the ball on the wall and squeezing it tight from time to time. Using a table with an adjustable height encourages you to stand while you code.

Standing helps with blood flow, prevents back problems, and helps you stay awake for longer hours, so, don't sit for too long.

PASSIVE VS ACTIVE LEARNING

Active learning has to do with the focused learning we spoke about earlier, while passive learning involves learning while multitasking. This can come in handy when you are trying to get a general insight into a specific theory in programming.

I listen to programming-related stuff on YouTube, things that do not require active attention. I listen to topics like: "coding best practices", "necessary javascript for react", and "Flutter vs React Native". You should however keep it related to the specific concept you are learning at that moment.

YOUR WORKSTATION LOCATION

My workstation is located in my dining, my dining is the central space in the house, as I step into the house I step into the dining first, the dining connects to every portion of the house. The location of my workstation is intentional as it helps me see my computer every time, reminding me to write some code.

ALWAYS PREPARE AHEAD OF CLASS

"The punch that knocks down a boxer is the one they didn't see coming". This statement proved true for me during my Boot Camp as every day was a surprise for me. I learned that teachers are not the only ones that need to prepare for classes but students should as well. I should have gone back to my pre-work materials to spy on the topics for each day before that day, this would have helped me research a bit on those topics so I don't feel lost during each class.

If you are enrolled in a boot camp, ask your TAs to share with you the course content by dates, then go on and do some research before each class. Thank me later, lol.

ATTEND TECH EXPOS AND CONFERENCES

Be on the lookout for tech expos, seminars, and hang-outs as these present great opportunities for exposure, building connections, community engagement, and meetings with potential employers.

Lastly, follow the roadmap for the particular stack you are training for, learn and master the fundamentals, and then follow the technology trends. Google Trends is a great resource for keeping up with the latest technology. My next post is going to be the first of the Front-End Web Development Series, following a current and modern roadmap.

Click here to begin the Front End Web Development Series.

Thank you for staying with me on this one.

Did you find this article valuable?

Support AccDev by becoming a sponsor. Any amount is appreciated!