How to programming? for noobs
I would usually say, in my past noob life, that to program is just to start writing some code, compile it, deploy if needed, and you're done.
Right now, I would say that in order to start programming a project, you should have lots of things in place first:
- What problem are you trying to solve?
- How can you solve the problem? Can it be done manually? Do you really need code? Or better, sophisticated code?
- Why are you doing it? Is it for money? Is it to learn? Just doing because you can?
Let's now pretend you want to solve a real problem, and it's a digital problem, and you're doing it because you can.
You have to first start from the user:
- What will the user do? Are they gonna open the app and log in? Does it even need a login? What actions are they gonna do to achieve what they want?
- Will the user access through an app or a website?
- Do you have to deploy to a production server, or can you run on your machine?
- Do you have money to pay for a server?
Let's assume the user will be able to do math through a calculator on a website. We start with the user flow first. These are the exact actions the user can perform on your website. This is a very good starting point to develop a project because once you finish one of the steps, you already have some problems solved. And you go solving them one by one.
Example of steps for a user flow for a calculator website:
- The user will access the website
- The user can input some numbers
- The user can perform some math expressions
- The user can see the results
- The user can reset the calculator and start again
Once you have the user flow, you can start:
- Designing the UI of your website. You can use Figma.
- Start the software project. It should be HTML, CSS, and JavaScript, because those are the tools used for developing websites.
- HTML and CSS will be used to replicate your UI design into a website
- JavaScript will be used to do the calculator functions
Example of steps you can do to start the software project:
- Create the folder
- Create the index.html file
- Add some HTML structure to the file
- Create a CSS file, import it into the HTML file, and edit some element styles
-
Create the JavaScript file, with a simple
console.log("")
, to test if it will trigger. - Open the index.html file, and check if your CSS and JavaScript code were triggered, by checking if the page elements have style, and also check the console log on the developer tools (F12)
- If not, debug, try a fix, until fixed.
-
If yes, start implementing the calculator with JavaScript:
- Look on Google "JavaScript calculator"
- Copy some code. Research some blogs.
- Once you have your calculator working, do some final adjustments to the code and styling of the website, and refactor some of the JavaScript code to be more readable for later use, instead of leaving it a mess.
- Deploy your website to a provider such as Vercel.
This was of course a hypotethical situation of starting a simple website project, but explained in a way where noobs can understand the questions and the actions behind the process of starting to develop a software project, either for you or for somebody else. It goes way deeper than this, and lots of content is available on the internet. But remember that some questions are important to be asked before building something, otherwise you'll end up losing motivation for lack of direction. If you're starting, try looking for a niche you can serve and try to mimic some existing applications in a simple way, so that you can solve some real problems instead of doing boring machine code in c++, which will be left forgotten on your machine and never deployed.
Deploy something first if you're learning. Learn the whole process, from development to deployment. If you can't show your work to somebody else through a direct link, you haven't done anything relevant.
Once you start building interest, open a GitHub, and put your projects there. This will be relevant if you want to find a job later, because everyone uses that platform, even recruiters, for recruiting.
Always use Linux or MacOS. Never code on Windows.
Every single programmer uses Google Search to work. They simply ask there whatever they want to achieve. That's the fastest way to learn, and you'll never be able to actually finish a project without doing research. Searching on Google is 90% of a programmer's job, the rest is pure technique from hundreds of hours of repetitive work.
Return