How to be an impactful developer
Recently Microsoft-owned Github co-pilot went open for all. It is branded as “AI Pair Programmer” for every developer. Github says that the co-pilot is trained on billions of lines of code and can turn natural language prompts into coding suggestions across dozens of languages.
Inspired by Github co-pilot, AWS released “ CodeWhisperer “. They call it an “ML-powered coding companion”.
There is a line of products that we will see emerging in the immediate future where developers will get AL-ML-trained companions. These products are aimed at freeing up the mental space of developers from silly problems so that they can tackle big ones and think big.
From another perspective, we can learn that development time is becoming a pivotal asset to businesses, and everyone wants to make the most out of this commodity.
If you are reading as a developer, you may have to up your game in future so that you can be distinguished from others and earn a decent place in org structure. More important than org structure is impact assessment of your work. Your value inside a business is directly proportional to the intensity of the impact your work causes on the business.
I am listing down some fundamental principles which are important to being an impactful developer. Whether you are coding alone or in companionship with a human/robot, these principles will always remain relevant.
- The world is full of fascinating problems to be solved: To be an efficient developer you must get a basic thrill from solving problems, sharpening your skills, and exercising your intelligence. You also must develop a kind of faith in your learning capacity — a belief that even though you may not know all of what you need to solve a problem, if you tackle just a piece of it and learn from that, you’ll learn enough to solve the next piece and so on, until you’re done
- No problem should ever have to be solved twice: To be an impactful tech resource, you must believe that the thinking time of other resources is precious — so much so that it’s almost a moral duty for you to share information, solve problems, and then give the solutions away just so other people can solve new problems instead of having to perpetually re-address old ones.
- Keep Bureaucracy at bay: Developers (and creative people in general) should never be bored or must drudge at stupid repetitive work because when this happens it means they aren’t doing what only they can do — solve new problems. This wastefulness hurts everybody. Therefore, boredom and drudgery are not just unpleasant but evil. Being bureaucracy the prime source of boredom, developers should work smart and keep their working processes extremely lean, and meaningful, and dealing with them should be lighter for other people.
- Don’t micro-manage and don’t get micro-managed: Impactful developers are naturally anti-authoritarian. Anyone who can give you orders can stop you from solving whatever problem you’re being fascinated by — and, given the way authoritarian minds work, will generally find some appallingly stupid reason to do so. So, the authoritarian attitude must be fought wherever you find it, lest it smothers you and other hackers
- Practice and practice: Attitudes are no substitute for competence: To be an impactful developer, you must develop some of the above attitudes. But copping an attitude alone won’t make you a hacker, any more than it will make you a champion athlete or a rock star. Becoming an impactful developer will take intelligence, practise, dedication, and hard work. There it would be best if you learned to distrust attitudes and respect competence of every kind.
Just a trivia for developers: Rockstar is a programming language made especially to code in natural language. Please have a look at it here.
Originally published at https://www.linkedin.com.