Tee3 | Tips, Tricks and Technologies

I have been into web development from 2 decades (starting with static HTML websites back in 2001), and moving up the ladder by learning/implementing Photoshop/graphic design for 5 years, and from 2006 onward professional PHP (and related tech-stack) based development.

Seeing people struggling with basic know-how of core programming and related skills and ending up with confusion, lack of confidence, being less efficient/productive, filled with anxiety and stress etc, is a difficult thing to watch, and I see it(almost daily) and intend to help these young developers (and some experienced/seasoned ones as well) to do things faster than they are doing now, by teaching the tips, tricks and technologies that would help them do things in (may be) 2 years what I was able to do in, say, 5 (or more).

I speak often at devTalks (local meet-up group) where we talk/deliver-session about various topics from different layers of technologies : server, client, DevOps, DB, upcoming technologies etc and during the lock-down we conducted a lot of online sessions (open and free for all) helping people who are at home (and/or working-from-home) and continue to help a lot of young and mature developers alike, and I would want to focus on some specific sections (from the tech-stack that I know) that I believe will make things much easier/better for most of the developers.

If I were to start a course tomorrow, the title would be:
How Docker could put your career on a fast track

Class project (after/during the course):
Deploy a CI/CD pipeline on GCP Cloud Run using bespoke docker images created after learning Docker and related tech-stack(from the course) and using available services – for PHP and Nodejs.

Some key lessons to be included:
– The Why and What of Docker in brief : The introduction (~2 mins)
– Installation instructions (Ubuntu only, other OS instructions linked/referred) : docker, docker-compose, git (optional), hub.docker.com account (to push images to docker hub, to be used during CI/CD setups) (~5 mins)
– Docker images and containers “What are those?” : Names and tags, local images, pull-from/push-to docker hub, difference and similarity, context
– Build docker images : How to build from official/base versions, create your own images, why the need to create custom images
– Docker containers (details yet to be listed)
– “docker-compose” : Services, networks, volumes and containers. Using CLI and VS Code (non-CLI)

I might need following tools (already with me, or need to update/install):
Equipment : Smart phone, DSLR camera, silent space, lights.
Software : Screen recording tools, PhpStorm (and inbuilt tools), OBS studio (multi window/source management, streaming/recording) etc

Some of the links (from gist.github.com/jdecode) related to Docker/docker-compose:
– Dockerfile for PHP 8.0 RC2 with MySQL and Postgres support: https://gist.github.com/jdecode/77b554ba217c5dfcf5f78f89260c8561
– Setting up Dockerfile and docker-compose for a CakePHP project : https://gist.github.com/jdecode/f25b66b8993d5ca32c4a25353e9f2ec9
– Steps to run Docker project (similar to the above link, but different and important – uses MySQL): https://gist.github.com/jdecode/b2754547a461f289493df38a51776524
– Screenshots accommodating the content of the course : https://gist.github.com/jdecode/3dd9a6edd6c0411756681c0035b76c41

Which one is more difficult?

There are 2 steps to doing something:

  1. Making up your mind
  2. Committing yourself to that

In my personal experience, commitment is an issue – especially when I have made up my mind to do something.

There are times (like today/nowadays) when I am unable to make up my mind towards exactly what I want to do.

And then there are times when I am pretty much clear of what exactly I want/need to do, but I am unable to follow it through – from a commitment point of view.

I lack commitment more (not always though) than making up my mind.

I am going to get over this (I am not going to “try” it, I “will” get over this).

I’ve got a few things going on – personally(pertaining to just me, not my wife/kids/parents/relatives – just me – “personal”), professionally, family wise, financially etc – and I believe I am going to be “making my mind” on some of these things in about a week (or a “focused all-night-er” – perhaps tomorrow, may be…) and then I would be committing myself to the actions required for those.

Both of these things are extremely difficult.

  1. Making up your mind to do something (planning)
  2. Committing yourself to do those things (executing the planning)

Execution has been a bigger issue for me, yet, and I am going to eliminate this issue – by executing my plans the way they should be.

What are the things that I believe are needed for:

  1. Planning : Clarity of thoughts, written-down thoughts (prefer hard-copy version, if soft-copy is your thing then go ahead with that), revisit the thoughts every few days/weeks, bridge the gap between your “family persona” and “official persona”, bring your love for family to your work(not company), and bring your love for your work(not company) to your family, think more, give yourself “phone-free” or “distraction-free” time – daily, read what you “think” you are going to “plan”, be more focused, give attention to detail, be competitive, be fast, be faster, be more efficient, talk more, share more, feed your mind more, do not “indulge” in entertainment, do not be addicted to anything, be flexible, be strong and not rigid, be courageous and not bounded, be free, think more(yes, this is repeated, because it is important – THINK MORE)
  2. Execution: Will!

I lack(ed) will, hence the lack in execution, and I am catching up to my will… I still fail and falter, and I shrug off the problems every now and then by doing merciless introspection – I don’t make myself a fool, and I expect very high level of “common-sense” from myself during those introspection sessions – which usually kick-off with “Yes, Mr. JD, what the f*ck is going on?” and the answers start like “Well, you know how *something* is happening/about-to-happen, and I think believe I must do this *something* with more focus, commitment and will”

Well – that’s a lot of stuff for a post that I thought would be 2 lines – I guess that’s what 3.30 AM does to you… removes the brakes of the thought-train, and it doesn’t stop… you have to jump out from the running train (missing on a lot of unexplored venues if you would have stayed on that train… but you are scared that you would never want to jump if you continue to ride…)

Funny thoughts!