How To Build Software With An Unfamiliar Language
I’m not an expert on this topic but I am a very curious learner who loves to share knowledge and loves to get feedback.
So you know what you want to achieve, you know what your software goals are but you don’t know how to use the tools. You don’t know how to write a program using Python or Java, or whatever else but you still want to build your product using that language. My advice to you is to take the following steps:
- Read the documentation. Every language and framework worth anything always has some sort of documentation. A quick search on Google should help you find it. Most times there’s a link on their website.
- Do your research on the problem to see if the language or tool can actually solve the problem.
- Write your algorithms or steps to solve the problem but be careful not to be excessive. Just try to do enough to solve the problem, nothing more.
- You don’t know what the best practices are so do what you think is best and what works.
- Open your IDE/Text Editor and start typing some code. If you run into stuff you don’t know how to implement, check the documentation again. A little Google search may also be of help.
- Implement features one at a time until you are satisfied with your MVP.
- Pick parts of your code which you think could be done better and research how to make it better. The good part about this is you aren’t building a project, you are just making a built project work better. Posting parts of your code on code review websites could also go a long way.
Users don’t care about how you used a super class to abstract away some complex logic or how you went about writing that function that performs some heavy calculations. They only care about one thing; ease of use, and if they find it difficult to use then you have failed as a Software Developer, because your duty is to make life easy for others.
Good software isn’t built in a single marathon, rather, it’s built in several tiny bits of sprints.
Above all, make sure you are consistent. Add something new to (or remove from) your codebase or read about something you don’t understand, every day. Make sure you are consistently making progress, no matter how little.
Do all these work? They’ve certainly worked for me so far so I encourage you to try them out and see how it goes.
Did I miss any steps? Don’t agree with me? Agree with me? Please let me know in the comments or on twitter via @THEozmic
Stay Curious and Productive.