In current era of technology, everyone want to be a developer. No matter a Game Developer, App Developer or a Website Developer. And they should be because as per me, it is the best job one can have. With my experience, I am going to explain how to be a Very Good Developer/Coder.
Here are few things that I learnt the hard way and I think it might help students trying to learn programming from scratch –
- Do programming everyday. There is no holiday. Programming shouldn’t be treated like work. It should be treated like hobby. Like a habit.
- Be flexible with “not-so-important” details in life. Don’t complain about the laptop you have or the internet speed.
- Learn to capitalize on opportunities. Seek out programming tasks and assignments. Learn to say “Yes”. Learn to work under pressure. Learn to complete task within deadlines. Learn to sacrifice.
- Do some freelancing as a students. Do some open-source contributions. Do some competitive programming. Do some data science challenges. Explore everything until you truly find that one exciting thing. Always optimise your learning curve.
- Take part in hackathons. Hackathons are always good. They teach you to build working prototypes within time constraints. You’ll learn to work in teams. You’ll learn to brainstorm. You’ll learn to prioritise features.
- Do at-least one full-stack project which involves UI, driving logic layer (main), databases, unit tests, integration tests, performance testing, etc. Deploy your project on a VM and test it with real users. Use tools like Style Checker, TravisCI, Coveralls, Issue Tracker. Write installation/compilation scripts. Document it using Latex / Sphinx. Learn the difference between industry-grade code and academic-project code.
- Try to re-use code as much as possible. Surely you can write your own code from scratch but it is not the right thing to do. Use the well-tested and efficient code from several libraries.
- Do not think too much about what you should learn and what’s more important career-wise. It’s too early for you to think about it as a student. Concentrate on learning.