Photo by Andrew Neel on Unsplash
10 Things you should know being a successful developer ๐ฅณ
"Iโm not a great programmer; Iโm just a good programmer with great habits." โ Kent Beck
Table of contents
- 1. Believe yourself ๐๏ธโโ๏ธ
- 2. Be Productive ๐งโโ๏ธ
- 3. Be organized ๐
- 4. Learn by doing, not by watching ๐จโ๐ณ
- 5. Time management โณ
- 6. Google like a pro ๐
- 7. Don't rush ๐, Do more research ๐จโ๐ป
- 8. Coding Style ๐งโ๐ป
- 9. Keep things simple ๐
- 10. Learn Git ๐
- Bonus! ๐ค
Hey there! ๐๐ป I'm excited to share with you what I have learned so far at my first software engineer job as a junior developer.
Ever since my professional career started in April, 2021 as an Associate Software Developer, I have been learning round the clock. At my organization, I work on end-to-end on the front-end stack for mobile applications. And Iโm gonna share some tips out of my experience so that can groom up yourself as well.
Alright, here we go!
I have listed a few skills and tips Iโve taken away so far.
1. Believe yourself ๐๏ธโโ๏ธ
Yes! Believing in yourself is half the battle
"What You Think, You Become"
This has always been my mantra. When you want something, itโs your responsibility to make it happen. It takes courage to dive into a career in software development. It takes courage to do anything thatโs truly rewarding, and learning to become a professional software developer is especially gratifying because of the level of difficulty and effort required. Being a software developer means you never stop learning, you never stop trying, and you celebrate every victory along the way to developing code that works, code that performs the task it was designed to do.
2. Be Productive ๐งโโ๏ธ
The mantra is to work faster, keeping the quality of the work intact
Being a productive developer brings tons of pluses, including higher pay, office benefits, increased popularity among peers, and internal satisfaction. There is a huge demand for productive developers. Not only are they able to code faster, but they also write high-quality code.
Let's move to a few productivity tips:
- Minimize distractions
- Prioritize the tasks
- Track your activities
- Talk with your mentor
- Use Agile methodology
- Learn new skills
- Work on other side projects
- Continuously refactor the code and write code documentation
- Take full advantage of automation
- Read books
- Get proper sleep
3. Be organized ๐
Getting organized is a sign of self-respect
I suggest you should track all your day-to-day activities. If you are not the notion type of person, then just take the notes before starting the day about what gonna do, and note down what you did at end of the day.
Create a reminder or use sticky notes to remember the tasks, meetings and other activities that you will probably forget easily. If you only rely on your memory and someone come to you with some super simple task, your super busy mind might forget about the To-do activities. It wonโt look good for you.
If you are organising your activities and sticking with them, This practice will show your team and team leaders that you can get all things done without someone watching you round the clock.
4. Learn by doing, not by watching ๐จโ๐ณ
Never stop learning, because life never stops teaching
Learning won't show up results while watching the tutorials or reading. It happens when you start doing it. It is really helpful and even necessary to learn about new technology stacks. Make sure that you're putting yourself into good practice as well. This way all your learning persist in your mind and build up some experience for real by doing small projects.
Want to learn React? Go and build a web app. It could be anything. A calculator, a blog or build Netflix, Spotify clone from following some YouTube tutorials. It doesnโt really matter; just create something. Even better: put it in GitHub, launch it, and showcase in your resume. Youโll learn more doing this than anything else.
5. Time management โณ
Software development success depends on getting more done in any one period of time.
The researcher pointed out time management skills can be learned. Specifically, they observed that people trained in time management felt less stressed and more in control of their time than their peers who werenโt trained.
The first step to effective time management is accurate time measurement. Time tracking apps can automate this step. These apps record how much time you spend on various tasks, projects, and websites on your desktop, phone, and tablet. Theyโll tell you how much time youโre spending on social media, for instance. These apps, along with a high-quality task manager, will give you real-time analytics to help you stay focused, utilize your time efficiently and keep you more productive.
Another best way to focus on the task at hand without interruption is to schedule blocks of time for heads-down work on your calendar.
To get started time blocking your calendar:
- Decide what your priorities are
- Estimate the amount of time each task will take to complete
- Schedule these tasks on your calendar like any other appointment.
Instead of mindlessly going from one task to the next, you can look at your calendar to see what you should be working on and when.
6. Google like a pro ๐
Google has become so integral in our lives that we now use the verb โGoogleโ to refer to the action of using this search engine giant. It is quite important to google the solution like a pro.
A few tips are:
- Use quotes to match exact phrases
- Use AND/OR operators
- Exclude certain keywords using the negative sign
- Use wild cards
- Use โbeforeโ and โafterโ Operators
- Use โsolvedโ as an extra search term
- Using a specific domain
- Searching directly on Stack Overflow
7. Don't rush ๐, Do more research ๐จโ๐ป
Research is creating new knowledge
Usually, we all wanted to finish off the task at lightning-fast to impress. But oftentimes we don't clearly understand the requirements (Of course! happened to me a lot ๐น), hence we might be travel in the wrong direction of the requirement or probably stuck with syntax errors, typos, test cases failed, stupid variables, commented code, or consoles that we've used to debug.
Whenever you get the task in your bucket, don't jump to code right away. Understand the task first, then break down the problem. If you don't understand, ask your colleague or senior person about the task. This will save your time and avoid the rewriting of the code.
You may be blocked anywhere while coding, don't ask your peer right away. Try to solve it by yourself. Take some time, Google it. You'll definitely find the solution. As I said earlier, understand the solution what is the logic used by the person, then jump to the solution.
8. Coding Style ๐งโ๐ป
Maintainable code is as important as working code! ๐ค
Of course! itโs important to have working code, but itโs valuable to have a maintainable codebase. If you are careless about your coding style, I'm damn sure that you're creating such a big mess that nobody understands, waste your's & your team's schedule to fix the silly bug. And this is exponential, as the complexity grows, Then, it will take you twice as long to fix a problem.
9. Keep things simple ๐
Simplicity is key
Complexity will always come with time and size, so you donโt need to create complexity prematurely. Keep things as simple as you can, while still meeting your objectives.
10. Learn Git ๐
Atomic commit & checkpoint
Commit your code often
The best approach is to keep your code commits small and atomic. Meaning, each commit stands alone and does not depend on another. Your code should be small and digestible. Don't wait until the full feature gets complete. If you follow up, you're super avoiding the ton of issues such as rollback, easy reverting to a specific commit, loss of your hard work and time which you have spent, or probably wiping out something that you wanted to keep.
Don't commit the broken code
You should consider code commits are sacred. Treat all the codes that you check-in as sacred. but you should avoid committing the broken code at any cost. if you do so, your colleague pulls your changes and receives the broken code. That's not nice. It gives a bad impression of you.
Bonus! ๐ค
- Improve your problem-solving skill (use Hackerrank, HackerEarth or Leetcode... but up to you ๐)
- Be consistent & open-minded
- Willingness to adapt to the environment (both physical and mental)
- Self evaluate yourself
- Meditate at least 10 mins a day
๐ I hope you liked this!
P.S. This is my very first article ever. If you disagree or find any mistake, don't hesitate to leave me a comment, I'll be happy to discuss and update this article. ๐