A long swim in a vast ocean π π π¦ π¦
I wrote my first line of code ever in October of 2017. I did so while going through a tutorial on Khan Academy - playing around in a browser based editor - using JavaScript - drawing shapes and round smiley faces and googly eyes - and filling them with color.
That is how I jumped into the ocean of programming.
Photo by Anastasia Taioglou on Unsplash
Maybe a month later - at FreeCodeCamp - I learned some HTML and CSS. Enough to build a small web page. For the challenge part of the curriculum - after a guided tutorial - the assignment was to build a single page tribute website - the subject being someone living or dead - famous or unknown.
This is what I built π€
Next came learning the basics of programming in Python.
I had read somewhere that Python was a good language for people first learning programming.
So, JavaScript and web development took a backseat for a time - while I struggled with some coding exercises - without context or any real visual feedback outside of the Python REPL in my terminal. I did not know about Flask or Django at the time - nor did I really understand what a βbackendβ was, either.
Soon I became frustrated with understanding where code blocks ended and began with Pythonβs strict indentation syntax - so I switched back to JavaScript and itβs curly brace syntax.
Eventually, the frustration with Python wore off and I decided to give it another chance.
This went on for several months - a time which included learning some Bash - as well as Git and GitHub.
I had no idea what kind of programming I wanted to focus on.
The world of programming is huge - and I knew so little.
I had an idea that I wanted to learn the craft - for a variety of reasons including:
- To make a better living
- To find work that I could truly grow with
- To have more and better professional opportunities
I wanted work that I enjoyed and that offered me satisfaction - including the ability to do it anywhere in the world and at basically any age.
My job at the time was not offering me those things. And I knew that I enjoyed programming - difficult as it was.
Figuring out what would be my focus - the part of the vastness I would truly master - was like asking: βWhich neighborhood in Paris would you like to live in?β
I have never been to Paris. I speak two or three words in French. I do not have any friends living in France. I have no freakinβ clue about which neighborhood suits me.
Photo by Rodrigo Kugnharski on Unsplash
I still donβt, actually π
Programming was like that for me for quite some time.
I just kept cruising neighborhoods, talking with people in each one, reading a lot about what I was seeing, checking everything out.
Eventually, after two years or so, I settled on the arrondissement or district of web development. I was narrowing it down - albeit slowly.
More recently, I narrowed my vision down even further to the frontend of the stack. That is where I get the most joy and sense of accomplishment when I complete a task. For now, anyway. I am always open to evolving. But for now, I call myself a frontend web developer - and I happy to be focusing on that side of things π
Closer to DRY land π π
I wrote my first lines of React in a coding bootcamp - but I did not fall in love with it until after bootcamp. My own experience in bootcamp was that it was such a fast paced, stressful environment ( particularly at the beginning of the COVID 19 pandemic ) that I felt we only had time to go into the surface of the React library and ecosystem - during the few weeks we worked with it.
Like Vim, React has a pretty steep learning curve in the beginning, in my experience. We spent several hours on Day 1 learning class based components - and I spent that evening practicing class based component syntax and trying to grasp component lifecycle methods - then we immediately switched to hooks and function based components on Day 2. What made it even harder is that I did not have experience with ES6 Object and Array destructuring or with ES6 module syntax.
Learning React without a solid base of understanding for object destructuring or module imports and exports is like scuba diving at night without a light π¨
TIPS FOR PEOPLE ENTERING CODING BOOTCAMP:
Learn ES6 syntax and understand the differences between server JavaScript environments like Node and the browser based environment. I did not get that until bootcamp and I could have saved myself some grief by learning it before the 12 weeks started.
Also, I would have been well served to have become familiar with Promises and async code.
These things confused me to no end during bootcamp and I felt 1000% better about JavaScript and React when I became comfortable with the concepts.
It got better π€πΌ
Post bootcamp, though, I am head over heels in love with React π
And I am making it my home for the foreseeable future π‘
Photo by Jessica Pamp on Unsplash
React is a wonderful library. And the community that has built up around it is brilliant and full of energy.
The world of React is only one island in the Frontend JavaScript archipelago - but for me it is a rich island and one that I intend to explore until I know every inch of it.
Commiting myself to the React ecosystem ( including Next.js, Gatsby, and the incredible number of libraries that have been built around the concept of the React component ) is like finally being able to stand up in the water of a island beach and walk toward the shore.
And this island has beautiful things on it. It has natural resources with which I can build all sorts of wonderful and practical creations with.
I am far from alone on this island.
Which, to me at this point in my journey as a developer, is very comforting. Especially after having been swimming in a huge ocean for a long time prior to touching sand.
Some Good Neighbors π
The React ecosystem has amazing creators contributing to it on a daily basis.
In no particular order:
These are just a few well known, accomplished and influential participants.
But there are many, many more - and many satisfying moments to be had.
There are some amazing resources out there to thoroughly learn React.
Including Kent C Doddβs Epic React course - which I am currently working through and about which I will have far more to write about in future blog posts.
Glad to Be Home π
Every programmer should eventually find the things that they want to dive deep into and become expert in. The ocean of knowledge is just too vast not to.
Sometimes I read a bit about other solutions for building user interfaces - such as Vue or Svelte.
I have no doubt they are wonderful, also, and maybe I will devote time to learning and using them in the future - particularly if I am employed by a company that is commited to them.
But for now I am going to stay on the island I am currently on and really take advantage of the dry land.
A programmer has to find their focus and walk on sand eventually ποΈ πΆπΌ
I have learned, perhaps the hard way, that I certainly do π