Posted in Uncategorized

Out of focus

The cold that’s been developing for the past few days has finally knocked me over. I’ve got meetups all week that I’m going to try to drag myself to, but it’s a struggle to focus on anything at the moment.

Some good news though:

The co-founders of the maker space I visited yesterday have asked me to work on a project with them. They currently have a live web-feed of their space and want to add a new feature: using a Raspberry Pi, they want to keep up-to-the-minute track of who is in the space at any given time. This will allow members to check the list online in order to see if there’s anyone in the space that they’d like to meet up with. It sounds like a fun idea and I’m excited about the opportunity. I’ve never worked with a Raspberry Pi before, but I’m getting giddy over the chance to. Plus, this will be a good opportunity to learn new things, expand my skills/resume, and meet some cool people.

In other news:

I talked to the man yesterday about the other volunteer project that I was interested in working on. My plan today was to spend much of the day looking over the APIs they’re using and the code he sent me, but my illness is making that difficult. Regardless, I think I may be in over my head with his project. I’m going to be upfront with him about the fact that I’m a junior dev and there will be a considerable learning curve. I’m eager to give it a shot and help in any way that I can, but I worry that his expectations of me are too lofty for what I can actually deliver.

Posted in JavaScript, workshops

JavaScript Promises

Today, I attended a workshop about JavaScript Promises. I had used promises once before, without really understanding them, and I definitely wasn’t at a point where I could explain what they were or why they were necessary. Today was helpful, though I think I’m only one inch further along in my understanding.

In order to reinforce my own learning (and maybe help some other newbies out), I think I’ll recap the skills that I tackle each day and try put them into easier-to-understand terms.

What is a promise?

JavaScript is “single-threaded”, meaning that multiple tasks can not run at one time. Each task runs sequentially, one after the other. Unfortunately, this means that if task2 relies on information returned by task1, it might run task2 before task1 has returned anything, causing task2 to return undefined.

For example: If you want to edit a user’s email address, you would first have to search for that user’s information. So, you’d query the database (task1), looking for a ‘user’ whose current email address is johnsmith@fake.com. Then, we’d want to wait for the database to return John Smith’s information. Unfortunately, JavaScript doesn’t know how to wait for the database. Since JavaScript has completed it’s job with task1, it’s going to move on to task2 even if the database hasn’t returned the information that we need yet. When task2 runs, JavaScript will get to the bit about our ‘user’, and have no idea who the ‘user’ is, since it didn’t stop and wait for a response in task1.

This is where the “promise” comes in. It essentially acts as an IOU. JavaScript runs task1 and says, “Ok, I know you asked me for this ‘user’ thing. I’m going to do my job and ‘.then’, whenever I hear back from the database, I’ll remember that you wanted something called a ‘user’.”

Still confused?

Maybe I am too…but not quite as confused as I was before I took the two hour workshop. The instructor (a T.A. from Fullstack Academy) was very helpful. Though I felt bad that I was the only one of the 12 RSVPs to show up to the workshop, it certainly was nice to get one-on-one instruction in this. He recommended I watch this video to strengthen my understanding of why promises are necessary:

Additionally, this site does a much better job of explaining promises than I did:

https://scotch.io/tutorials/javascript-promises-for-dummies

To view the tutorial exercises, check out the forked repo:
https://github.com/jepetersohn/promises-public
The solutions are in my branch.

Posted in Uncategorized

First day out

Sitting at a coffee shop in the Merchandise Mart, trying to figure out how to get the most out of the (potentially) lengthy period of unemployment that I’ve just entered. It’s my first day after finishing career week with Dev Bootcamp. I’m sure I feel like most others in my situation do: optimistic, enthusiastic…terrified, overwhelmed. What if I’m not cut out for this? What if my passion isn’t enough to turn me into a quality coder? What if, during my period of unemployment, I completely forget everything I’ve just learned? What if every potential employer I encounter recognizes that I’m a huge fraud who’d never even heard of the command line up until a few months ago?

These fears are helpful motivators; I’ve determined to spend this period of unemployment keeping myself busy with code and finding ways to improve. One of the most important things I’ve learned during my time at DBC: Rather than comparing my current skill level to the skill level of others, I should focus on comparing my current skill level to my former skill level. When I think of it like that, I can be proud of the fact that I didn’t know what the command line was, and now its navigation has entered my muscle memory. It’s also a reminder that there’s always room for growth, and always more to learn. That’s what brings me to the coffee shop this morning: I’m waiting for a JavaScript promises workshop to begin that I found posted online. I’m a little early. Rather than following my first inclination to play games on my phone, I decided to use the time to follow the suggestion of others who had once been in my shoes: Start a blog.

After considering what the heck I should write about, I decided I’d focus on the new things I’m learning and the journey I’m going through towards making a huge career change. The journey from complete amateur who’d never heard of the command line to someone who is worthy of employment in web development.

Posted in Uncategorized

At the maker-space

Rather than sit on my couch and code, I found a local “maker-space” where I could sit around other people and code. Since it’s my first visit, I got a tour of their equipment. Side note: my transformation into a techy must be in full effect because I found myself genuinely interested in the gadgets they have (3D printer, Raspberry Pi – among other things I’ve forgotten the names of).

I sit surrounded by sawdust and power tools I’d be too afraid to use, while a few programmers sit around me and work on their own projects.

This is a great space!

Today’s agenda:

Hone my PHP skills.

The volunteer position I’m interviewing for this afternoon is built in Codeigniter with PHP. While I’m comfortable with the basics of PHP, I worry I’ll be in over my head taking on a large project built entirely in it. I’m working on preparing myself for the opportunity though.

—-

After a productive morning of PHP, Apache, and job-hunting, the owners of the maker-space invited me to join them for lunch across the street. It is admittedly intimidating trying to keep up with the conversation of people who, combined, have likely been programming for longer than I’ve been alive. It was great getting to know others in the industry though. Once I get passed my imposter syndrome, I could see this becoming a good niche for me – something I’ve never felt in other job before.