There are countless online resources that you can get inspiration from as well as meetup groups. However, the first set of questions that you should ask yourself are:
what am I interested?
Know what you’re interested in and most likely will persevere
Your interest may lie in a particular industry, programming language or framework.
If it’s an industry, there’s tourism, fintech, biotechnology, real estate, etc.
If it’s a particular language/framework, there’s python, PHP, Java, .NET, etc
if it’s a particular platform development, you can start building a website, mobile app, etc.
Know the fundamentals and the problems you’re trying to solve
Regardless of your interest, we recommend that you learn the fundamentals of the particular industry, language, framework or platform.
For the industry, we recommend that you stay updated with the industry news.
You can follow any local or international news channel to find out what is going on in the industry and the problems that people are facing. If something sparks your interest, talk to others about it and find out the following information:
- if they’re facing the same problem
- what’s there main pain points?
- how they think it should be solved?
- would they will try out initiative solutions?
- are they will be pay or spending time using the platform?
Once you’ve identified the problem and the possible solutions, create a mindmap or whiteboard about how you’ll solve the problem with technology.
Based on your interest, your feedback from individuals, where the market is and how accessible it is through a web or mobile application, you can determine whether you’ll going to build a mobile or web application.
Of course, we recommend that you talk to your potential customers about accessibility and the things they would want to be able to do. Jot all this done on a business model canvas.
Determine what you need to learn and use to build the software
Ok, now we’re at the point conceptualize the development of the software.
Should the solution be a mobile or web application?
Do we need to build or use any hardware?
Are there any other resources you need?
One of the beauties of doing a business model canvas is that it helps to answer the questions above even before you start thinking of the development of the solution.
Nevertheless, it’s very important that you learn the following principles for any given web project:
- Model View Control (MVC)
- Object Orientated Programming (OOP)
- Git, for version control
- Database Management Systems like NoSQL, MySQL and Postgres
- Data Structures, JSON, list, etc.
For mobile app development
If you need to build an app, then the next question might be:
How easy is it to build?
Are there any frameworks or tools to that you could use?
We recommend that you build mobile apps using one of the following frameworks:
- Flutter, is a cross-platform development framework for mobile, web and desktop app. It’s one of the trending mobile app development frameworks on the market. Visit http://flutter.dev/ for more info.
- React / React Native, is a cross-platform development framework for mobile, web and desktop app. Visit https://reactnative.dev/ for more info.
You can find additional things to consider by reading Things to Consider When Designing and Developing a Mobile App
If you need to learn any of the above framework in-depth, you can visit their dev documentation for more details or find an online course on any of the following platforms:
For web development
There are countless of frameworks for any given language, such as:
- PHP: Laravel, WordPress, Drupal
- Python: Flask, Pyramid, Plone, Django, Odoo
- NodeJs: Adonisjs, Express, React
Of course, there are a number of factors to consider when you’re building a website, such as:
- Type of website
- Website interaction, UI and UX
- Expected traffic
- and more
You can find additional things to consider by reading Things to Consider When Designing and Developing a Website by Seth Rend
The resources are similar: