My key takeaways from ‘Devs Answer’ series
25 Jan, 2024 |
6 mins read
Recently I've watched the ‘Devs answer’ series of Honeypot on Youtube. The videos consist of interviews with a few experienced developers. They shared some very good insights which I think would be helpful for other developers in their careers.
Here are my key takeaways from the videos:
Best way to stay updated and adapted to new technologies
Learn the basics, principles, and how they are implemented in tools and frameworks. All the tools and frameworks are in some way dependent on these basic principles. Things like Dependency Injection, Higher-order functions, immutability, etc. are the programming concepts that are used in different parts of the language, framework, or the tools we use.
Don’t worry about it too much. If you are working regularly on development, then you’re already doing fine. You can go to the conference from time to time to see what’s people are up to and learn about that.
Continuous learning is a requirement for developers and it might seem overwhelming. No matter how much you’re learning you always feel like there is so much more to learn. This is one of the hardest things about being a dev. But it’s also fun and interesting. Because you get to learn new things and new ideas all the time.
You don’t need to be up to date with everything, you just need to be up to date with the tech you’re working with and the things that you care about.
What are the best tips to advance your career?
Writing. It’ll help you to think better and let others know that you can think and explain things. This will really help you to grow.
If you ever want something in your career, you have to ask for it. Sometimes we think that we’re doing our best and making great impacts, people around us would be aware and will recognize it. But this might not happen most of the time. If you want to be promoted, work on an exciting project or adopt some new technology, you should talk to your manager or lead about it.
People think that learning as much programming language, tools, etc. is important to progress in tech. But they don’t focus on the more important thing which is ‘being a good communicator’. It’s better to be a medium-level developer who is kind, can present their ideas properly, and communicate with people properly than a 10x developer who is a jerk.
Social skills and Soft skills to collaborate with others. Learning how to be a good player in the team, and learning how to navigate the politics of a company is very important. Networking with others is a crucial part here too.
Continuous learning. Never think that you’ve learned enough.
What strengths are the most important for a developer?
Patience. At the beginning of a project, we might not have all the ideas and information about it, but as time passes by we’ll learn things gradually. So, both the times when we are behind the curve or ahead of the curve at the right moment, we need to use ‘Patience’ as the key to making pragmatic decisions.
Never give up. Sometimes you need to do some extra effort to finish the debugging and solve the problem. You might feel clueless and helpless when the problem is critical. But you just need to have patience and stick to it. Nobody knows it all. Everyone gets stuck on critical problems/issues from time to time.
Communication. Can you write a good email, or message to explain your thoughts? We need to communicate with team members, and stakeholders on a daily basis. So, proper communication skill is very important for a developer.
Troubleshooting or problem-solving. Not all about ‘algorithmic problem solving’ or likes, but how you approach a problem, how you think, and where you look for answers or clues - are more important than memorizing an algorithm.
The ability and the humility to learn new things.
Ability to bisect or break up problems into smaller chunks. It’s more important to be a good systems thinker than be a good coder. How the code you are writing fits into the larger system is more important than the syntax of a particular language. We’re spending a lot of time learning the libraries, but not enough time spent learning the larger systems within which those libraries work.
Interest and dedication to finding a good solution. Not necessarily a clever solution. It’s important to write the code that works at that moment rather than making it complex to serve millions of users, which will never come.
Ability to explain complex topics in more human terms so that even non-tech people will be able to understand it.
Empathy. We are not only interacting with computers but with people too. Also, it means we need to put ourselves in the shoes of our users so that we can understand what their challenges are and how can we solve problems for them.
Mistakes in the career
Not understanding the value structure. If the feedback loop is low in a company or what the company cares most isn’t aligned with the developer’s personal career growth plan, don’t overdo your work in the company. Do what you are supposed to do in your regular job and create value in other ways, like creating content, open source contributions, etc.
Not advocating for yourself or making promotions early in your career. Most developers hesitate to ask for a promotion or raise because they think they should be happy with what they’re getting. But they should be confident and ask for better compensation if they think they are worth it.
Thinking that “Maybe I’m not good enough” and switching to other fields.
Sending emails, writing blog posts, or writing tweets late at night without thinking. You should always have a clear idea when you publish something.
Staying in a project or company for too long even when you’re not happy there and do not like the work you’re doing. It’ll affect your personal life and your behavior with others.
Overworking and not taking time to relax and have some time for yourself. Work-life balance is important.
You can watch the whole series here: