You’ve probably asked yourself this question several times already…
When does a programmer transition into a lead developer who works independently to deliver secure, robust and uber-profitable software products without any hand-holding?
I’ve asked that too and here’s what I learned from Pankaj Kumar, Business & Technology Architect at Gravity Payments (previously, Director of Engineering at ClusterHQ).
Here comes the 9 new meta-skills highly-skilled, highly-paid programmers practice every day to produce measurable results with their work and accelerate their career.
And how to make sure you model the way you work and implement new software development techniques after some of the most successful people in this profession.
Now, I recommend you really study and take action on these because most programmers aren’t doing this right now and don’t even realize how it’s holding them back.
For those of you who don’t know me, I’ve spent the last several years figuring out how to sell more software products and technical services through product integrations, micro-targeting, and partnerships…and helping other programmers do the same.
After reading (mostly listening to) all kinds of books, participating in coaching programs and attending workshops, I found that nothing that was “commercially available” to programmers seem to actually work out of the box.
This led me down a several-months-long path of learning, getting to know other professional programmers who are TOP PERFORMERS in selling software products and technical services…
…and finally testing and refining what I learned to come up with a personalized process that JUST WORKS for studios programmers. This is exactly why I’m going to condense and share many of the secrets I’ve uncovered about…
- working with high-value consulting clients
- starting sales-advancing conversations
- completing that first crucial $500 – $2500 project
- and then taking things to the $10K – $50K level
…systematically and without rejection from your team, clients and/or employer.
But first, let’s get you ready with the 9 NEW meta-skills highy-paid programmers practice every day to stand out from their peers…
It’s true that a lead developer is more skilled in general, displays independence in handling various aspects of the software development process and has decision making authority on how to architect software.
However, what helps a programmer, let’s call him Selasie, transition into a lead developer is on the job learning and practicing many new meta-skills that other professional programmers and trainers don’t even think about.
Meta-skill #1 – Use Previous Experience When Making Decisions
Selasie’s last web application had CSRF vulnerability that he fixed after being notified.
Instead of updating the code to fix this specific vulnerability as suggested, he took the time to understand the underlying design pattern he voilated that caused this issue, went through all his code and fixed similar issues.
He then made it a habit to avoid coding practices that caused this bug.
Another learning moment…
Selasie avoids showing error messages that could reveal too much internal implementation details to end users because he’d seen a similar issue reported as a bug in one of his colleagues’ code.
If you’re really serious about making the transition from “Junior” or “Intermediate” programmer to a lead developer, you should always take note of both good and bad experiences, then let them guide all of your current implementation decisions.
Meta-skill #2 – Add The Right Tools To Your Arsenal
In the early years of Selasie’s software development career, he relied solely on
console.log or equivalent calls to debug his code.
Overtime, he became familiar with debuggers, profilers, and Behavior-Driven Development and Test-Driven Development frameworks and tools.
Using these tools, he can spot and correct logical issues in his code much more quickly.
Using tools that makes your work easier and reduce the time it takes to complete projects will help you transition into a lead developer faster, without practicing for 10,000 hours like other programmers and trainers want you to believe.
Meta-skill #3 – Design Your Software Products For End-Users
Gone are the days when Selasie relied completely on detailed description of how the software should behave and then focus on just making the program work.
These days, he works closely with product managers to understand the intent of the software and proactively participates in defining how the software should behave.
He advocates for software that makes a user’s life as easy as possible.
His mastery of software development techniques ensures that his suggestions get translated into features quite easily.
You should also consider how you could design software that improves your user’s current situation. That helps you build trust and remove “Junior” or “Intermediate” from your title faster.
Meta-skill #4 – Participate In Team Discussions
Selasie used to be a keen observer of team discussions about requirements, design decisions and implementation approaches. He’d mentally map what’s being discussed to what he had read in books and learned in his introductory web development course.
He actively participates in these discussions now, persuasively presenting his views with rational justifications. Often, he’d support an existing point of view and sometimes he’ll counter a suggested approach.
You should also form an opinion about how software should be built. And then voice that opinion to show your teammates and clients that you’re experienced enough to take on lead developer responsibilities.
Meta-skill #5 – Reach Out To Domain Experts For Advice
To avoid being judged as incompetent, Selasie used to spend hours, sometimes days, trying to solve a particular problem on his own.
That caused project delays and made him unrealiable.
These days, he’d reach out to a PostgreSQL expert for advice if he can’t optimize a complex SQL query. Or attend a workshop on Serverless development when he needs to deploy and manage a serverless application.
You shouldn’t be afraid to reach out to an expert in order to get unstuck. You’ll be able complete projects faster and be seen as reliable. And that’ll help you make the case for dropping “Junior” or “Intermediate” from your title.
Meta-skill #6 – Mentor Less Experienced Software Developers
Selasie makes time to help those who seek his advice in areas of his expertise. In fact, he spends time with new teammates and let’s them know what he can do for them.
You should also mentor less experienced software developers in your community and teach what you know via a blog or answering questions on Stack Overflow and other developer communities.
Meta-skill #7 – Interact With And Help Stakeholders Succeed
This is an area where Selasie has changed most.
He doesn’t expect stakeholders and product managers to tell him exactly what software to develop or which integrations to add anymore.
These days, he focuses on what stakeholders want. He talks to them without using technical jargon, and then translates their needs and desires into software requirements.
He also enjoys the process of designing a system that leverages existing libraries and APIs to reduce costs.
You should strive to understand what’s important to your stakeholders because the more you help them achieve their desired business goals, the faster you can remove “Junior” or “Intermediate” from your title.
Meta-skill #8 – Use The Latest Product Development Techniques
Selasie makes it a point to spend a few hours every week reading relevant and influential blogs so that he’s aware of what’s happening in his programming domain and speciality.
Often, he’d try the tools and techniques that everyone is raving about and evaluate whether he could make them an integral part of his software development workflow.
You must know about new techniques, and use them whenever applicable. If you’re the one people come to solve problems because you’re always in the loop, you’ll transition into a lead developer faster.
Meta-skill #9 – Do Not Be Afraid To Make A Decision
It seems Selasie always knows what he must do – be it writing code, reaching out to an expert, collaborating with a co-worker, getting help from someone in a different division or keeping stakeholders informed about his progress.
If you’re not able to make a decision and then take action, you’ll never be able to remove “Junior” or “Intermediate” from your title. Letting others make decisions for you means you’re not ready to take control of your career path.
Your Ideal Next Step…
Although most programmers eventually transition into lead developers, some do it much faster than others. And then there are those who never quite make the transition.
They do become very good at their day to day task of churning out code, but fail to graduate from “Junior” or “Intermediate” developer, which means they never get the independence they need to produce their best work.
If you’d like to start practicing these 9 new meta-skills, here’s just one of the self-paced, success-accelerators I’ve created for you, so that you can move up in your career too…
Normally, other trainers will charge at least $199 to show you these, but it’s yours, 100% on the house because I don’t want price to be an obstacle for anyone who’d like level-up.
ps - don’t forget to share this 9 NEW meta-skills for programmers to spread the word. Your fellow Kingmakers will thank you for it and return the favor in spades, eventually.