Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,161,446 members, 7,846,854 topics. Date: Saturday, 01 June 2024 at 04:04 AM

Discussion Thread On The Best Learning Path For Beginner Fullstack Developers - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / Discussion Thread On The Best Learning Path For Beginner Fullstack Developers (1282 Views)

Senior Fullstack Developers Needed Urgently / The Best Learning Path For A Fullstack Developer - Discussion Thread / What's The Easiest Path For Beginners? (2) (3) (4)

(1) (Reply) (Go Down)

Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:33am On May 29, 2022
 
https://www.youtube.com/watch?v=OTmyLfeHZjU


Every time in discussion forums and on social media, I see a lot of upcoming programmers argue what is the best programming language. Others are concerned whether they should go for frontend, backend or FullStack. In this discussion thread, my focus will be on FullStack development. But before I proceed to shed light on why I created this thread, I'll like to share a little of my experience.

MY BACKGROUND EXPERIENCE
In 2019 just before Covid strike, I was privileged to be part of a 3 months online training on Fullstack Web Development. So we were exposed to the so called 'basics' which is CSS, HTML and React frontend Framework. After that we learnt about Rest API with Node.js and Relational database and we were thrown into the wild to build our Capstone project. Then came Covid lockdown. So, I decided to build something with my new knowledge for the Health Industry especially to participate in one of the hackathon then.

So I built this product for Health Information management. Fortunately for me, my product got some attention after some promotion and it was sponsored by UNICEF in a deal worth around N5million to one state agency. After one year of working on the product and delivering it to the client, I thought I have learnt enough to start freelancing and applying for remote jobs.

However, I ran into three major issues.

1. I thought I have learnt the basics of programming when I learnt CSS and HTML. Of course I have over a decade of knowledge of CSS and HTML when working on Wordpress. But the truth is I have not.

2. All the while I have worked with a few persons and have not learn how to work with a large team of developers and project management team.

3. I have not learn how to do proper documentation of my software because I didn't follow best project management practices. This issue became glaring when my client wanted to expand the software and the deal is more than double the initial cost of the software. I ran into challenge of having to explain why my budget is now bigger than the initial cost of building the software.

Also, after getting some offers on Upwork and taking some job tests, these issues became glaring and I lost some opportunities due to this.

So, it dawn on me that I have had a poor foundation in my Fullstack development journey. When I search online for the best FullStack developer path journey, most of the recommendations and advice I saw online also follow the learning path I followed.

After enough research, paid trainings and working with top tech guys, I was able to discover and overcome my initial challenges. Of course I'm still learning. Due to my experience and challenges, I have spent the past one year on learning what I consider the basics and deep rooted part of FullStack development. After getting this knowledge, programming has become more real to me and I can confidently work with any client, on any project, with any size of team. I can also venture into new programming language with reduced learning curve.

WHY I CREATED THIS THREAD
Because my journey into FullStack development is in the recent past, I wanted to share my experience and best practices from what I have learnt and get feedback from others on what has worked for them.

In this thread I will drop what I consider the basics of FullStack developer learning curve and why you should spend your formative months in your programming journey learning these basics.

WHAT WILL YOU DO AS A FULL-STACK DEVELOPER?
The full-stack developer can handle both back-end (the server facing side) and front-end (the user facing side) tasks, although they may not necessarily be an expert in either. If you're torn between learning multiple technologies, this might be the path for you! Full-stack developers may:

>> Build a site backend in programming languages such as Node.js or Python or Java or Ruby or .NET
>> Use front-end libraries or frameworks like React, Vue.js, jQuery, Bootstrap
>> Manage application deployment and put projects on servers
>> Perform sysadmin tasks
>> Run SQL queries on databases


You may be wondering whether to take the full-stack developer path or a more specialized path! If you're interested in an overview of both front-end and back-end programming, without going deeply into different libraries, then you're in the right place. (Or if you're completely new to programming, consider starting with our associate's-level program, the Web Developer Path, which provides an intro to both the front-end and the back-end.)

As you progress, you may focus on a more advanced level in one type of programming and find a more focused job. Think of the medical world as a parallel. As a doctor, you can be a generalist or a specialist. Generalists can only go so far before specialists need to take over. The same is true for development jobs. Full-stack developers can get jobs in early-stage startups when there's a need for a developer to do many tasks simultaneously. Specialized developers can get jobs in larger startups and large companies because, by this point, the code base already exists and a more focused talent is required. But if you are a beginner with no experience, starting as a junior developer as a fullstack developer even for a year will help prepare you for a job as a specialist developer.

HOW MUCH WILL YOU EARN?
Web development can be a lucrative career with many prospects opening up as you continue to rack up valuable experience. Here is what you might expect to earn in your career as a full-stack web developer:

United States
Beginner: $50,000 - $80,000
2-5 years: $70,000 - $90,000
5+ years: $100,000 +

United Kingdom
Beginner: £30,000 - £40,000
2-5 years: £40,000 - £60,000
5+ years: £60,000 +


WHAT ARE YOUR JOB PROSPECTS?
This path can prepare you for the following jobs:

1. Full-stack developer
2. Junior front-end developer
3. Junior back-end developer

DISCUSSION THREAD STRUCTURE
The FullStack Developer learning path will be divided into 12 parts so is this discussion thread.

Part 1 - Programming Basics
Part 2 - Frontend Basics - HTML, CSS
Part 3 - Mockup Design - UX, UI
Part 4 - Frontend Programming Languages - Javascript, Typescript
Part 5 - Frontend Frameworks - React, Vue.js, JQuery, Bootstrap
Part 6 - Database (SQL and NoSQL)
Part 7 - Project Managements
Part 8 - Application Programming Interface - Rest API, GraphQL
Part 9 - Backend Programming Languages/Framework - Javascript/Node.js, Python/Django, Java/Spring, .NET/.NET Core, Ruby/Ruby on Rails
Part 10 - Security
Part 11 - Flutter (Mobile Apps)
Part 12 - Cloud Deployment

I will share each part discussion post below with an introductory video and open it for discussion. To avoid information overload, I will share each part post one day at a time. Follow this thread to learn more on what I have discovered and the best path to follow as FullStack developer. I have reserved 12 spots for each thread so be sure to follow up.

DISCLAIMER
Since what I'm sharing is based on my experience, some of them may be subjective. If you disagree, I'll appreciate if you share what you belief is the best approach and if possible your own experience.

PLEASE NO INSULT OR UNNECESSARY ARGUMENT TO ANY PARTICIPANT.

THIS IS A DISCUSSION THREAD. SO, I'LL LABEL EACH OF MY POST. WHEN MAKING COMMENT, YOU CAN MAKE REFERENCE TO THE PARTICULAR POST

1 Like

Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:33am On May 29, 2022
PART 1 OF FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD

 
https://www.youtube.com/watch?v=HsPrw3U8fkE


PROGRAMMING BASICS - DISCUSSION #1
One of the general advise you will see online if you are a newcomer to web development is to start from the basic which is CSS and HTML. That was the path I followed when I started. But as I said in the introduction post, that path created more problems for me. In short, if you are a beginner or you are interested in going into fullstack development, there are basic things you need to learn first before you even start to learn any mark-up, stylesheet or programming language. Below, I will itemize the main concept and point out how it will benefit you in the long run.

1. LEARN ABOUT FUNDAMENTALS OF THE WEB
If you are new to the world of the web, but you don't quite know where to start, this should be your starting point.
Why Learn It: At the end of learning about the fundamentals of the web, you'll be able to:
>> Communicate with web-specific vocabulary
>> Distinguish between various web languages
>> Understand what servers do
>> Know where you stand in the technology landscape
Where to Learn It: You can Google about it or you can take the free course in our training platform as pointed in the intro video.

2. LEARN ABOUT THE LOGIC OF PROGRAMMING
Learning about logic of programming will help you to demystify the logic used in computer programming and give you the confidence you need to take your first steps towards a career in development. By using concrete, everyday examples, you'll be able to focus on learning the most frequently used concepts without getting lost in a sea of jargon. You'll discover that coding isn't as complex as people make it out to be, and that anyone can learn it - including you! This topic will introduce you to Object Oriented Programming which is the structural and conceptual model for many of the most popular programming languages today, including Java, Python, Ruby, Swift, C++, C#, Kotlin, PHP, Go, Javascript, and many more. That means that regardless of the language you choose, you'll be able to learn the mechanics of coding faster!
Why Learn It: At the end of learning about the logic of programming, you'll be able to:
>> Identify how computers use objects in programming.
>> Understand how computers use logic to make decisions and run programs.
>> Explain how functions work in programming.
>> Recognize how data is stored in computer programming.
Where to Learn It: You can Google about it or you can take the free course in our training platform.

3. LEARN ABOUT DOMAIN DRIVEN DESIGN APPROACH TO DEVELOPMENT
How can you possibly deliver software a customer wants in an ever-changing world? It’s challenging! A big part of the problem is we like to dive into coding as quickly as possible. While this is admirable, it often leads to fragile, difficult-to-modify solutions. And what do customers do all the time? Change their minds! Which means we need to modify our solutions. How do we manage? The answer is using Domain-Driven Design AKA DDD from the onset. Learning this approach may spare you a lot of headaches, when, after you’ve delivered some software, the customer asks, “But can you also make it do this?"
Why Learn It: At the end of learning about Domain-Driven Design, you'll be able to:
>> Extract user needs using domain-driven design processes.
>> Formalize user needs into a domain model.
Where to Learn It: You can Google about it or you can take the free course in our training platform.

4. LEARN ABOUT THE COMMAND LINE IN TERMINAL
Terminal is one of the most important applications on your computer. If you ever want to be a coder or work in a tech team as a designer, product manager, or other tech role, you'll have a big advantage if you're already comfortable with basic commands.
Why Learn It: At the end of learning about the command line in terminal, you'll be able to:
>> Understand the role of the command line
>> Use basic commands and search for system content in Terminal
>> Create a website structure from the command line
>> Create a non-website structure on the command line
>> Perform a series of commands in Terminal
Where to Learn It: You can Google about tutorial on it or you can take the free course in our training platform.

5. LEARN ABOUT INDUSTRY STANDARD PATTERNS FOR SOFTWARE ARCHITECTURE
Do you need to design software architecture for a business problem? How do you figure out the best solution? What are the possibilities? Whether you're an experienced developer needing a more structured theory or a beginning software architect, learning about this concept will make you stand out from the crowd.
Why Learn It: At the end of learning about the industry standard patterns for software architecture, you'll be able to look at six major architecture models that you can use in a variety of business situations:
>> Client-server architecture
>> Event-driven architecture
>> Service-oriented architecture
>> Plug-in architecture
>> Layered architecture
>> Data-centered architecture
Where to Learn It: You can Google about tutorial on it or you can take the free course in our training platform.

6. LEARN ABOUT GIT AND GITHUB OR OTHER GIT TOOLS
IT projects can be complex, and keeping track of your file history can quickly become mission impossible! Git allows you to keep track of changes to your code and organize your development projects. It’s an essential tool, whether you’re working alone, as part of a team, or even on an open-source project!
Why Learn It: At the end of learning about Git and GitHub, you'll be able to:
>> Install and configure Git and GitHub.
>> Use basic Git commands.
>> Correct common mistakes in GitHub.
Where to Learn It: You can Google about tutorial on it or you can take the free course in our training platform.

7. LEARN ABOUT SETTING UP YOUR CODING ENVIRONMENT FOR EACH PROGRAMMING LANGUAGE
As with any technical career, developer needs the right tools. You’ll need to set up your workhorse for all things code: Visual Studio Code, with its advanced editor, file explorer, command palette, and built-in console and version control tools is my favourite.
Why Learn It: This will give you the best experience when working on any of the tools require for any programming language.
Where to Learn It: You can Google about tutorial on it or you can take the free course in our training platform. There are different courses on different programming languages.

8. LEARN ABOUT THE DEVTOOL
There's so much going on behind all the websites that you visit. Wouldn't you love to look under the hood sometime and see the elements and functions that make them turn? Enter Developer Tools! You can use them in Chrome, Firefox, or another browser of your choice.
Why Learn It: At the end of learning about DevTools, you'll be able to:
>> examine and modify HTML elements.
>> add and test out CSS style rules.
>> see the page's JavaScript functions.
>> identify which items load quickly or slowly.
>> whether the website you're on is secure.
>> what a developer could do to improve their code.
Where to Learn It: You can Google about tutorial on it or you can take the free course in our training platform.

OVER TO YOU
So far, I have covered some ground and this may take you a total of 36 hours or thereabout. Of course, you are yet to start learning how to code. Before I move to part two of this full-stack developer path discussion, which of these programming basic concepts have you explored as a developer and how has it helped your journey? If you are new to programming, how many days do you think it will take you to cover this 36 hours of learning to kick start your journey as full-stack developer? Which of these concepts are you curious about the most.

THE TRAINING PROGRAM
We have built a training platform to allow those who want to practice to get their hand dirty. To get access, visit the link in the signature and choose how you would like to join. All the basic courses in this part are free to access.

However, we prefer that you follow our project-driven approach to training. In this approach, instead of just taking on all the courses, you start working on a project which will require you complete some courses. This way we expose you progressively from the basics to advance concepts. You can follow the thread below to have a look at our project-driven fullstack training approach. Visit: https://www.nairaland.com/7153207/join-project-driven-fullstack-developer-training

PART TWO LOADING...
After I get 10 reactions on this part, I will move to part two.
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:33am On May 29, 2022
RESERVED SPACE FOR PART 2 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:34am On May 29, 2022
RESERVED SPACE FOR PART 3 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:34am On May 29, 2022
RESERVED SPACE FOR PART 4 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:35am On May 29, 2022
RESERVED SPACE FOR PART 5 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:37am On May 29, 2022
RESERVED SPACE FOR PART 6 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:38am On May 29, 2022
RESERVED SPACE FOR PART 7 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:38am On May 29, 2022
RESERVED SPACE FOR PART 8 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:38am On May 29, 2022
RESERVED SPACE FOR PART 9 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:39am On May 29, 2022
RESERVED SPACE FOR PART 10 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:41am On May 29, 2022
RESERVED SPACE FOR PART 11 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 8:42am On May 29, 2022
RESERVED SPACE FOR PART 12 OF THE FULLSTACK DEVELOPER TRAINING PATH DISCUSSION THREAD
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by airsaylongcome: 9:04am On May 29, 2022
cool
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by sanmtiago(m): 10:16am On May 29, 2022
Here we go…
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 10:37am On May 29, 2022
I already post part 1 of the discussion above on page 1 of this thread. You can go through it and share your opinion. After I get 20 reaction on it, I will move to part two.
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by silento(m): 12:19pm On May 29, 2022
I have a question is php not a backend language
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 12:53pm On May 29, 2022
silento:
I have a question is php not a backend language
It is but for this discussion and our associated training I'm focusing on Node.js and Python. We also have courses covering Java, Ruby and .NET. I'll get to this in the Backend Programming language part of this discussion. As you are aware, being the Backend Programming language behind Wordpress there are many training program out there on PHP and it's frameworks
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by Qinglong(m): 10:11pm On May 29, 2022
realunclej:

1. LEARN ABOUT FUNDAMENTALS OF THE WEB
If you are new to the world of the web, but you don't quite know where to start, this should be your starting point.
Why Learn It: At the end of learning about the fundamentals of the web, you'll be able to:
>> Communicate with web-specific vocabulary
>> Distinguish between various web languages
>> Understand what servers do
>> Know where you stand in the technology landscape
Where to Learn It: You can Google about it or you can take the free course in our training platform as pointed in the intro video.

2. LEARN ABOUT THE LOGIC OF PROGRAMMING
Learning about logic of programming will help you to demystify the logic used in computer programming and give you the confidence you need to take your first steps towards a career in development. By using concrete, everyday examples, you'll be able to focus on learning the most frequently used concepts without getting lost in a sea of jargon. You'll discover that coding isn't as complex as people make it out to be, and that anyone can learn it - including you! This topic will introduce you to Object Oriented Programming which is the structural and conceptual model for many of the most popular programming languages today, including Java, Python, Ruby, Swift, C++, C#, Kotlin, PHP, Go, Javascript, and many more. That means that regardless of the language you choose, you'll be able to learn the mechanics of coding faster!
Why Learn It: At the end of learning about the logic of programming, you'll be able to:
>> Identify how computers use objects in programming.
>> Understand how computers use logic to make decisions and run programs.
>> Explain how functions work in programming.
>> Recognize how data is stored in computer programming.
Where to Learn It: You can Google about it or you can take the free course in our training platform.
So I'm just wondering; by the basics and the logic of programming, are you talking about the lessons taught in those courses/resources like Harvard's CS50, CS61A, OSSU, etc., and their related books?

I'm somewhat interested in programming and I've heard the best way is to learn from those resources before/while learning actual programming languages.
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 2:48am On May 30, 2022
Qinglong:

So I'm just wondering; by the basics and the logic of programming, are you talking about the lessons taught in those courses/resources like Harvard's CS50, CS61A, OSSU, etc., and their related books?

I'm somewhat interested in programming and I've heard the best way is to learn from those resources before/while learning actual programming languages.
While I don't know the content of all the courses you are referring to, I think you are on point. These are basic concepts that if you master them, it will make programming more real and you can quickly spot pattern in any programming language. From my experience after going through those lessons, I can sit down and read the documentation of a programming language to understand the logic before even writing any code for practice. I will drop hint on some of the content of the courses to show what I mean but you can as well access them freely.
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by gnykelly(m): 11:40am On May 30, 2022
Wow you really did well for yourself
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by silento(m): 2:42pm On May 30, 2022
realunclej:
It is but for this discussion and our associated training I'm focusing on Node.js and Python. We also have courses covering Java, Ruby and .NET. I'll get to this in the Backend Programming language part of this discussion. As you are aware, being the Backend Programming language behind Wordpress there are many training program out there on PHP and it's frameworks


Ok
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by Qinglong(m): 3:07pm On May 30, 2022
realunclej:
While I don't know the content of all the courses you are referring to, I think you are on point. These are basic concepts that if you master them, it will make programming more real and you can quickly spot pattern in any programming language. From my experience after going through those lessons, I can sit down and read the documentation of a programming language to understand the logic before even writing any code for practice. I will drop hint on some of the content of the courses to show what I mean but you can as well access them freely.
I saw similar advice based on the user's personal experience in a Reddit thread; "How to actually learn CS."

Thanks. I'll keep my mind on this in case I actually get into programming sooner or later.
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 3:53pm On May 30, 2022
Thanks
gnykelly:
Wow you really did well for yourself
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 5:08pm On May 30, 2022
THE TRAINING PROGRAM
We have built a training platform to allow those who want to practice to get their hand dirty. To get access, visit the link in the signature and choose how you would like to join. All the basic courses in this part are free to access.

However, we prefer that you follow our project-driven approach to training. In this approach, instead of just taking on all the courses, you start working on a project which will require you complete some courses. This way we expose you progressively from the basics to advance concepts. You can follow the thread below to have a look at our project-driven fullstack training approach. Visit: https://www.nairaland.com/7153207/join-project-driven-fullstack-developer-training
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 6:48am On May 31, 2022
Putting the second part of this discussion together. Stay tuned...
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by bularuz(m): 11:02am On Jun 01, 2022
Nice thread, kudos to you, but I have a challenge myself which is how do you combine the front end e.g React with the backend e.g python or node js in a single site or cpanel during production
Re: Discussion Thread On The Best Learning Path For Beginner Fullstack Developers by realunclej(m): 11:12am On Jun 01, 2022
bularuz:
Nice thread, kudos to you, but I have a challenge myself which is how do you combine the front end e.g React with the backend e.g python or node js in a single site or cpanel during production
I use Rest API or GraphQL most times to handle Backend business. Most times I host them separately independent of each other. If you are just consuming a third party backend API like when you build Shopify storefront, you can add the server directory in the same directory where you have the Frontend.

(1) (Reply)

My Journey Becoming A Web Developer / !!! / Visual Basic

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 90
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.