I am a machine learning engineer with 3 plus years of experience. Most of my time in these 3 years was spent on coming up with solutions and training good models for them (specially CV)and that was it, I used to provide models to my team and they used to handle the rest. Although, recently I have shifted towards creating entire project including their production and now I feel like I know nothing about coding because my code is usually slow, messy and inefficient.
To solve this problem, I have started learning a bit, I have learned:
- to use efficient data types
- not to use nested loops
- learned the concepts of big O complexities
Also I am working on readability of my code, how to use loggers, exceptions, separation of concerns, PEP8 standards, config.yaml, .env files etc.
My problem here is, I don’t seem to get the gist of it, efficiency and readability don’t come naturally to me. So My Question specially for the pros is that what is your approach to your code when you are starting any project, do you have a special pattern you start from or do write and refactor, how you ensure your code is optimised, does it ever pop in your head that you might not have the best approach.
Also, are there some libraries that you always use? For example I just learned about PQDM and how it can parallelise your code, so do you have any majors dos and don’ts that can help me? I majorly work on ML project (if this helps).
Any idea or remarks are welcome I just want to get hang of it naturally.
Thanks all for participating.
I watched YouTube videos, reached to some seniors, trying to read OOP concepts and books, read data structures etc.
Tauseef Ahmed Memon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.