So you want to become a “coder” Clark Wilkins 2023.03.13
This article, written for my son Sean, is a 2023-adapted version of my thinking on how to approach training to become a web application developer, something I have been doing professionally for more almost 30 years. I emphasize the 2023 aspect, because, quite frankly, everything has changed with the advent of ChatGPT3. I am certain that it will no longer be necessary to master the backend mechanics of Javascript and REST-based APIs, as was necessary in my own experience, because you can, for the first time, get very high quality and usable advice on basics. The path I am going to describe here is how to become a developer — not a code mechanic (aka “coder”).
There are two basic areas you want to focus on before you branch into learning any framework (such as React which I will discuss below).
For the entire “backend”, and again for React, you have to have a basic understanding of Javascript. I recommend the excellent Ultimate Javascript Series. Work through the videos and tutorials here carefully, because (almost) all of the documentation you are going to deal with is going to use these structures (with some variation for TypeScript, JSX, etc.) Here, you want to focus on the following:
Second, you need to have a good grounding in how to format your displayed results. I would recommend another of Mosh's courses. (Disclaimer: I never viewed this content, having learned organically over decades.) Here, you want to focus on:
This actually has two parts: managing a database to store data, and an API server to interact with that data. I prefer to use PostgreSQL for my storage, and Node/Express for the API server. You might be able to get a hosted setup for using both of these services, but it's much easier if you get an installation on your own laptop — in that you can run a “sandbox” locally and tweak/test things anywhere you want to work. Mosh's course goes over the setup pretty extensively.
I spent more than 20 years in PHP, writing all my own interface code, but I am now solely working in Node and React. Again, Mosh Hamedi has a great course on starting with React 18 that will get you going. The thngs I would really emphasize as important are:
With the current generation of AI, especially ChatGPT3, a lot of the burden of lower-level coding can be eliminated now. Once you have the pre-requisite knowledge (above) and can ask an intelligent question, you can work out “difficult” coding questions via a simple question and answer session with the AI.
For example, I asked “How do I sort a Javascript object by keys”, followed up with “now reverse sort it”. I got this loop which I was able to use in my code, almost verbatim.
“Conversations” like this are now saving major time in my development, and they compensate for all of the little, but important, nuances I missed when learning Javascript. The point here is to learn enough to know what to ask the AI, let it do the “grunt” work, and focus on the user experience (and equally the UI performance). For me, going into my fourth decade of web development, this is the single largest game-changer (React is a close second), and I strongly encourage anyone wanting become a “coder” to take this path, and focus on the parts of development that AI can't do, like creating a smooth, beautiful, and intuitive user experience. Anything mechanical, like writing code as shown above, is already a dead career, and you don't want to invest any time in it.
POSTSCRIPT