How to grow as a software developer

Cover Image for How to grow as a software developer

For a while now I've been on a constant search for growth and learning.

I feel like web technologies now a days are rapidly evolving.

11 years ago around 2009-10, I immediately took on PHP and worked on Vanilla PHP. 1 year later along came Joomla, Wordpress and Drupal. Also dabbed into a little bit of Code Igniter, Yii and SlimPHP.

A couple of years after, I had thoughs on "should I go PHP or Java". What framework should I master. Laravel PHP looks great. Let's try it. (Laravel 4.2) I was attracted by the migration and seeder and got hooked because of Laracasts. (up to now)

Around 4-5 years ago (2016) people was moving to SPA so in came Angular, React, Vue.

Now a days (2021) there's Next JS, Gatsby, Nuxt, Typescript, Jest, Tailwind, Cypress, PostCSS, Unified, Redis. Github Actions, docker, kubernetes, and the list goes on...

It can be daunting really... To keep up, to study all these and to be good at each. On the other hand, its quite a positive thing. The controls and options in place are getting finer and finer and they are growing in quality as well.

What I mean is the web technologies are maturing and there's so much more options in place if you need or want them. It is possible to just use Laravel to build a webapp with blade as front-end. Its all one unified framework and straight forward to use.

But you can also integrate it with more technologies commonly with livewire or inertiajs, then react or vue, tailwind, jest and other packages or libararies that will help you as a developer.

Anyway, on to my search for growth and learning...

I've looked into several awesome online sources.

  • Laracasts by Jeffrey Way (loved it!),
  • Test Driven Laravel by Adam Wathan,
  • spatie.be
  • React contents by kentcdodds
  • freek.dev
  • laravel-news.com
  • Awesome PHP
  • Laracon EU Youtube

I even got enticed to do online masters. It seemed like a no-brainer since it's self-paced learning then you get to have a masters degree at the end. There are some cool courses out there at

  • coursera
  • edx.org

Great books by Robert Martin

  • Clean Code
  • Clean Coder
  • Design Principles and Design Patterns
  • Clean Architecture

I do plan to go through most of these but its not enough for me to really truly learn.

I have to use it and actually practice what I learned.

Clean Code

The approach I plan to take

Here we go...

I don't think I have to be great or super good at all these techonlogies (I don't think I can be). While it is possible to study and read all these, I simply don't have enough time and place to practice and use them.

With my time and setup, I have to use it with the work that I do. And fortunately it is something I can do. Here are somewhat concrete ideas I have:

  • code review (thoroughly) - be thorough in reading code and really put effort into making it better, cleaner more maintainable.
  • identify and build packages (laravel or npm) - oftentimes there are specific features/capabilities a project requires which can be converted into a share-able package.
  • read and reflect - specifically read foundational books like clean code and design patterns. These are timeless and can be applied on any technology stack.
  • blog or journal - one way to reflect and re-enforce learning is to write about it. This forces you to revew and rethink things you've studied or used.

Now let's apply. Just like a "diet" plan you have to follow it in order to get healthier.