How to become a successful programmer
In this article I explore on how to become a successful programmer. My field of study is Laravel so although I provide generic advice there are some things mentioned that are Laravel specific.
Being a successful programmer is no easy feat. You need a number of traits to succeed, and many of those traits will only come with years of experience and time invested.
I'm by no means a successful programmer compared to some of the greats out there. Also, success is such a relative word. Does success mean you're happy? Does success mean you're making lots of money? Does success mean you're making just enough money? Does success mean you're driving a big team who is also successful? Does success mean you see a bright future, but you're maybe not quite there yet?
This article is about what success is for me as an indie programmer. Someone who operates mostly on their own and someone who is an entrepreneur. Someone that doesn't work for or want to work for a large corporate. Someone who dreams about writing software and selling it. In my case I love SaaS, and that is my dream. To be successful in being a great SaaS programmer.
To me Laravel is the ultimate in using my creativity and love for the web to express myself using programming. As it happens the entire Laravel ecosystem is very rich and especially so the people behind driving it.
So, without further ado, here is what I would consider to be a successful programmer:
You have a presence on Twitter, and you follow other greats in your field
You look up to other people and you are able to learn from them
You understand the difference between build it and they will come versus how marketing and selling actually works
You are able to invest a huge amount of time doing programming
You are willing and able to invest in time to promote yourself
You always challenge yourself to improve
You challenge yourself to improve your code
You are not scared of refactoring and find enjoyment doing it
Your code is extremely readable
You strive to
You have a very clear idea about separation of responsibilities, or SRP as the fancy people call it
You have created at least a few open-source packages, according to best practices
You are proud of your code
You understand best practices and follow best practices. This is opposed to using shortcuts.
You often refer to the manual to explore best practices
You keep up with the latest versions of the framework
You often do new courses to enhance your skills
You are able to keep focus
If you want to be a great web programmer like me, you strive to be full stack. It's impossible to be great at everything but if you've mastered the back-office now it's time to master the front-end and CSS too.
You are aware of the tools the community uses. I'm talking about things like:
Spatie's libraries
HELO
Ray
Laracasts.com