When I just started to read about programming and similar stuff, I usually thought that I will write the most fluent, easy-to-read, structurally right code. Moreover, I read as much various articles and tutorials how to do that properly, but the truth was different.
After a while I understood that the most important thing is practice, practice and one more time practice. You can easily learn syntax, best practices, but it is quite hard to adapt them on real life basis. For example, imagine yourself as a beginner PHP programmer who has to create easy to expand CMS. If it is your first project, you will get deep into the thinking of files tree, classes and other similar things. However, you will still write a bad code and that’s just fact which you need to accept.
The main reasons why it is like that:
- You will not plan everything from let’s just say nothing. You do not have practice on planning so many things will just come up on process. As from my experience those tasks and problems made me re-plan, re-structure even the core of my project. You might say that there are always some unexpected problems on all projects, but when you are just starting out a simple addition of more languages to the website may look impossible especially when you have not thought of that at the beginning.
- You can write good style code, but there would be so many bugs and problems that your code will be a mess at the end. This point is very close to the the above one. By adding new functions or editing old code with some stuff that has to work entirely different it is hard to maintain the cleanliness you were thinking about. Moreover, you may start doing mistakes with your open eyes, because you need to finish everything to the deadline which is usually coming very fast.
- As I mention a little above usually you have to create things on deadline which lasts from couple days to couple months. Sometimes your boss or client will slow down the project with he’s or she’s amazing ideas how to do that or that differently or better. But a programmer with the lack of knowledge usually has his own problems. When doing things fast, you do not get enough quality and this rule applies to all our life aspects.
- There are better and faster ways to do that. Do you still remember that you are only a wannabe professional? Yep, and here is another fact for you – you just do not know how to do that best on one situation and another thing on other situation. Only by creating lots of projects you get this feeling when and how to do things to get the most efficient process and the best quality, of course. After you understand that making things work like that was awful idea, you won’t repeat it in the future. And this only comes with practice.
So do not think of yourself as professional if you made only a couple projects. There are so much to do for you that you just need to make one’s mind and start doing them. My advice would be not to reject easy and low-cost tasks at the beginning of your career. It is important to do as much as you can and only by keeping up with this you will succeed.
If you can not get any real projects, you might think of creating a CMS for yourself which you could use in the future or by helping open source communities. There are so many of them that I will not write them down – Google is your best partner on this. Moreover, do not hesitate to help your friends or acquaintances for free. You will get more profit in the future because they will recommend you for their colleges and their friends. You are making your client list like that.