What an interesting adventure this has been

Nick Black
4 min readFeb 13, 2021

The class part of this boot camp is over. All that remains is this blog post, my capstone, the job prep course, and graduation. It’s been a very interesting set of challenges. I hope I have picked up enough along the way to make a real go at this. In a very short amount of time, I will trying to find and land a new job to kick off my new career in this field. I can already feel that imposter syndrome creeping in. So I can only hope that I find my work showing that I’ve learned enough to fight it off. That I am a web developer and worth someone hiring me.

I’m not going to talk more about what I’ve learned this week. Since this week feels more like what I’ve learned over the last 4 months. At the end of things, it easier to look back at the whole picture. I’ve almost made it to the peak of this particular mountain and I can see the valley where I started below me. But now it’s time to take all those things I’ve learned and put them into practice. Not just leave them behind but use them as my tools to climb to the next peak.

bind(), call(), and apply() are all methods that set the this keyword. bind() is probably the most commonly used one of the three. When used with function that calls upon a variable with data, it locks in the use of this to that function locally. Otherwise, it will be called at the global scope and not work properly. call() work similarly except that it binds this inside the function and calls it immediately. Both bind() and call() can accept additional arguments as well. apply() is executes immediately like call() but takes an array of arguments instead.

Code organization is something that I feel I will be working on for a long time. I do my best to put functions, variables, and event listeners where they are supposed to go in a document. And I am working towards keeping a better file structure of how to store multiple files. But as I keep learning, I often find that I don’t always do it the best way. I may do it in a way that works for me. But if another developer goes to work with my code one day, it may not be how they expect to find it. So I keep looking and trying to learn the best way to keep things organized. Hopefully other developers do the same for the day I have to open their files.

Dependencies are something else I’m still learning the best practices for managing. Right now I have a good grasp of installing them through npm. And I’m getting a good grasp on checking and updating versions when needed. But beyond that, I have a lot to learn still.

React.cloneElement() function can create a copy of an existing element that can have new props and children passed down to it. The use of this.props.children is a very useful way to pass along a set of props down to all of a components child elements. It can be used in both a stateless and stateful component where there is information or methods that it’s children will need access to.

My creation process is still pretty fluid. Especially when I don’t have a defined layout or design I’m trying to recreate. I try to follow some organization rules about writing out a flow chart and creating a wireframe. And while these are very useful, I still find myself building parts and playing around with them until I like the way they look. At least on the design side of things, I still try to keep the push and pull process I’ve used for so many years already. But that don’t lend itself well to the backend or even the JavaScript side of things. That side is less forgiving and more structured. While I am free to change how things look on a page, I must figure out how they work and keep that.

In class, Lane had brought up a great example for the differences between functional and imperative programing. His example said that functional programming is like going into a bar and asking the bartender for a beer. The bartender runs a “function” to complete the task and hands you a beer. But imperative programming is where you go into the same bar and ask the bartender to get you a glass, take that glass to the tap, pull the handle to start the beer flow, push the handle when the glass is full, then bring you the glass. It’s the difference of giving your program a series of functions that accomplish the task or telling the program every step, every time. As far as myself, I feel like I’m somewhere between these two right now. I’m working towards becoming a more functional programmer. But sometimes, it’s just easier to tell it what to do. But the more I code and learn other language, the easier creating better functions is becoming.

Pretty soon I’ll be looking back on the last few months and that crazy time I decided to change careers in the middle of pandemic. And hopefully I’ll be looking back and being thankful that I did. Only time will tell at this point. But I’m excited to see what will come of this. Web development as an industry is something that I’m not unfamiliar with. But it is something I’ve only touched upon in the past. And it’s changed quite a bit since then. But getting on board with it could be the fulfilling rollercoaster I need in my life. For now, let’s see what tomorrow brings.