10 Things you should know being a successful developer ๐Ÿฅณ

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

ยท

7 min read

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. ๐Ÿ˜Š

ย