| I was you a few years ago. There's two ways forward: 1. Get a job programming and slowly build up your skills/expertise by learning from those around you. 2. Develop a lesson plan for yourself and figure out how to build and deploy different kinds of apps. I don't know if you're into #1 but I think it can be massively useful. There's so much stuff you don't know about that some dude who's been working somewhere for 5 years does. You can pick up best practices, design ideas, constructive criticism, better coding, better tools, knowledge that's easier to get in person than from a webpage. Today no single person makes a truly great and novel software application, and working at a tech company will make that apparent to you. As for 2, some ideas assuming you know how to code: 1. Write an HTTP API that talks to several different databases. Learn how the databases work and when to use them. Get good at using them both from their CLI and a programming language. 2. Write a site using React/Angular/etc. and HTML/CSS to query an external API and display the results or organize user input into a fun framework. 3. Find a way to publish both of the above so that mom can interact with them. 4. Figure out how to wire a web app that you wrote to an API you wrote. 5. Find a way to deploy that as a complete system. 6. Figure out how to write a simple iPhone/Android App if you're interested in that. 7. Now make it do something cool, presumably by hooking it up to an API that does the heavy lifting. 8. Now make it all pretty. 9. Now figure out how to get it in people's hands. Collect their feedback and figure out what's working and what's not. 10. Go back to whichever step needs work and fix it. That's easy to say, but there's a ton of work in learning all of these skills. It's one thing to write an app, it's another thing to get it in people's hands, and it's a third thing to get it to really really work to the point where people love it. A lot of people spend 40 hours a week doing that for years and don't/can't do everything - that the reason there's so much specialization in the world of software engineering. |