Reflections At The (More Than) Halfway Mark
It’s been a while since I’ve written anything. After a long time of not working on this site, I start to forget how to actually update and use it. It took two hours this morning for me to figure out how to get the date to update on my last post that talked about my first web application. Ha!
Alas, here I will reflect on my life and journey through Launch School over the past 9 months. It’s been crazy! There’s so many things that Launch School has taught me, so I might actually create seperate posts for each course and use that as a way to review material that I haven’t seen in so long. For now though, I can simply list them all with a brief overview.
I think about a year ago I finished course LS170/171 - Networking Foundations. That was an interesting course because we got to see just what constitutes the “internet”. It’s made up of a bunch of layers, each with their own levels of responsibility. They can all work together because of a concept called “encapsulation”. Basically, each level does their own thing and passes data to the next layer. The layers don’t need to worry about what the other layers are doing, just as long as they do their job. Obviously, it’s way more than this and I’m just generalizing about the layers, but I will definitely write more about this later on because wow, there’s a boatload of information in this course. It had my head spinning when I was starting to learn it all, that’s for sure!
After that I created my first web application using Ruby and Sinatra, as part of course RB175. It’s called Gardener’s Journal. I wanted something that I could use personally, to keep track of everything that I plant. It was fun! I could easily spend hours without stopping on putting together an application. It was challanging but rewarding and after more progress is made in my current Javascript courses, I hope to put together another one, this time in Rails.
Now comes my favorite course: LS180 - Database Foundations! For whatever reason, I LOVED learning about databases. They’re freaking awesome. It’s amazing to see piles of information and data stored and neatly organized in some type of table. In my opinion, this was one of the most enjoyable courses for me. I feel that most if not all software jobs have to utilize databases in some way, so it’s critical to learn about them in school or on the job. Also, there’s a few different ways to write queries. I don’t think there are many rules or anything when it comes to crafting a queries, it’s all under a few general ‘actions’ you can do with data. There’s queries that deal with the table definitions themselves, then queries that actually deal with the data. You can select, update, insert, or delete things. That’s all there is to it. I recently applied for an engineering job (that I did not get), and one of the interview challenge questions was to write a query that selected department ids from a list of departments. A second table held employees, which department they belonged to (by department id) and their id. I had to create a table that had these columns: department id, count (the number of employees in this department), and sum_of_salary (the sum of all the employees salaries for each department). They had to be sorted by department id in ascending order. Without using a lick of SQL in the past 6 months, I figured that before this interview I should review the SQL book from Launch School. Lifesaver. I didn’t even finish reviewing it before I attempted the challenge. I was surprised how much came back to me in the moment. After about 3 tries, I got it. And I couldn’t believe it. That was my proudest moment for me in all of the interview, and it was the one I most enjoyed. I can actually put what I learned into practice in the real world!?! I was rejected from the job, but walked away feeling really good knowing that I could do something. Anyway, more on this topic later.
LS202 - HTML/CSS is the course that comes after LS185 - Database Applications. This part will be short because I never actually finished the course. Oops. In fact, I never got past lesson 2. For whatever reason, my brain cannot comprehend and understand the Box Model. Maybe I was having a bad studying week or something. In any case, I pushed forward to Javascript and never looked back. I heard that we’ll be using HTML/CSS when we get closer to the end of Core, which deals with Asynchronous Javascript and the DOM. For now, I will keep it in the ‘To Do Eventually’ list.
This brings us to recent times. A few months ago I completed (and aced) JS210 - Javascript Foundations. Ruby took me almost a year to get through (after a few failures). This course only took me about 2 months total and I was surprised how fast I was able to pick up Javascript. It’s different in the front end however (at least in the Ruby track) in that the first Javascript course is only the written test, while the interview is saved for the course after that, LS215/216, which is where I am today.
This course will take me a while to get out of. Interviewing is not my strongest skill. My nerves get to me and I panic when I cannot figure something out. I know, I know, I should be better than this. But still, you’d be surprised. Talking - Coding - Thinking - Trying not get stressed and freak out - Interacting with the interview - all this while trying to solve a single problem in 40 minutes? While making sense of everything?! It’s hard to do. In fact, I wish this was stressed more during school. Yes there’s 3 interviews up until this point, but for me, I feel like I need more practice at it. But I’m wondering, will the job be like this? Will I ever be in a situation at work where I have to do all of this, but the difference is that I’m paid to do it? It’s not really even about the solution itself (although it’s very important obviously If you can find a solution to the problem), but about the path to the solution. They want to make sure you can communicate with them and talk to them as you’re thinking and coding in a clear and coherent manner. I don’t think they’ll be impressed if you think you’re saying words that make sense to them, but in reality you’re just babbling and mumbling you’re way through as you push forward towards a solution. They also want to make sure that you cover all edge cases and create test cases that solve the problem in its entirety. How would you solve this problem on a white board or a piece of paper, without thinking about it in terms of code? That’s the part I struggle on. It’s difficult for me to seperate the code from the algorithm. I want to make sure that my algorithm can work in code, but also that my code will actually work with the algorithm. I don’t think that makes sense :). In any case, this is something I will be practicing every single day until I get better. That’s all there is to it.
interview
During all of this, I’ve had to stop my studying for a bit to apply for jobs. It’s crazy how fast your life can change in a day. I no longer will be a full-time student. Instead, I will be working part-time (or full-time if I can work up to the hours) and studying part-time. My initial January 2022 deadline for the Spring Capstone Cohort most likely is not reachable anymore, but it’s completely okay. If anything, waiting until March is probably most realistic, if not then Fall 2022. The most important thing here is learning all that I can from Launch School and leaving with many skills that I never thought I’d have before in my life. I truly enjoy what I do and I can’t wait to learn more.
And with that, I will leave it at this. I hope to learn my work schedule this week so I can quickly establish a new routine. That way I can study, work and find time to write more on tech topics. It will be good review for me and hopefully, maybe, help someone else out there too.
Thanks for reading!
Subscribe to my newsletter
Read articles from Felicia Bacon directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Felicia Bacon
Felicia Bacon
I am a full stack software engineer from College Station Texas! My languages are Javascript, Ruby, and Golang!