
Over 6+ years career in Programming , I came through different phases and came to know about many problems that a developer face although I still have a long way to go. Below are some of the problems that I saw and faced working as a developer.
- Learning Only after making a mistake
- Using design patterns everywhere
- Imposter Syndrome / Omniscient
- Focussing on quick-fix solution instead of problem
Let us get into these in detail
1. Learning Only after making a mistake
As Otto Van Bismark said,
Only a fool learns from his own mistakes. The wise man learns from the mistakes of others.
As a developer, we cannot rely everything on trying out and learning. We need to get updated with technology . Treating it as hobby/passion and learning from blogs, articles and documentation can bring out best out of someone. Looking at articles, blogs of other developers help us know about problems in advance and excel in our career.
2. Using design patterns everywhere
I remember when I was first introduced to design patterns , I used to use it everywhere without knowing its benefits. I used to think that since it is a design pattern , nothing is wrong in using it everywhere. Definition of design patterns clearly states that,
A design pattern is a general repeatable solution to a commonly occurring problem in software design
Meaning that, it is a generalised pattern for problem that occurs commonly . If a problem never occurs for you, why use design pattern that solves the problem that doesnot exist? Instead, it adds additional complexity to the application.
So, we need to know what problem the specific design pattern solves and what complexity it adds to the application.
3. Imposter Synrome / Omniscient
Imposter syndrome means you doubt your skills and think that you are not good enough. During hard times, patience is the key. It may take some hours, days, weeks or even goes unsolved to solve some problem. Being cool and having a mindset that I can do it can help overcome the problem during hard times.
Omniscient is the antonym of imposter syndrome. One may feel that I know everything but mind you that technology is evolving rapidly. There is nothing you can know everything about. The developer knowledge curve is like a mountain. When you think you are on top of it, you know you still have long way to go.
So, the key here is to get updated with technology.
4. Focussing on quick-fix solution instead of problem
I have seen and worked with developers who fix current problem anyhow without understanding the problem domain . For certain time , they may look efficient but problem evolves over time. A developer must look at problem from wider angle and try solving the root cause of evil. A quick fix may make customer and your manager happy at that instant but makes them frustrated in long run. So, the key here is to understand the problem domain and solve the main cause of issue.
Summary
- A developer must be up-to-date with evolving technologies.
- We can learn from anyone . We shouldnot be ashamed of asking seniors and juniors.
- Teaching is the best way to learn. We should share the knowledge with others which is the main purpose of wring this blog post.
Thank you for reading !!