Skip to content

Instantly share code, notes, and snippets.

@jdecode
Last active May 9, 2020 05:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jdecode/68b14123b8ced7146b15c31c1711e5d6 to your computer and use it in GitHub Desktop.
Save jdecode/68b14123b8ced7146b15c31c1711e5d6 to your computer and use it in GitHub Desktop.
As a developer...

As a developer

  • I read [books, documentation, blogs...]
  • I write [code, documentation...]
  • I communicate [with colleagues, project-teams, bosses/managers...]
  • I learn [from books, w3schools, stackoverflow, youtube, tutorials, video-courses, in-office training, meetups, online-sessions...]

As a developer if someone does all of the above 4 points then that person is "at the very least" a competent developer.

When you read, write communicate and learn - you grow.

As a developer if you want to grow (I would argue if you don't want to grow, but that's a different conversation altogether), then you have to read, write communicate and learn.

There is no shortcut to growth. There is no "skimming" to growth.

You have to read. You have to write. You have to communicate. You have to learn.

It is mandatory.

If you are a good at any of the three, and skip any one - you are not a competent developer, which means you are not moving forward. You are stuck. Someone will, very soon, come and move forward, and you will stay there. Stuck. Not moving forward. Not doing at least one of - reading, writing, communicating and learning.

If you believe you are stuck, introspect (self-inspection), and see what is it that you are NOT doing, and once you start doing it, you will not be stuck. You will move forward. You will grow.

Growing, moving forward, requires effort and when you stop putting effort, you stop moving forward. You get stuck again.

There is only one person that can help you - you know pretty damn well who that person is.

There are some traits, in additon to fixing above, that are also required to be fixed to move forward.

Lazy, lack of will, lack of focuse, procrastination - YOU have to fix these. Not me, not your friends, not your family... basically abso-fucking-lutely no-one else can fix this.

If you think you can't fix these, then stop "wishing" to grow.

@jdecode
Copy link
Author

jdecode commented May 5, 2020

Write.

As a developer, you are going to write a lot.
Most of it would be code.
So, obviously, you have to know how to write faster.
You have to have command over writing.

Writing code is different than writing a letter, or a note.
You have to pick the tools that help you write better code, not better notes.

While text-editing software (like MS Word) are good to write notes (or any other kind of content), there are specific tools that would help you write code faster and better.

@jdecode
Copy link
Author

jdecode commented May 6, 2020

Designer, before programmer.

Before being amazed by "code", I was amazed by "wallpapers" - that was a pretty new thing during early 2000.

I had my first personal computer in, I think, 2002 (or 2003). Before that time I used computers at my school, and then some cyber-cafes (those were the "in" thing then where "cool" kids would go), and I would see photos of celebrities/movies as wallpapers of those computers and I was so much amazed by the fact that these are created using "the computer".

So I learned from a friend who was actually selling computer hardware, and people would ask him to "Install some software" then he would be installing stuff like Photoshop, Microsoft office etc (not all were genuine back then).
Some would ask him to teach how to use those, and he was the "geeky-vendor" so he would install something on his own system, spend a weekend playing around it, and will share some basic commands of the software.

When I convinced my parents to get me a computer, I reached out to my friend to get me all the software he had, including Photoshop.
He told me some basics, I even attended "formal classes" with him for a month, and then I started playing around with it.

I have seen some wallpapers and I wanted to create one of those, and I ended up creating some pretty neat wallpapers using Photoshop.

Then the next that was very much on the rise was the "web" during that time.
People were making websites and when I saw those websites I notices that they were using the techniques that were used to create wallpapers.. similar background effects, rounded-corners (with images) and then I started learning HTML and CSS.

Dreamweaver was another product of Adobe (along with "Image Ready") that I started playing around.
HTML, CSS, some basic JavaScript, creating designs in Photoshop, some image-cutting stuff in "Image Ready", creating "GIFs" (those were so awesome).

And then in around 2006, when I was working as a "Graphic Designer Trainee" in New Delhi, my boss introduced me to PHP.
He actually helped me configure XAMPP with Dreamweaver and showed me where are the settings, Apache webroot, the "localhost", and a few other things... and BAM...
I was creating designs of a "form" in Photoshop
Slicing it in Image Ready
Using the auto-generated HTML/CSS in Dreamweaver, and would save form data in MySQL DB (using phpMyAdmin, packaged along with XAMPP) - this is when I was able to have a practical implementation of RDBMS classes (attended half-asleep, during college).

@jdecode
Copy link
Author

jdecode commented May 6, 2020

Dreamweaver

This was an amazing tool (probably still is).
Being from a designing background, this was one of the best editor for me.
Dreamweaver had a layout option where you could have a split screen view - one with HTML code and the other with the output.
I could make changes and see the changes live in the editor - no need to refresh the browser page - and this was awesome.

I was doing HTML/CSS/JS before PHP, and even with PHP there was no "real" programming. Mostly it was used to show name if logged in, or "Guest" if not logged in. Basically it was more like "show this if logged in, show that if not logged in" and at times "redirect from here to there if not logged in".
So having Dreamweaver really helped here because I would create the placeholder text in the HTML, and in PHP I only had to replace the placeholder text with a dynamic PHP variable.

This was all fine, until I switched jobs, got a "PHP Developer" role, and got into Kayako where I had to write "real" PHP - the classes/functions... the whole shebang...

@jdecode
Copy link
Author

jdecode commented May 9, 2020

Edit Plus

When I started working professionally in PHP in 2007, there were a lot of editors/IDEs that were solving a specific problem. Fixing a lot of problems was bloating the OS (remember, 256MB/512MB was still the norm back then). Some companies/teams were using a single editor to save unnecessary-learning another editor.
At that time (and during the time I moved to Kayako) Edit Plus became the tool of choice for me and people around me.
I didn't like it because it was unlike Dreamweaver - you have to go to the browser to refresh the page and see the output.

Another point to note - PHP was( and still is) for "web" - so almost any change has to be checked at the browser only.
You can't just "do the code" and assume it to be working fine - IE6 era (Oh, those were the terrible times).

Anyway, EditPlus sucked, but it was the one that was the tool of the choice in my team, and I was stuck with it.

From time to time I would try "Notepad++" and I really liked it..

@jdecode
Copy link
Author

jdecode commented May 9, 2020

Notepad++

In early 2009, I moved to Chandigarh and during my 2nd job there (I stayed at my 1st one for a little over 2 weeks), I was introduced to "real programming and real programmers" at smartData inc.
It was a night-shift job, and all those people, silently, writing code and the only thing that you could hear was "tick.. tick... tick tick... tick tick tick..." with an occasional "Oh...."

This is where I was introduced to "CakePHP" and "NetBeans" - and that's when my mind exploded.

While NetBeans was there, and I really liked the packed feature set, the systems were still too bloated (less RAM, slow CPU, slow HDD), that quite often I was using Notepad++ for most of my programming.
It took me a few months to understand that while NetBeans is one of the best IDE out there (like a super-model), but I don't have the resources to support that and will have to get going with Notepad++ (the girl next door) - and when this was clear, Notepad++ was "critically" reviewed and a lot of extensions/plugins were added to do stuff that NetBeans was doing (the analogy works pretty great here ;) )

And for next 2 years, it was mostly Notepad++ with occasional NetBeans when trying something new/interesting.

@jdecode
Copy link
Author

jdecode commented May 9, 2020

NetBeans

For a decade or so... around 2009 to 2018 NetBeans stayed at the centre of my attention, and except the first couple of years of this decade, it was the "only" IDE/editor on my system.
I was good at it, and it helped me almost everywhere.

PHP / HTML / CSS / JS auto-completion, file-support, history, Git, diff, SFTP (with syncing for direct uploading to dev-servers), integrated terminal, click-to-jump on methods are some of the features that I still feel so comfortable to use.
The file explorer, showing selected file in file-explorer, class navigator, the support of those awesome plugins etc.

NetBeans kept me rolling for a major part of my career and I really enjoyed it.

@jdecode
Copy link
Author

jdecode commented May 9, 2020

VS Code and then PhpStorm

Since last 2 years I have been introduced to 2 great editors - VS Code and PhpStorm

VS Code is free, and is thus, most of the time, the obvious/default choice of developers, is backed by Microsoft, has a great community support, plugins in JavaScript mean that if something is missing then it can be created, and the "light-weight" nature (this is still an editor, not IDE) - these things have made it difficult for me to drop support of VS Code.

Oh, and the "Docker" and "docker-compose" plugins in VS Code are so damn awesome...

PhpStorm on the other hand is focused on PHP ecosystem (includes, HTML/CSS/JS and other web-oriented technologies as well) and is really a bit "heavy" (not bloated though - or may be I don't feel it now because of the 12/16GiB RAM, SSD and decent CPUs).
However, PhpStorm just "gets" it.
If you use PhpStorm, you'd know it. If you don't, then you don't. (Damn, it seems so much like an iPhone ad - and I hate iPhone).

For now, my choice of IDE is PhpStorm.

It helps me "write" code faster and better.

@jdecode
Copy link
Author

jdecode commented May 9, 2020

As a developer, most of my time is spent on writing code, and PhpStorm is by far the best code-writing tool for PHP for me (and for a lot more people - just Google it).

If you are a PHP developer, and reading this, and actively writing code nowadays, and NOT using PhpStorm - please do yourself a favour and start using it - please.

It helps me to do the most important thing that I have to do as a developer - write, write code, faster, better.
It teaches so well, in so interesting ways.

Even if you don't use, or don't want to use, PhpStorm, please make sure you have the best tools available that allow you to write code faster.
That is your job as a developer, as a programmer.

Please do not attach yourself to a particular editor or a "style-of-thinking".
Please do not be resilient to change.
Please do not be egoistic, adamant or stubborn.

Improvise, adapt, overcome.

Be better.
Be better than yourself now.
Then be better than your competition.
And then there will be no competition.

Write.
Write code.
Write faster.
Write better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment