Published: May 24, 2020
When it comes to becoming a full-stack developer. It carries a perspective on why it's not recommended to do it. To me, the reason why you may want to become a full-stack developer. It is that you aspire to build something from start to finish.
To either start your own startup or work in an early-stage startup. With a deep curiosity and hunger to learn. To get things done with resourcefulness, technical and soft skills to achieve it.
You can skip the Django part if you are not planning to use Django for your web framework of choice. When you are developing for a startup or use Flask.
Full-stack developers are commonly founded in early-stage startups. Due to rewards and being able to sharpen their skills to develop a product or service from startup to finish.
I would suggest that you do take some time to read books related to startups. As it helps a lot in building your own mental models and terminology. So that you need to prevent yourself from being taken advantage of you by people who want you to do work for free or very little compensation.
This also helps you in preparing you to become a better developer to create product or services. If you eventually want to become a tech entrepreneur after spending time to develop for a startup.
This is one of the essential books that I highly recommend. For anyone interested to work in a startup to read. That allows you to get started, without a lot of your time and effort to build it.
Despite it's clearly a DevOps book. A lot of companies or organisations are going through, what they call Digital Transformation. This book provides a lot of case studies on companies or large organisations adopting "DevOps" as part of their digital transformation strategy.
With the same mentality of doing more with less & moving fast without breaking things to create products or services that will replace their existing revenue.
Guy Kawasaki offers nuggets of gold like having an odd number for share percentage of founders or co-founders. How to get yourself a mentor to pick their brains by writing an email in a way that allows anyone to be interested in helping you or working with you.
A piece of advice that I love is a startup must always start off with two people. A creator/maker who focus on building and creating the products or services. The other must be a salesman/marketer, who focus on raising capital, resources, building relationships with the customer who buys from you.
Despite you may fulfil a role as the creator/maker. You must learn to sell the idea or vision to potential hires, investors, partners and customers. Without this skill, you may fail to attract anyone to be part of your team or get things done.
If you are reading this, I am assuming that you want to become a creator or a better developer. Who is not easy to replace or seek you out to deliver value in what you do.
In your career, you will encounter a lot of problems in refactoring another developer's codebase. With very little time to debug a problem. Having test cases and readable code allows you to save time and effort in debugging software which your future self thanks you for it.
To compliment with clean code, you will definitely encounter legacy code be it a codebase from yesterday, 6 months from now or another developer who has left the company.
It outlines ways to tackle a legacy code to be adaptable & maintainable. This is an important book, especially you are task to touch a piece of critical software that carries a high risk. Which will result in financial loss, reputation or even your job if it fails.
The pragmatic developer offers tons of useful wisdom and guidance for anyone level of experience as a developer.
Like the importance of learning a new skill to domain-driven design that becomes more important when we are switching into a remote developer world.
If you are planning to become a Django developer like me when I was first starting out. There are tons of information out there from YouTubers, books to podcasts. I would suggest you by picking up the latest version of the Two Scoop of Django 3.x by both Daniel Roy Greenfield & Audrey Roy Greenfield.
I used an older copy Two Scoop of Django 1.11 to reference it as part of my development decisions. Which really do saves you tons of time and effort to google.
It fills the gaps with best practices when you are required to use it say. Working with asynchronous task or deployment of your Django project to the cloud providers. If you want a tutorial do go to their Django Crash Course.
Testing is the most important task with the least appreciation. It can be a pain or you can be leverage towards faster deployment & higher quality. Due to your investment to write good test cases. Which zooms in on the problems. To speed up the time to fix the bugs & deploy your software.
Pytest is one of my goto testing framework instead of using Django's built-in testing framework. The reason to pick it up is that it's really dead easy to learn and is really powerful due to fixtures capabilities in mocking datasets, services and many others.
If you are working with Django. You know the importance of writing test cases. I would highly suggest you read this book. As it provides you with a fundamental understanding of Test Driven Development and offers you insights on how to take advantage of Django's built-in libraries for testing that is really useful when you combine with Selenium
I had covered 4 topics namely Startup, Craftsman, Django & Testing. That is important if you are planning to become a Full Stack Developer using Django. As much as it can be overwhelming in the amounts of books.
I would suggest that you eat an elephant one bite at a time. By reading it and diving it further. If the topic does interest you to hone your craft as a developer. Lastly, I really hope you do read my article called Explain Startup Jargon to a 5-Year-Old. On how the startup world is like to avoid pitfalls or being taken advantaged by a snake oil salesman.