11

Mistakes Probably Every Programmer Makes in the Beginning

 4 years ago
source link: https://dzone.com/articles/mistakes-probably-every-programmer-and-i-made-in-t
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Mistakes Probably Every Programmer Makes in the Beginning

This article discusses the mistakes a rookie or newbie programmer might make, showing the hurdles and potholes to avoid to start your career smoothly.

Dec. 17, 20 · Agile Zone · Opinion

You started your coding journey, multiple roads ahead, wondering which road to take, which map to follow, wondering how I am gonna walk the next step and many more questions would have arrived. Feeling nostalgic, seniors? I bet you do. But as a human we are bound to do mistakes, aren't we? So, let us talk about the mistakes a rookie or a newbie programmer makes, as I did, and later learns the lesson the hard way. If you are just starting your journey, I think the place and the timing couldn't have been more perfect. I hope this will show you the hurdles or the potholes you need to avoid to march ahead in your journey.

Overwhelming Yourself With Too Many Things

Someone said, start with C language, now you are learning C, next minute you heard about C++, now you are on to it. Very next day you read somewhere Java is popular then again you jumped to it. Someone whispered python, and here you go. It happened to me while I was in college. I was jumping to one another every semester (not like I was learning a language the whole sem). And seriously, I didn't even know what I have tried my hands on. In the last sem struggling to prepare for the job I came to my senses somehow and stuck to Java.

Jumping from one thing to another, learning too many things, at the same time won't reach you anywhere. It will just make you more stressed.

Focus on one thing at a time, master it, then move on to the next one. 

If you learn one language properly, you will learn another very easily. The learning curve at the start is steep, but up ahead, it grows exponentially, trusts me. All programming languages work or behave almost similarly, it's just that their syntax and some inner working is different. So don't overwhelm yourself with too many things. Be calm and take one step at a time.

I do Popular Things, Dude!

New day, new language. Just like I stated in the above paragraph, jumping from one thing to another, this time not to learn new things but to get hands-on a popular one. It's good in both cases. It's curiosity after all, that made us humans distinct from other animals in this animal kingdom. But trust me to stick to one thing at the start, then jump around adding the new skills. If it has worked for me, it will for you, trust me.

Not Knowing the Basic and the Key Things

Have you ever seen a building which was built from the 2nd floor rather than the base, have you? I have not. Well, It could have been a different story if we had some GravityNullifyNiater. Similarly, we can't just go to advance things unless we know the basics and that I think is one of the biggest mistakes we do at the beginning. Just starting from advance brings your morale down and waste your time. Trust me, improve the basics, and then, the next advanced elements will find their way to you like the river finds its way to the ocean.

Not Following the Coding Standards

Now that I had known List, Map, string manipulation, files manipulations, streams, and whatnot. I was writing code like I was nailing it and life continued. Then one day while pushing the code to the production an old piece of code just blasted out of nowhere. It was way past my go home and watch Netflix time. I hurriedly went back to the project, look up the code and after just one look, only one thing came to my mind, 'who the hell wrote this code?", And guess, who he was?

I couldn't understand what it was. The code and comments were out of sync, variables were telling a different story than the values they hold, and on top of that a 600 line of function. After some 4-5 hours of debugging, understanding the code, and cursing myself, I was able to solve the issue(I am pretty good at debugging, you know). Now It was time for confession and to correct my mistakes (I skipped Netflix's Stranger Things, that day). I questioned myself if there is a better way to do it.

Better Your Coding Standards

I searched for better ways for coding, best practices, writing beautiful codes. One of the first books that changed the way I code, was Clean Code by Uncle Bob. It has a tremendous influence on my coding style. It surely does saves your future.

I strongly recommend the following books for much better standards while coding: 

  • Clean Code by Uncle Bob
  • The Pragmatic Programmer
  • Code Complete (Developer Best Practices) 
  • Code Craft – The Practice of Writing Excellent Code. 

It's not like you have to read the book you can search online also. I have written multiple articles on the same topic. For starters, "What's in a Name: Java naming conventions". It guides you with the standard naming conventions, that is how you should name variables, functions, classes. So that it is consistent throughout the project and community. or How to Achieve Greatness in JDBC Performance. You can also check out "Recycle the Threads and Save the Resources with Thread Pool". And many more on the best practices.

So please follow the standards, accommodate them in your daily style and day to day requirements. It makes your code more maintainable.

It's Working, Leave It

Code quality is the most common and key thing people neglect while coding. I also did it and I learned it in a painful way.

The best time to improve your code is right after you complete the code.

This very moment, you know what is happening in the code. A little push to yourself to look at it again and applying coding standards will improve your code quality tenfold, rather than doing it after many days when we kind of forget little things in it.

So don't just leave it as it is and go straight ahead for Counter-Strike or PUBG, instead, start your precious game a little delayed and re-read the code and look for possible cleaning. This way, in the future, you will be most likely to play the game when everyone is looking for the bugs in their code.

I Know Everything

"I complete my task and project, I know everything, I can build anything". Surely you can. But every day there comes new technology, new methods, a better approach to the thing you have been doing your whole life and you are still sleeping and dreaming you know everything. Wake up, dude. We only know a drop in this vast ocean of knowledge. Improve your knowledge day by day.

Being humble about your knowledge improves it, and not diminishes it. 

Conclusion

I know I made a lot of mistakes, but hey, that's the best way to learn, isn't it? A great man once said, "Failure is the best teacher you will ever get." (unknown author)

Failure is the best teacher you will ever get

One more thing I would like to add is how well you are familiar with your development setup. A developer spends most of his or her time on IDE, so better use it like it is a part of your body. You can check out the post shortcuts and plugins to skyrocket a developer's productivity. I have written for  IntelliJ IDEA, Eclipse IDE, and VSCode.

This post was just to tell you what not to do, I did it, you don't need to. You can learn from your own mistakes, but it is great if it was others. One thing I missed in the list is the dedication. Without it, I don't think we can reach anywhere. I will be glad if you avoid these mistakes and jump-start your career. Please do let me know in the comments if it really helped you. It will fulfill my purpose to write this post.

What do you think about this? Anything other than this, you think can help the new developers? Let me know in the comments and follow me on Twitter @coderstea.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK