Top 12 Tips on how to excel πat your developer job!
Work ethics, learning patterns, effective communication, coding practices and many more!
console.log("Hello Hashnode Famπ")
How's it going? I hope you are doing great!π
Today we are going to discuss about some OG tips that you can implement to excel π at your developer job! To be honest, I have learnt these soft-skills the-hard-way
, and thus sharing with you all so that you can get the best out of your work and do awfully great at your job.
This article πis for definitely you if:
- You are an aspiring developer and going to start working soon as an intern or full-time role
- You have just started working and want to leverage the best of yourself to contribute at your work
- Want to know about work ethics, professionalism, contributor approach, learning patterns and everything that can make you stand out!
Are you excited? π€ Because I am a lot to talk about this π€©!
This article is divided into two sections:
- Tips for Developer Skills π»
- Tips for Communication Skills π£
Quick Overview:
- Reading Documentation π
- Document your work β
- Write Clean Code π§Ή
- Don't marry a framework! π
- How Exponentiate your learning π
- Excel at Stand-up Calls π
- Communicate enough π¦
- Making clear estimations π
- Talk is cheap, show me the code π»
- Don't hesitate to ask for help πββοΈ
- Take Ownership and Leadership of your work π¦Ύ
- Personal Documentation and Progress β¨
Let's get started! π
Tips for Developer Skills π»
1. Reading Documentation π
I would say, Reading Documentation is one of the most underrated skill for any developer. Most of the challenges you'll encounter at work won't be solved by YouTube tutorials or cheat-sheets. Technical Documentations typically contain introduction, implementations, examples, API reference, advanced usage etc. of the framework, library or a tool you are referring.
To bring simplest and most effective solutions for the most complex problems; in-depth knowledge and resource about the tool that is being use to conquer the problem is super important.
2. Document your work β
We just saw how important technical documentation is for understanding the code. It doesn't depend if you are working for a client-based deliverable, your own product, SaaS application or an open source project; a comprehensive documentation about the code you are writing serves as a compiler that translates code to logic for the end-user.
It can help you explain your work better, assist other developers to collaborate easily; senior developers to review efficiently and overall enabling anyone to get detailed understanding of the codebase. You must surely add images, diagrams, references, implementations, examples etc. in the documentation.
Many good companies also have Engineering Design Documents for every major feature to be implemented to the project to efficiently build product. This shows the importance of documentation for the project.
3. Write Clean Code π§Ή
Clean and well-written code is a documentation in itself.
Read that again. You aren't here to write college toy-project codes. Since your work is going to impact many, clean code is inevitable. Try writing code that is modular, scalable, following best-practices and gives enough clarity to the developers reading it. Add tests where necessary and of course never shy-away from your senior developer friends to review your work. I would encourage you to read this amazing book - Clean Code for more insights!
4. Don't marry a framework! π
You aren't hired to expertise on a skill at the company. You are here to solve business problems and in-turn make an impact to the world by code. One should be quite flexible to work and even learn any tech that is suited for the solution. Remember, the product is not built based on functionalities the current framework has; but vice versa.
A very good example is the recent Hashnode's transition from AWS/DigitalOcean to Vercel. So, don't cry while saying good-bye π to your favorite framework and move-on instead ;)
5. How Exponentiate your learning π
Every other day at work, you will encounter something that you don't know and have to learn it. Some tips for effective learning:
- Create a mental model on what the tech is all about, how does it work under the hood and so on
- Try watching youtube videos to get overall idea about it
- Read documentation and get detailed insights about the tech
- Connect the dots with the tech from what you have learnt something similar in the past
- Try to build a small test project to learn about its functionalities and features relating to your application
- Hit and Trial, Copy and Paste
- Repeat until you are a bit confident to start implementing this in main codebase
2. Tips for Communication Skills π£
6. Excel at Stand-up Calls π
Make a list of what you did yesterday; what you are going to work on today and blockers you faced along your way. Be polite and calm while speaking. When asked questions, listen them well before addressing. Avoid being informal during your standup. Try to be precise with your words. Most importantly, don't try to over-describe what you have been working on. Be honest and clear.
7. Communicate enough π¦
Communicate. In fact, over-communicate. Discuss the problem statement, brainstorm over the ideas and implementations, talk about edge-cases, communicate your opinions and try to gain clarity from both developer as well as business point-of-view. This will help you to deliver to the expectations perfectly. Never ever miscommunicate about your work. The team depends on you, the business depends upon your deliverable; be responsible.
8. Making clear estimations π
This is really important for any developer to finish what they have committed within the set timeframe. It comes with experience but breaking down the tasks into smaller ones and then calculating helps. And if needed, add a buffer time when estimating; so that you can effectively complete the tasks on time.
9. Talk is cheap, show me the code π»
In every project meeting, when asked for your progress on the work; instead of verbally communicating, share your screen and show the working piece that you have implemented so far. Discuss about the approach you took to solve the issue, make flowcharts, diagrams etc. to describe the solution and tell about the blockers you are currently facing to complete the task, if any.
10. Don't hesitate to ask for help πββοΈ
If you don't ask, the answer is always No. If you are stuck on something for quite long, it is always a good idea to seek help from your fellow developers. It is quite possible that they must have faced similar issues previously, and thus can easily equip you with resources, references or work-arounds. But yes, seeking help doesn't mean you expect someone to write code for you. Be professional and polite when asking assistance.
11. Take Ownership and Leadership of your work π¦Ύ
It is quite possible that your code piece will fail in UAT tests, break in production or will get bad reviews from the user. Instead of blaming fellow developers for the mistake, take ownership and responsibility for every line you wrote. Re-iterate what you missed and make sure not to repeat again. Whenever you get an opportunity, take leadership on a feature, project or anything that adds significant value to the company.
12. Personal Documentation and Progress β¨
Maintain record of your work that has -
- Achievements: Solved a complex bug? Implemented an important feature? Added value to the company in some sort? List them here.
- Blockers: Are there loop-holes in fundamentals and knowledge? Feeling Unproductive? Need mentorship about the technology? Stress on these and try to find solution to them. Probably other devs might also be facing this; your solution can help them.
- Learnings: Document your learnings. Blog about them. Give tech-talks about them. Do knowledge transfer with the team. Embrace the learning process!
Conclusion π
I hope this was an insightful read! So, what's stopping you contribute best at your work? π€©
Comment your views, feedbacks and something that you want to add. Thanks for reading!
Feel free to connect with me on Twitteror LinkedIN for:
- Discussing a new project idea π€©
- Any help regarding web, open source or programming π€
- Anything and everything about tech and productivity π»