Staying ahead of the game

Rajasuba Subramanian
4 min readApr 17, 2023

--

Source : Unsplash

Are you a new developer, it’s natural to feel a little overwhelmed. With so much code to write and information to absorb, it can be hard to know where to start. But fear not! Even the most seasoned developers once felt the same way. They’ve learned from their mistakes and identified few common traps that new developers often fall into. Avoiding them could help us stay ahead in the game.

1. Being squeamish

Have you sometimes felt stuck getting caught up in the “analysis paralysis” trap, spending way too much time overthinking and over analyzing the code changes? It’s a frustrating cycle that can delay progress and leave you feeling stuck.

But here’s a little secret: sometimes the best way to gain clarity is to simply start somewhere. Even if you don’t have all the answers, taking a small step forward can help you uncover the grey areas and make progress. And if you make a mistake, let the tests (unit and integration tests) catch it. Trust in your ability to course-correct and don’t let fear hold you back from making progress. Start somewhere, start early, start making progress !

2. Larger test cycles

Having larger test cycles is like going down a ‘rabbit hole’. Consider an example where it takes 2 hours to build and verify a prototype change you make. Then in an average day you could make 4 changes (maximum) with very little tolerance for error. Instead of punishing yourself to be more accurate every time you make a change, figure out an alternative to test it with smaller cycles.

When I had a chance to work with AOSP source code the average time it takes to build the source code to flash the image file in a device to verify the change takes an average of 2–2.5 hrs which is a huge productivity killer. Instead I splitted the source code validation into different parts like,

  1. Verifying it with unit tests
  2. Verifying the change with mock data
  3. Porting the changes from platform/operating system layer to application layer so that I could validate the same by just installing the apk on the device (which roughly takes <2 minutes to verify)

Be kind on yourself. Allow yourself to make more mistakes. Let the test cycles be smaller and let them help figure it out.

3. Trying to write perfect code at first go

Are you a perfectionist when it comes to coding? While it’s tempting to aim for flawless code from the get-go, this approach can actually be a major productivity killer ❌. Here’s why: First of all, trying to write a perfect piece of code from the beginning can cause you to force fit the later flow to the former version. Secondly, it’s simply not realistic to expect yourself to write rock-solid code on the first try every time.

Instead, try starting with a skeleton code and fill in the methods with logic as you go. Write dirty code and refactor on top of it. Don’t be afraid to backtrack and start over if you realize you’ve headed down the wrong path.

Remember, coding is a journey and it’s okay to make mistakes along the way. By embracing imperfection and focusing on progress over perfection, you’ll become a more efficient and effective coder in no time !

“Veterans say, writing unoptimized code at the first go and then trying to optimize/improve it is 4x times faster.”

4. Problem is not aligned with problem domain

Are you feeling stuck when trying to solve a complex problem? One trick that can help you get on the right track is to write down the problem statement as a one pager document (Yes! like an Amazonian :-D). This exercise can help you clarify your thoughts and identify any gaps in your understanding of the problem domain.

If you’re having trouble connecting the dots between the problem and the domain, it may be a sign that you are looking in the wrong place. But by breaking down the problem into a concise one-pager, you can pinpoint the right domain and start making progress.

Collaborate with the domain owner to ensure that you’re solving the problem in the right place, so that the solution can reap long-term benefits. Grab a pen and pager and get started on your one-pager for the problem statement ! ✍️

Reference

PS: Opinion derived from discussion with veterans in the field.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response