DEV Community

Arpit Parekh
Arpit Parekh

Posted on

Full stack developer: A process and not an end goal.

Cover Image

Hello everyone, in this blog, I'll be sharing my experience on how I have started my journey as a full-stack developer. I will be sharing my mistakes my experiences and how I have taken the steps to become up better full-stack developer. Remember you can never be a complete and/or a perfect full-stack developer you will always be in the process of becoming a better one. So did it ever cross your mind that who is exactly a full stack developer?

A full-stack developer is like a coach of a football team who is the mastermind of the game. Well in our case a full-stack developer is the mastermind of building the application. A football team can be as good as their coach. Who can be a better coach? When they know their players, what formation to play, and adapt well to the situation. A coach can never be perfect, they are always in the process of becoming a better one.
So who can be a better Full-stack developer? Who knows what technologies to use, how to use them, where to use them, and what technologies to use in a particular situation/application?

Now coaches are not born experts, they need to invest in understanding the game, the formations, the players, etc. They need to get their basics right about the game. So a full-stack developer needs the basics of everything and they need every technology in their armoury to become a better one.
So how do start that journey to become a better coach ….Errr…a full-stack developer? Here is what I have understood:

1.First up Get your forwards right: Learning Front-End Technologies.

The first step to becoming a full-stack developer is to learn front-end technologies. There are loads of front-end technologies/ frameworks you can get started with and sometimes it's overwhelming. Don’t worry it's not like you have to finish that in one night. It is not an engineering exam that you have to give it tomorrow. Learning usually takes time and it has its own process. And oh boy, while learning front-end technologies, sure you have to follow a process. There are many front-end technologies you can get started with like Angular, React, Vue, etc. These are the popular ones, and you can find out more on the internet.
But to learn these frameworks, you must get the basics right. And what I mean is that while you get your forwards right or you start learning these frameworks, the coach should know what the role of forwards is. In our case, a full-stack developer should know HTML, CSS, and JavaScript to learn any of these frameworks. These languages help create the structure, design, and interactivity of a website. What I did is, I learned these basics in college and started working on projects. It was not like I started working for a company of anything, I took a use case and built that. You can do that too, just start building from something scratch and make your own path. When I got the internship, I started working on Angular, and having already got the basics clear It helped me a lot in the Internship. As of now, I would say I don’t know all the front-end technologies and whichever I know, I find that there's a lot more I can grasp.

2.Setting up your Midfield: Learning What are Back-end Technologies and How to use them for supporting your frontend.

Once you get a knack for front-end frameworks, it's time to strengthen your midfield with an understanding of back-end technologies. Back-end technologies are like the midfielders of your team. They support and handle the requests coming from the front end, ensuring a seamless game (or application, in this case). Popular back-end technologies include Node.js, Python (with frameworks like Django or Flask), Ruby (Ruby on Rails), and more. Some of these technologies are fast and powerful, and keep everything running smoothly. It enables you to write server-side code using JavaScript, the same language you've used for the front end. Also Understanding back-end technologies is crucial because they manage your databases, business logic, and server operations. Imagine your team without a sturdy midfield—chaos, right?
Just like a midfielder needs to know the strategy of the game, you need to comprehend concepts like server, database, API, HTTP methods, and more. Get comfortable with the terms before diving into the real action. Start with a back-end language like Node.js, which is like a versatile potion that can adapt to various challenges. Learn how to handle requests, manage databases, and create robust back-end applications. This is the approach I followed when I started learning the backend technologies. APIs (Application Programming Interfaces) are like passes between players. Learn how to create APIs, connect them to your front end, and pass data back and forth seamlessly. Mastering this skill ensures your midfield passes are accurate and efficient. Just as a team follows a game strategy, you'll adopt frameworks like Express (for Node.js), Django (for Python), or Ruby on Rails. These frameworks streamline your efforts and help you play a smarter game.
Much like a midfielder perfects passing and tackling in practice, build back-end projects. Start with simple ones and gradually move to more complex challenges. Projects will reinforce your learning and level up your skills. Remember, just like a football game, becoming a full-stack developer is about teamwork—your front-end and back-end should complement each other to score those development goals!

3.You Defence: Learning Database Management

In a football game, defenders are crucial. They form a solid line of defense, ensuring the opponents struggle to score goals and make sure to give them a headache. In the tech world, this role is parallel to cybersecurity.
Cybersecurity is like the art of defense in football. It involves understanding different attack strategies, just as defenders need to know various offensive tactics. Concepts like authentication (verifying identities), authorization (permissions to access), encryption (keeping data secure), and secure coding practices are the basic skills every tech defender needs. Imagine you're guarding a goalpost. Cyber-attacks are the opponents trying to score against you. Your role as a cybersecurity expert is to anticipate their moves and ensure they don't breach the application's defense. It's all about keeping the playing field secure and ensuring a fair game! Since I am working in a bank, the most important thing for us is the data and we have to protect that and thus having the right knowledge becomes crucial for us. So a full stack developer needs to have this basic knowledge of protecting their application and from being vulnerable. Since the start of my career, I have learned a lot about authorization, role-based authentication, storing passwords in a vault, and whatnot. I am not yet the master of this but I am making sure to learn day by day.

4. Guarding the Net: The Role of DevOps

In a football match, the goalkeeper is the ultimate defense. They are the last line of protection, making critical saves to ensure the opponent doesn't get past them. Similarly, in the tech world, DevOps is like the goalkeeper, safeguarding the entire development process.
DevOps ensures a smooth flow of the game, from training (coding) to match day (deployment). Just like a goalkeeper must communicate effectively with the team and have quick reflexes, DevOps ensures efficient teamwork and quick adaptation during the development process.
Continuous integration (blending code changes into a shared repository), continuous deployment (automatically deploying code changes to production), and automation (reducing manual efforts) are some of the tactics in DevOps' playbook. They are the goalie's moves, quick and decisive, guarding the net and enabling a seamless game (or application) progression. Learn about continuous integration (blending code changes), continuous deployment (automatically deploying changes), and automation (reducing manual efforts). These are your goalie's moves, quick and efficient, ensuring a flawless game (or application) progression.

Now we have talked about our forwards, our midfielders our defense, but where does a full-stack developer come into the picture ??

Remember I told you that a full-stack developer is like a coach. They need to have knowledge about their team, well in our case the technologies. When you have the right kind of knowledge about the technologies you can strategies better. You can plan out which technologies are needed in what applications and how can you build a well-equipped and fully functional application.
Now as a full-stack developer, you don’t need to know every framework, you should just focus on the basics and if your basics are clear you can adapt to every framework at any point.

Things you should do when you start your journey to become a full-stack developer. (These are some points I followed, does not mean you should do the same. )

• Focus on getting your basics clear.
• As all teachers say, focus more on practical rather than theory.
• Just like school days, chart your learning.
• Learn from seniors. Having seniors with great knowledge is a
blessing and fortunately in my journey so far I have learned a
lot from them rather than learning from a book.
• Just as you learn from seniors, having great and skilled peers
can also be helpful. Don’t be jealous, be selfish and learn from
them.
• Ask questions. Make your seniors and your peer’s life hell by
asking them questions.
• Work in a team because working in a team culture helps you a
lot.
• Develop strong problem-solving skills. This is like mastering
the art of improvisation during a football match. You'll face
unexpected challenges, and the ability to solve them efficiently
is a valuable skill.
• Engage with the developer community. Attend meetups,
conferences, and webinars. Networking helps you learn from
others and opens doors to new opportunities.
• Start with small applications and gradually tackle more complex
challenges. The more you practice, the better you become.

Mistakes That I hope someone would have told me! But no one did, but you guys are glad that I am telling you.

• Starting out, it's easy to get excited and try to learn
everything at once. This approach is like trying to score a goal
from the halfway line—it rarely works. Focus on one thing at a
time, master it, and then move on to the next. Rome wasn't built
in a day, and neither is a full-stack developer's skill set!
• Documentation is like the playbook in football. It might not be
the most thrilling read, but it's essential for understanding
how things work. I wish I had paid more attention to it in the
early stages.
• Much like delaying practice in football, delaying coding
practice can hinder progress. Make a routine and stick to it.
Consistent effort, even if it's just a little every day, can go
a long way.
• Just like in football, where you need to constantly refine your
strategies, in coding, rigorous testing is crucial. The more
thorough your testing, the fewer bugs you'll have to deal with
later on. Testing your code is essential, I did that very late
and I had to face repercussions of that. So test your code
thoroughly.
• Focus on writing clean and working code and not just working
code.
• Just like scoring a goal in football brings joy, creating
something amazing in coding should also be a joyful experience.
Don't forget to enjoy the process!
• Remember, making mistakes is okay. Learn from them, grow, and
keep progressing in your journey as a full-stack developer.

All in all, becoming a full-stack developer is not an end goal , it’s a journey and a process.
So in this blog, I have just shared a small part of the journey that I have embarked on to become a full-stack developer. These were my learnings and experiences that I have shared with you, doesn’t mean you have to agree and follow this. But if you read this Thanks for that, Cheers 😊

References

Cover

Inspiration

Top comments (1)

Collapse
 
fazy221 profile image
Faizan Raza

Very informative article!