After working for few months as a software engineer, I understood that software engineering is not about writing complex applications. It is basically a practice of organizing code in more manageable and elegant way. I am trying to follow the following key points to help myself become better software engineer and to write code that does not smell. Regardless of any programming languages, there are some key points we need to follow to write clean, modular programs. Some of those that I think are valuable for beginner programmers are:
- Write smaller methods with few parameters.
- Use linters for your code editors that can detect code smells and try to correct you. Doing this, you can learn the coding conventions for your programming language.
- Follow single responsibility principle in both functions and classes.
- Give meaningful variable names.
- Not writing many methods inside a class.
- Learn and identify the use case of design patterns.
- Think about the future developers who join your the code base in future. Make your logic easier for them as well.
- Learn to do the things in the way that your tool recommends. For example if you are Rails developer, there is a Rails way of doing things. If you are a React developer, there is React way of doing things.
- Learn code versioning tools like git and code hosting platforms like GitLab in depth because they are the tools that as a developer we need to master.
- While writing code, if you feel like you are not solving the problem in better way, then there is obviously better way of doing things. Try to find that better way by asking for help with fellow developers or using internet.
- Surround yourself with the curious people.
- Learn productivity tools like vim, tmux etc. Make your development workflow smooth. You don’t need to be pro at using those tools at first, you can learn those on the fly.
- Learn to follow test driven approach.
- Network with the people of your community and build your Linkedin profile.
- During development if you find open source libraries and you found some functionalities missing in those, try to fork them add functionalities yourself and contribute to open source community, you can also send pull requests.
- Ask fellow developers to review your code. It is one of the best way of sharing knowledge.
Of course these are only few. You can have some more in your mind. Do not hesitate to share if you think something else are particularly important than above mentioned points.
Do not forget to clap and follow me on medium if you think this article added value for you.