I have always thought that successful people have very complex habits or tricks they use to achieve their goals and be productive, but in reality, it turns out to be quite the opposite.
In the last 2 years, I had the chance to work closely with my CTO on a couple of complex algorithmic problems that seemed impossible to solve.
In our brainstorming sessions, I have learned tricks and habits that my CTO is using that make him a great expert and a leader in the IT industry.
My team already knows these “tricks”, now it is time to share the lessons with the world.
“Divide and Conquer” – split complex problems into small and achievable tasks
Focusing on the big goal overwhelms us into inaction and this is a very common problem that we all face, splitting problems into small tasks gives us the ability to do better estimation, risk assessment, track our progress and give us the satisfaction of finishing the task.
Improve yourself by 1% every day
Getting one percent better each day for one year, means becoming thirty-seven times better in a year, this process is a Japanese Way to Self-Improvement called “Kaizen”.
- Traditional: I will do 100 push-ups.
- Kaizen: I will do one push-up.
- Traditional: I will write a novel.
- Kaizen: I will write a paragraph.
The process is very simple and the only requirement is to be disciplined and follow the process every day.
How to learn a new technology?
“No one learns as much about a subject as one who is forced to teach it.” – Peter Drucker
Building POCs, writing blogs, teaching and sharing your knowledge is the best way to learn a new skill or tackle a new framework.
Learning is NOT just about taking in the information, it is about practicing the new skill all the time.
Think out of the box
I admit I wasn’t an “out of the box thinker”, my mind was always following best practices and common design patterns until a problem occurred that was not solvable by a conventional way of thinking.
After reading every book and blog post related to the subject (problem) I concluded that there is no existing technology that can solve this problem and we needed to come up with alternative solutions.
In a brainstorming session with my CTO, we have designed one out-of-the-box solution that in the end solved the problem.
Be proud of your work
Very simple: You have to be a king of your kingdom (company, team, project….), you have to love the work you are putting on a project, be proud and spread the word about your success.
Remind yourself of what you have done in the past, what you can do in the future and be proud of your achievements, this is the only way to track our progress and know if we are getting better or not.
Choose the technology stack wisely
Selecting the best technology stack for a project is always tricky.
Choosing between one technology stack or combination is a complex process, every technology has weak and strong sides, the best solution is always a combination of multiple technologies that will cover every customer requirement and give the ability to scale and customize the stack in the future. Nobody can predict the future (future client requirements), but you can always leave the door open in the System Architecture for integration with other technologies.