- Developer's Commute
- Posts
- Are you an Average Developer or an Excellent one. Find out? - Developer's Commute
Are you an Average Developer or an Excellent one. Find out? - Developer's Commute
Today we have Expert advice, some interesting tweets, articles memes and in the end, Coding Motivation to keep you moving We hope that you enjoy this ride with us and you have a pleasant journey ahead.
Good Morning, It’s your captain speaking. Welcome aboard the Developer’s Commute. Today we have Expert advice, some interesting tweets, articles memes and in the end, Coding Motivation to keep you moving We hope that you enjoy this ride with us and you have a pleasant journey ahead.
Expert Advice
Difference between Average Developer vs Excellent Developer
What separates an average programmer from an excellent programmer?
I looked up in space and wondered if I could be as good as Vikram Sarabhai, the rocket man of India or maybe Homi Bhabha, the father of the Indian Nuclear Programme.
I want to be the Vikram Sarabhai or Homi Bhabha in the world of programming.
But, I wonder, what separates an excellent programmer from an average one?
I always thought that the answer would just be skills and experience.
But, there is more to the story.
Let's just turn this question on its head and make it broader. What separates an excellent engineer from an average one? You might have thought of social skills or great speaking skills. Yes, they are the recipe for great individuals not just programmers. But, what are some traits that every programmer can adopt to become better?
Before we start exploring these traits or characteristics, I want to iterate a short story. When I joined my first job as an Android Developer, I tried to understand the difference between a software engineer and a senior software engineer. Of course, they were far apart in their tech skills and experience but there was something more to it. I could not pinpoint the differences because they were vague, but it was clear that both were far apart from each other.
Whenever I encountered some errors in my code, I procrastinated to solve them. However, the senior developers went head-on to solve those errors. As if they are interesting programming questions to be solved. It not only surprised me but also made me more interested in the code.
It was my first time experiencing a production-level code base and it was exciting. My coding journey became exciting because of my seniors even if I was facing difficult development challenges. Thus, here are some things that I observed and learned over time.
Here are some traits that I want to learn to become a better programmer.
Positive Attitude
Taking Planned Decisions
Quick Learning
Big Picture Focus
Positive Attitude:
If you are a developer you would know that sometimes you feel like a god who knows everything and other days you feel like a complete imposter. Development is ever-evolving, new technology comes out every year and it takes work to keep up with everything. You can’t learn everything or remember every piece of code.
An important thing that I learned from my senior developer was that if you want to be a great developer then think like a scientist. If you understand the basics of your technology, whether you are working on Android or the Web, you will eventually figure out the efficient code according to your requirements.
If you have a positive attitude to learn and figure out your code through logic and trial- and error, then you can become a great developer. A suggestion that I would give to my younger self would first learn the basics and then join a company. If you can join a small company then you will start to imitate your senior developers. Their experience will teach you a lot more than any YouTube or course project ever will.
Taking Planned Decisions:
Data structure and Algorithms are the topics that every developer must have practised. They form the basics of every programming language. While learning DSA we also learn an important lesson, to think logically and have a game plan to solve DSA questions. It is an important skill to understand.
If a programmer can predict the amount of code that he needs to write to fulfil the client's requirements, then the project can be done faster with greater quality. The ability to predict the mistakes and loopholes in logic comes with experience.
A suggestion that I will give to my younger self would be to have a plan before coding. You can practice it while making your projects. If I take the example of an Android App, first define your goal then start planning your code. Your goal should pinpoint to the customer that the app is for. The plan should be laid out in your mind like a to-do list, it will help you guide while developing your project.
If you can not make a to-do list of codes that you might need to write it simply means that you do not have enough programming experience to tackle the problem. It's okay, be patient and try to find your solutions online and code along the way. The more you code, the better you will become.
Quick Learning:
In the ever-evolving world of development, new technology is released every year. It's hard to keep up with so many technologies. So what is the solution to this problem?
The answer is to not keep with these technologies instead try to make the basics of your tech stack strong. If you have strong basics, you can easily switch between programming languages and adapt to them.
If you have a strong foundation in programming then you can easily relate to new programming languages and form connections. This web of connections will help you learn and adapt to any programming language you want.
Big Picture Focus:
The biggest struggle of my life is that I can not see the big picture in the future. I sometimes make decisions too quickly without understanding the consequences of them. But, I have learned over time that it is important to see the bigger picture before making any decisions. As they will impact you in the long run.
This lesson can also be adapted to your development journey. If you can take your programming steps with a bigger picture in mind then you will not become complacent. You will try to grow bigger and better to achieve your goal. Therefore, always have a bigger picture in mind.
Whether is to start your own company or launch your product or maybe you want to job at Google, always aspire for the bigger picture. Understand where you want to go and where you are plot a path to reach that destination.
Thank you for reading this newsletter. I hope you enjoyed it and If I have written something wrong please forgive me.
Thank You
Tweets That You Might Love
Exploring Interesting Tweets
Tweets That You Will Find Interesting
Do you want to understand what are Kotlin Flows?
Here is an interesting tweet for you →
Android Developer aye?
Do you understand What are Kotlin Flows?
How are they different from Kotlin Coroutines?
Here is a thread explaining it ->
— Hitesh Kohli | Android Developer (@Hitesh__kohli)
3:54 PM • Nov 6, 2023
Do you want to learn about Navigation in Jetpack Compose
Then you might find this tweet interesting→
Android Developer Aye?
Here is everything you need to know about Navigation in compose
>>THREAD<<
— Hitesh Kohli | Android Developer (@Hitesh__kohli)
2:00 PM • Aug 21, 2023
Do you want to learn about Netflix Tech Stack?
Here is something interesting for you→
Netflix Tech Stack (CI/CD Pipeline)
Let’s explore the tools and techniques behind Netflix's world-class continuous delivery pipeline.
Planning: Netflix Engineering uses JIRA for project planning and Confluence for documentation.
Coding: Java is the primary language for backend… twitter.com/i/web/status/1…
— Sahn Lam (@sahnlam)
4:18 AM • Nov 3, 2023
ArticlesThat You Might Love
Exploring Interesting Articles
Articles That You Will Find Interesting
Do you understand Kotlin Flows?
Here is our Newsletter that you might want to check out →
Do you want to know Ktor's client side?
Here is an interesting article for you →