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.