I have a technical training (physics and applied math), but spent most of my early career in the military (non-technical roles). I got out of the military and spent the last few years in the startup ecosystem in generalist roles. I've delivered when managing technical projects, can read/understand developer documentation pretty well, and frankly just vibe with developers so I want to make the transition into launching my own software projects. I don't necessarily want to grind in solitude as a junior dev somewhere to slowly develop my skills - I want to just full bore train in my spare time. Is that the wrong approach? If not, got any tips on where to start?
Build stuff. Build stuff with all the pieces.<p>* Setup the database<p>* Define the schema<p>* Code the server side rest api<p>* Develop the web frontend<p>* Deploy it to a server<p>It doesn't have to be a side hustle it can just be something that solves a problem or scratches a particular itch that you have. If you find it useful then you'll stay motivated to work on it and power through each of the issues you encounter. You can refactor it as you go and learn without fear of deadlines and go at your own pace.<p>Once you've done it once you'll have the confidence to do it again. But nothing will help you learn full stack development as well as building a full stack application from scratch. There is no shortage of How To resources for each step from above but I find that until you start building something those resources have trouble sticking because you lack the context to anchor the information in.<p>So just start building stuff.
As everyone else has said, build stuff.<p>More specifically, I highly recommend Hartl's Ruby on Rails Tutorial as a starting point. It does a fantastic job of helping you get your hands dirty with everything from the database through the frontend, without assuming a ton of prerequisite knowledge.<p>Even if you never touch Rails again after (which would be surprising, I have been using Rails for a decade and still love it), you'll have a good grasp of the fundamentals involved.
I’ve found <a href="https://fullstackopen.com/" rel="nofollow">https://fullstackopen.com/</a> to be the most understandable and practical guide.<p>To learn the very basics I also recommend <a href="https://funprogramming.org/" rel="nofollow">https://funprogramming.org/</a><p>Of course at any point deviate and build your own apps. Then continue with the guides
Build a full stack app that makes money. The usual advice to "get your hands dirty" is highly effective because it cuts out the crud (pun intended). The additional constraint of making money forces you to learn the critical skills of prioritizing what actually matters, and building software infrastructure needed for Real Apps(TM). You'll most likely never make any money, but you'll get in the habit of not bike shedding, and be able to say you know how to set up things like email accounts and payments.<p>A good software engineer is good because they can make ends meet. Beginners often make the mistake of spinning their wheels learning the minutiae of some stack that won't be relevant in a decade. Learning how to make money with code is a more enduring and transferable skill, and impresses all but the most jaded hiring managers.
It definitely depends on what type of app development you want to do and where you are starting from, but since my wheel house is web development I will answer from here.<p>Follow Brad Traversy on YouTube (TraversyMedia). Start with his "Crash course.." videos. Follow along a couple small project tutorials. Spend the money on his Udemy courses.<p>But as others have said: Build stuff. Brad will walk you through the basics and then have you building things. FOllow along. Code with him.<p>Depending on how much time you have to devote and grind, you could be further along in building web apps in 3 months than I was in 10 years.
Think of the simplest thing you want to solve and then go full throttle on it.<p>For myself, I have been keeping track of my weight. I just have a notepad on my desk where I log my weight every morning. Simple, convenient, easy.<p>So I decided to make a single page app that allows me to log my data. I host it on a raspberry pi I have at home. Postgres DB, React front-end, Spring back end. I'm even flirting with the idea of using redis.<p>Does this make any sense? No. My notebook works wonders in making sure I am aware of my eating habits post-hoc. Did I learn a lot from what I did? Kinda. I'm no expert, but I know more than before.<p>¯\_(ツ)_/¯
You may have a look at <a href="https://www.freecodecamp.org/" rel="nofollow">https://www.freecodecamp.org/</a>
The website have series of courses, and a full stack certification
Check out devcontainers on VSCode when you start building. When I first started working on full stack projects I wasn’t sure how to literally connect the pieces but these containers give you all them via Docker which simplifies so much of the initial getting started steps.
The fastest way is to redefine 'full stack' to the part of the stack you already know. AFAIK, full stack commonly refers to only a small part of the stack anyway. :p