I have recently started working on a new project and have found that it is unrealistic to make significant advances without finding a technical co-founder, or developing technical skills myself. The company I am building will require a consumer facing mobile application with geolocation and payment functionality, as well as a business facing mobile/web application with user generated content functionality.
As many others have done, I have joined this site in the hopes of finding a compatible technical co-founder. However, I am in no big rush to do this and understand that finding the right person can take some time. That being said, I would really like to use this time to develop some core programming/technical knowledge that would either:
a. help me communicate with my future co-founder, or
b. allow me to start building out features of my consumer and business facing applications
What do you think?
Code.org, Udemy, Coursera, ...codeacademy is pretty trendy as well. Lynda.com is an oldie but goodie as well.
I would just follow a few courses to get the feel of it and then just start with your app.
Mike, the best way to learn is by getting your hands dirty. Consistent with the philosophy, "You should never be proud of your first release" (i.e. if you are, you spent way too much time on it...), get going now and get training as you need it (just-in-time training, if you will). Structured courses are great, but can leave you without a sense of what it all means in a larger context. By diving into your own project, you'll quickly figure out the gaps in your knowledge as you confront them. Then, you'll have much better context for exactly what training you need and why you need it.
Jessica and Dan - I appreciate the responses and will make sure to check out all of the resources you've mentioned. However, this is a great example of the decision I am struggling to make.
Should I focus more on the core programming principles taught in the udemy, coursera, and code.org online courses, or instead on building out an application from scratch?
Start with the end in mind. First, create a prototype of your app (or at least part of it). Doesn't have to be in a fancy prototyping app...PowerPoint will do - something that's "easy enough" for you to get your thoughts down in concrete form. The point is to figure out what functionality you want to provide, how people will use your app (i.e., user interactions for everything in your app), what that all looks like (layout, colors, etc.). That becomes your blueprint -- your "vision" -- of what you want in the app. From there, start working to realize your vision. Start from the first screen (splash screen and login, presumably) and continue to build little by little from there. You'll struggle, but that's what's needed to begin to understand the technical/programming side of things. Expect frustration along the way (it's a steep learning curve) and don't expect it to be quick. As others have mentioned, there are lots of resources out there that can give you a training nudge. A couple that I've found helpful are Microsoft Virtual Academy and PluralSight. StackOverflow is a great online community for asking and finding answers to questions. One step at a time, and don't give up! Bon courage!
If you can build from scratch without any reference, go for it.
Learning to build an application from scratch is quite interesting.
You should start with learning the basics of Java.
Once you have grasped the basic, you can try to take courses on building an application from scratch.
After that you can further your knowledge to Swift and Kotlin if you wish.
However what you'll really need to communicate with coders is a prototype. So you might want to try out using Adobe XD or similar applications for that. Studying a little design will always help.
Hope it helped
I would focus on things you can truly be world class and spend any free time finding others with complementary skills. Building a startup is risky, and using amateurs greatly increases this risk.