Hey mate,
Sorry to hear you are having troubles.
First off you should have all the basic programming skills from your CS degree:
- program execution flow
- variables
- functions
- loops
- algorithms/ big O
- object orientation
- databases/ sql
You don’t need to know everything to be an effective programmer e.g.
-
map/ filter/ reduce
can all be done with a basic for loop… some languages like golang don’t even have them… -
Promise
syntax with all it messy nesting can be replaced withasync await
-
IIFE "modules"
can be replaced withimport / dynamic imports
-
getElementById/ tagName
ect can be replaced byquerySelectorAll().forEach()
which doesn’tthrow
when it doesn’t match -
if/ else
can be shortened with invertedif/ guard
clauses -
bootstrap/ floats
can be replaced withflexbox
andgrid
You will need to look up documentation:
-
few people know all of the API’s/ methods out there and how to combine them…
-
tutorials are useful for seeing other peoples code syntax, program structure and combining of API’s
-
seeing/ editing/ re- factoring the actual code rather than watching somebody else code it is better for learning
-
look up new and different API’s just so you know what they do
https://developer.mozilla.org/en-US/docs/Web/API -
when you go to build something new knowing what effective API’s/ methods exist that can achieve it is half of the the puzzle
-
MDN documentation and examples are quite often more comprehensive than tutorials (I’ve even seen some code copied from MDN or the Ecmascript specification)
Multiple files and tools are a part of development:
-
the problem with abstractions and libraries/ imports is that it’s hard understand what is going on under the hood.
-
If you don’t understand something, try to break it down/ re write it procedural style so you understand what it’s doing… (you can find breakdowns/ re-writes for different things out there)
https://www.youtube.com/watch?v=i793Qm6kv3U&t=1016s
https://www.youtube.com/watch?v=f2mMOiCSj5c&t=1369s -
Sometime having all your code in one file is easier to follow than jumping between files. I start with a single file and as complete sections and test them, split up the file …
There are plenty of different ways to do web development:
-
if you find React too complex and difficult to reason about try another framework or use Vanilla JS
-
try plain CSS rather than use Bootstrap
https://www.smashingmagazine.com/2022/05/you-dont-need-ui-framework/ -
for websites try Andy Bell’s Cube CSS and Every Layout
https://cube.fyi/
https://every-layout.dev/
CSS grid is also well worth learning -
for Apps sometimes a percentage based sizing and grid is better than flow type sizing used for websites…
Lastly try to focus on the type of job that you want:
-
some companies use graphic designers and the developers only need to know CSS basics like positioning, layouts and the cascade
-
If you want to do back end, try to find the easiest framework and focus on network requests/ API’s/ queries ect and SSR
There are a whole heap of different career paths/ options out there…
Just because Facebook made it doesn’t make it the right or only way to do things…
Who knows, the way Meta has been going lately maybe it will just be another Yahoo or AOL in another 10 years…