How to become an impactful developer

Being a developer is about more than just the code on screen

Yusuf Ismail Bin Shukor
6 min readMay 10, 2021
Photo by James Harrison on Unsplash

A common misconception that a majority of developers ingrain into themselves, especially in their early career days is a hyper focus on writing the “right” type of code. Whether this is code that is considered clean by some, or lean by others or super performant by peers, these are all worthy goals to hit. Make no mistake, learning about designs and mastering the basics all help to make one a great, if not effective developer. The only problem here is that these are tunnel vision goals.

It’s almost as if we are treating this profession like a game, where everyone is trying to hit this imaginary high-score on a scoreboard that does not actually exist. Being a developer is so much more than just coding. Many of us, myself included, have eagerly and naively put ourselves in these boxes of work and tasks without doing one very important thing. Taking a step back and looking at the bigger picture!

Process

One of the very first steps you can take to become more impactful in your role, is to ask yourself how the effort you are putting in fits into the overall process of work that needs to be output. Rather than solely focusing on how the effort put in solves a given problem or provides a needed implementation, realize that there’s more to the picture by taking a step back.

In simpler terms that most developers will likely be familiar with, you can ask yourself questions like the following:

  • How are you approaching a task in an attempt to reduce redundancies
  • What can you do to automate repetitive tasks
  • How do you speed up output whilst improving stability and consistency

These are process questions. It’s all too easy a trap to fall into when a developer focuses solely on writing their class or function, finishing a screen or coding that very important interface or test. I’ve seen this in many a young developer. It’s a cubicle mindset. Take a step back from just focusing on the code at hand. Do you really need to re-write that line of code over and over again or can it be compartmentalized into a re-usable modular piece? Do you really need to be running builds on your system locally or is there a cloud service or dedicated machine to take this task? Must there really be complicated logic for different setups, or can one employ environment-specific configurations systematically and consistently? Should your QA team really still be depending on word documents or excel files and manual checks to test your application, or can you help guide them towards better tools and automation suites?

You would be surprised at how many development teams and companies you can join in the world that don’t know the benefits of a good CI/CD pipeline, or the value of automation test suites or the safety that security scans can bring all because they have not experience such processes before. You can be the bringer of that good change.

Seasoned developers, tech leads and CTO levels all understand the importance of not wasting time and focusing only on solving the problems that actually need to be worked on. Look at what you’re doing, and ask yourself the three questions. If you find that there actually is something that can be improved or if the development focus is in the wrong place, take the steps to refine it or refocus the work being done. Stop wasting time today, and make an impact!

People

We’re human. We’re so human, that after looking at a screen all day and interfacing with a machine non-stop we forget the people. We often mistakenly forget that ultimately what we are doing is meant for other humans.

We lock ourselves into trying to write the best lines of code, counting the lines, checking the spaces, watching the indentations and other menial time-wasters but often forget to stop, think and introspectively ask who does this actually help?

We often mistakenly forget that ultimately what we are doing is meant for other humans

Without a doubt, clean, efficient, stable, extendable and human readable code is a godsend in any company or venture. It’s a good thing to have. Some may even say it ranks extremely high in importance. Is it an absolute necessity though?

At what point do you consider your code clean or do you perpetually fixate on perfection? If your system is stable 99% of the time, does it make sense to spend every waking moment trying to hit that last percent especially considering the tech world changes literally every day? At the end of the day, the machine will build whatever you give it and will run whatever you make it run. Meet the context and requirements of the environments you need to serve. Anything more though is potentially a waste of time and effort. What is being asked here is quite simple. How much is too much before it becomes wasted effort?

Do these to discover where your effort could be better put to use instead:

  • Talk to members of your sales team
  • Join client-facing meetings
  • Learn about your users

What are they struggling with, what is missing or not working that could make their experiences multiple times better? Those are the areas you should be putting your focus and effort into. Find the bugs or the pieces of functionality that are sorely needed by the humans that use what you code and build, and you’ll find that not only do you become more valuable in your role but that you are actually having an impact on real people!

Business

Companies are not charities, handing out salaries to us out of the goodness of their hearts. Companies are a business, and that usually means turning a profit to survive.

When performing your role, you can always take the extra step to offer more than is required of you. Is there a point in the development process that could be improved, which could lead to less expenditure? Is there a change to how the development takes place that could free up developer time even further? Outside of the developer circle, do other departments unknowingly lack the tools or systems to drastically improve but which you can help provide? After all, time is money and anywhere you can help the business in regards to time is beneficial for all. Ask yourself the following periodically:

  • How are you helping the business innovate
  • Are there gaps in the business and it’s lifecycle that you can fill

Developers build solutions, usually to problems presented to us. Not often though do we seek out or identify problems that we can solve, especially at the business level. Ways you could help the company/venture/business innovate could be as simple as turning a manual process fully digital with partial automation, possibly reducing carbon footprint and enabling remote work where it previously was not possible. It could also be as challenging as introducing A.I. into the workflow to assist with the company’s output by reducing time to market. The sky is the limit. Help the non-technical teams gear up for the future in ways that only you can perceive, and you’re well on your way to making an impact on the business front!

End notes

At the end of the day, the aim here with these points is to give your mind a bit of an awakening with questions you may not have asked yourself prior to this. A new perspective. Different realms of your job that you may not be aware of but most definitely need to focus on just as much.

May these questions, and more shared by others, become a doorway to thinking and approaching your everyday work and role in ways that you may not have been able to see or realize before this, no matter what type of developer or in what part of the stack you work on.

Coding is important, but so are the rest of the pieces of the puzzle.

Being developers, our existence has one main purpose. We welcome problems with open arms, and we solve them. What better way to make an impact than to solve the meaningful ones!

--

--

Yusuf Ismail Bin Shukor

Half Malaysian half Australian working and living in Singapore