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:
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 π
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.
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.
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.
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 π
Thanks for reading!
Β Back to Home