Income Sources :: Books :: REAL Full-Stack Software Engineer :: Manuscript 0 - Getting Your Development Environment In Order
⪼ Made with 💜 by realpolyglot.dev
Hello, Winners. You've made an excellent decision in picking up this manuscript as part of your journey toward becoming a confident, self-sufficient full-stack software engineer. A LOT of hard work has gone into learning the concepts presented to you. There will be NO-fluff and NO-hand-waving here.
The best books I've read on software development, left me with knowledge that...:
- Inspired me to immediately put that knowledge into practice.
- I could use across languages and platforms.
- I could lean on time and time again throughout the entirety of my software engineering/web development career.
There are 3
goals I set out to meet for this series of manuscripts:
- Help YOU learn non-trivial software development concepts that go beyond the typical hello world or todo app.
- Present the information to you in an easy to read format that won't bore you to sleep.
- Provide real-world value without taking up a lot of space while also keeping you engaged.
The world of software development can be rough. Imposter syndrome is real, but you can take control and eliminate it by crafting non-trivial software solution on your own.
As Peter Theil says, competition is for losers. Find your unique purpose in life, look for problems or gaps in the world, then build creative solutions. Of course, you'll need to be equipped with the knowledge to solve real-world problems in order to achive this. Once you are well-equipped, you'll start to notice unique problems only you are interested in solving because you are confident that you can solve them.
At the time of this writing, there are very few resources on full-stack development. One of the best depictions of what full-stack is comprised of, is outlined by Jeff Casimir. The full-stack is known to be the following components:
- Proudct Management
- UI/UX
- Front-End Engineering
- Back-End Engineering
- Developer Operations (DevOps)
- Data Science / Data Engineering
This one manuscript alone will not provide all of full-stack development to you. My goal in this manuscript is to give you focused, actionable knowledge so you are motivated to purchase and read the next manuscript in the series.
If you are going to eventually be full-stack, there are several non-trivial topics you'll need to understand. This is one of them. Becoming truly full-stack is no easy feat, but if you trust the process and make incremental progress, you will get there.
In this field, you want to be able to navigate around your computer efficiently. I prefer efficiency over speed. Why? Because, efficiency results in less mistakes, and less mistakes means you mitigate re-work. Even though efficiency can be slower initially, it eventually leads to speed.
Getting Your Development Environment In Order leads to efficiency. Understanding how your text editor works leads to efficiency. Learning a few key *nix command-line utilities leads to efficiency. Efficiency builds confidence. Confidence mitigates imposter syndrome.
When you know your way around your development environment, it removes an entire class of problems that you could face throughout your journey as a software developer. I've seen many software developers struggle because they don't know their way around their own computer; while, less experienced developers thrive in unfamiliar territory because they were more fluent with their tools.
Imagine being a new auto mechanic and not knowing every tool in the toolbox, vs, being a new mechanic and already knowing what all the tools in the toolbox do and the pros and cons of each. A typical day as a software developer includes copying and pasting lots of text, cleaning up text, trying out new commands, debugging, reading error messages, running experiements, code spikes, moving windows around, and logging in and out of different systems via various authentication methods.