This content originally appeared on DEV Community and was authored by Animesh Dhamku
Experience in software engineering comes with the number of years you are in the profession. The statement is true to a certain extent. However, the number of years in a job does not make you gain the right experience by default.
I have seen people behave amateur like, even after working in their job for a good number of years. They hardly learn the basics of software development. Their growth stagnates after an initial couple of years, but they do not understand what they are doing wrong.
At the same time, I have worked with developers with just a couple of years of experience who show an incredible amount of growth potential. They possess the right attitude and know-how to avoid incompetent behavior.
Based on certain traits developers exhibit, you can easily find out who is experienced and who is not. Let’s dive into seven signs of an inexperienced programmer that every software engineer should be aware of to avoid making similar mistakes that can hinder their career progression.
1. Creates large pull requests
Have you ever got a code review request with so many changes in it that you don’t feel like reviewing it? Yes, that’s precisely what inexperienced developers do. They will bunch together a lot of changes in one single pull request. On top of that, they will expect you to prioritize their code review.
I have seen this habit of creating big pull requests with many senior developers too. They will code for days without feedback. When you finally review their code, they would have already built the whole functionality around it. Thus any review comment you give necessitates significant changes.
When I get such pull requests, my first reaction is to return it to the developer to break it down into smaller, logically divided PRs. I often just put comments in the first issue I find and send it back to the developer. If I feel incredibly generous, I will ask them to set up a call and review the code live.
What you can do:
Create smaller pull requests. As a good practice, never leave a day's work without checking it in.
Never check-in code that does not compile or breaks the build.
2. Writes spaghetti code
Inexperienced developers write the exact opposite of beautiful code. Their code will be all tangled and scattered across all over the place in the codebase.
If you ever try to read the spaghetti code, you will constantly get lost in it. You will forget where you started, what you are looking for, and what exactly the code is trying to do.
With experience, the developer should know how to plan their coding. Unless it is a straightforward functionality, put your understanding and the flow on a paper first. Do a dry run to visualize it end to end. Once you are crystal clear about the changes, then start on the implementation part.
If you do not follow the above process, you will have pain reading your own code. It will be hard for yourself and the whole team to troubleshoot or enhance the piece of the puzzle you wrote as code.
What you can do:
Have a clear understanding of the feature before you start to implement it. You can ask as many questions as you want to have a clear idea of the requirement.
Keep your code simple and well structured. Your teammates should be able to read the code and understand the intended use of it.
3. Tries to work on a lot of tasks at the same time
Inexperienced developers do not know where to start a task, how to proceed, and when to call it done. They try to solve a lot of stuff at the same time. They have no clue how to chunk a big task into smaller logical divisions to make it easy for implementation.
If you assign them a task, they will jump into coding immediately without verifying with you if they even understood the ask. Neither will they review their progress with you to make sure they are on track. They will get back to you only once they think they are done. By that time, you can only pray to have an accurate implementation for your requirement.
Another sign of inexperience is that such developers put their hands in too many things simultaneously. They will pick up tasks from unrelated features, volunteer themselves to troubleshoot production issues and promise to help others in the team.
In the end, these developers do not deliver any of the committed tasks in their entirety. This attitude might be well-intentioned most of the time, but the result is disastrous for the team. Ultimately the team loses a lot of time and has to complete all the tasks on a war footing.
What you can do:
Focus on shipping small. Break your assignments into smaller logical chunks. Get it clarified and then deliver the smallest possible block of working functionality.
Take one task assignment at a time and complete it. Commit to a new task only when the previous task is delivered as requested.
4. Full of arrogance
Arrogance is a dead giveaway of an inexperienced developer. They are so full of themselves that they do not understand what they are doing wrong. You give them feedback on their code or presentation; they will take it as a personal comment on their ability.
Many freshers show off their arrogance, mostly due to their ignorance. They are fresh out of college and are yet to understand that the professional world is entirely different than what they learn in college. The smart ones actually stay quiet and show a keen interest in learning the ways of the corporate culture.
It is not just the freshers — some arrogant developers already have several years behind them in the software industry. It might be due to some of their professional achievements, or maybe they have not yet worked with people smarter and talented than them.
In either case, arrogant behavior shows a clear indication that such developers lack the right experience. Their ego blinds them from learning the right approach towards their career. Eventually, no one likes to work with an arrogant team member. Once the growth slows down, the arrogant developer blames others for their failure.
What you can do:
Be humble in your approach. Politeness goes a long way in building a successful career in software development.
Treat everyone, irrespective of their designation, with respect. Refrain from getting into an argument over disagreements.
Read More :: https://cmsinstallation.blogspot.com/2021/04/top-7-signs-of-inexperienced-programmer.html
This content originally appeared on DEV Community and was authored by Animesh Dhamku
Animesh Dhamku | Sciencx (2021-04-24T05:49:17+00:00) Signs of an Inexperienced Programmer. Retrieved from https://www.scien.cx/2021/04/24/signs-of-an-inexperienced-programmer/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.