Hi guys, welcome back to the
channel. If you want to see videos about game development and programming, consider subscribing
to my channel and turn on the notification. Then you won’t miss my next episode. In this video, I would like to talk about
5 top signs of inexperienced programmers. It is not just for the new starter. Even you
have a couple of years of working experience. You can still make these mistakes. Make sure
you stay to the end. The first sign is that the inexperienced programmers don’t ask questions. If you are a new starter,
you may have around 1 to 4 weeks to get familiar with the company, working environment, and
the project. You will take part in training and presentation. Some companies will assign
a mentor for you depends on how many resources they have. I can see some new starter just
sitting there reading all the documents or try to figure out all the things by themselves.
It is not efficient enough. They shall take this 1 to 4 weeks to ask questions. I am not
telling you to ask your mentor every tiny little thing. But you need to take some time
to think about what kind of things you need to know before starting. Any difficulty when
to use some new tools? What’s the daily development process? What’s the best practice? If you
know how to ask questions wisely, it will save you a lot of time. Remember, after 1
to 4 weeks. People won’t treat you as a new starter anymore. They expect you shall be
capable of the daily job. The second sign is that inexperienced programmers like to commit a large piece of code. When
you work in a company, it is not like when you are a solo or self-taught developer. Other
senior developers or team leaders would review the code you submit. If you submit a large
piece of code, especially it is full of huge function, duplicate code, and lousy naming
of functions and variables. You will make their lives very difficult. Especially when
you join the company. You may not be familiar with some guidelines ad good practices. The
team leader will have to reject your code and send you a long list of corrections. You
will feel frustrated. At the same time, the team leader may get the impression that you
don’t know what you are doing, or you don’t have a clear plan. So the good practice is
that commit a small piece of code at the beginning. In this case, the senior developer or the
team leader can spot the issue quickly for you. When I am a mentor for the new starter,
I will always ask them to make small commit every day. If they are working in the wrong
direction, I can let them know as early as possible. The third sign is that inexperienced programmers
like to over engineered the code. Sometimes I will ask them why they write the code in
this way. Because 80% of the code is not necessary. They will tell me they write the code to cater
to some changes in the future. But that logic or interface hasn’t been changed for years.
They add a lot of classes, interfaces, and functions, use a lot of fancy design patterns
to make things way more complicated. So always try to use a simple and effective solution.
It is more important to make your code readable and robust. A good practice is that before
you start coding, write a simple design specification, which includes the new classes, functions,
public variables, modifications to the existing class, and data structure. Make sure every
new class and change to the existing code are not redundant. It is totally fine to ask
the team leader to review it before you start coding. The third(*fourth) sign is that the inexperienced programmers try to write the perfect code. For this kind
of person, sometimes you cannot blame them. As they never lack enthusiasm. They always
work very hard and try to find the best solution. Once they know a better approach, they will
start the job all over again. Even the previous implementation is good enough. I met a developer
who likes to work in this way when I was the team leader. I noticed that he didn’t submit
any code for a while. But I have seen him working very hard every day, even during the
break. He told me he tried to make sure the code and solution are perfect. I just told
him there is no such thing. I don’t mind you want to improve the quality of your code.
But it shall not impact your code output. Because it will slow down the whole team.
The progress can fall behind schedule. So don’t lose the vision of the entire project.
No matter how elegant the solution is, if we can not deliver it on time, it becomes
meaningless. The best practice is to keep the solution as simple as possible. Make sure
the code works fine after testing. We can always make it better by iterations. Another sign is that the inexperienced programmers don’t show enough respect to the senior developer
or team leader. Especially for the new starter who just graduated from a good reputation
college or university. Being confidence is a good thing. But at the same time, you also
need to be humble. Some new starters will get mad when their code gets rejected. I have seen this happened on the other team.
Just imagine that if you fight with the mentor or team leader, what will happen? Trust me;
there are so many ways that a mentor or a team leader can give you a hard time if you
piss them off. And once the argument between you guys impact the whole team’s performance.
Guess who would get fired? A member who makes contributions to the team for years or someone
who joins the team and claim he/she is the smartest person in the room? If you are an
intelligent person, you will not do it. Don’t take the criticism personally. Try to see
if it will make you become a better programmer and be respectful to the senior developer
or team leader’s feedback. Just remember that they don’t owe you anything. They spend their
time to review your code and provide feedback, which can improve your skills. If you don’t
understand their feedback or you cannot agree with them, it is ok to discuss it with them.
But the attitude matters. Do you know any other sign of an inexperienced
programmer? Please leave a comment and let me know. I also make a video about being more productive
as a programmer. If you want to get more done in your life, make sure you check that video.
You can find the link on the right corner. If you have any questions or video suggestions,
you can reach me from my discord server. Currently, there are over 100 members who like game development
and programming. Feel free to share your work there and get some feedback. Or you can get
inspired by other people’s work. If you watched my video but haven’t subscribed
to the channel yet, it is time to do it now. The channel reaches 750 subscribers milestone
this week. Big thank you to everyone who subscribes to my channel. Really, really appreciate it.
I will keep working on the game and videos. Please smash the like button and leave a comment.
Thanks for watching, this is Lee. I will see you next time.