JavaScript 30 – Day 4

Array cardiooooo! Thanks to Wes, I can say I got some cardio in today, because goodness knows I didn’t get a jog in. 😬 I digress, let’s talk about all the array methods!

Overview

Array methods were the star of this day. Map, reduce, sort and filter were used to manipulate some predefined data, each one getting a little more challenging.

What I Learned

While I have been exposed to all of these concepts, including destructuring and arrow functions, I have only extensively used map and filter. Since those were at the beginning, I was doing pretty well. Even the first sort I did fine with. Then reduce I came to a screeching halt as I have only used it a handful of times.

Biggest Challenge

The sort and reduce array methods for sure. Reduce more so than sort. I need to get a lot more practice in with these methods until I can visualize them in my head like I can with map and filter.

Future Iterations

I think the best way to iterate on this in the future is simply to revisit it and test my skills. See how far I can get without watching any of the video. Then see how far I can get without looking up documentation. I can’t remember the last time I looked up the map method because I use it so much and know it well. I want to get there with all the methods.

JavaScript 30 – Day 3

On day 3, which I did last week and am late writing this, I got to play with css variables!

Overview

Day 3 was all about manipulating the elements with variables. We used a base color that could change with a color picker, a blur effect, and spacing for our image. These variables were changed with inputs.

What I Learned

I’m almost embarrassed to say this because I have been using css for nearly 15 years, but I have never used css variables. It’s always been one of those things in the back of my mind that I need to learn them along with SCSS or LESS or something. That always seems to fall to the wayside for learning something else, usually with JS or a framework.

Logically I know that learning these tools will save me a ton of time and make my styling code so much cleaner. Mental block I need to put on my goals and dive in, I suppose. No harm in letting go of old ways that might not be best suited anymore.

Biggest Challenge

This lesson didn’t have a lot of great challenges in it. There wasn’t anything too complicated with the JavaScript, and I know CSS incredibly well. If I had to pinpoint a toughest part for this lesson, I would say it was my own typos getting in the way. We all have those days as developers, ammiright?

Future Iterations

I’d like to play with more variables in the future. Add more to the site or see what else I can manipulate. Change the fonts, etc.

JavaScript 30 – Day 2

Back with an update for Day 2 of the JavaScript 30 course!

Overview

Today’s lesson focused on a simple clock using JavaScript to get the current time and css to transform the hands.

What I Learned

I don’t have a list of things for you today like I did yesterday. It was a fairly straightforward assignment. I did learn that when adding style.transform to the element, it’ll overwrite the transform properties you set in the css. It was an easy fix since I only had one transform in the css for the individual clock hands to make them distinct from each other, so I added those to the end of the dynamic transform.

Biggest Challenge

The biggest challenge for me today was playing around with how to get the hour hand to display more accurately between numbers on the clock. When I first did the math, the hand was at 3, and then only moved to 4 when it turned 4:00. That was more jarring than I wanted it to be, so I had to figure out how to make it a better ratio.

Future Iterations

The hour adjustment I made mentioned above is not all that pleasant still. In the future, I want to transform the clock to be super smooth instead of more like a tick that I have now. Not sure what challenges that will take, to be honest.

One other idea I had would be to create one of those clock walls with all the different time zones where my friends live scattered about the world.

Conclusion

Today was another fun one that took less than half of my lunch to complete. It was a quick, easy win that reinforced concepts I haven’t touched in awhile. I don’t use transform with css all that often, but I like the strong possibilities out there for uses.

JavaScript 30 – Day 1

Hello, hello!

It’s Day 1 of the JavaScript 30 course.

Overview

Today’s assignment is building a drum kit. The starter code sets you up with the sounds, a fancy background and keys, the css with transitions already in place, and your job is to make it function.

What I Learned

I actually learned quite a bit today! Not a whole lot in JavaScript, but that’s only one aspect of being a developer.

First, I challenged myself to use my terminal to set everything up and not rely on the GUI directory system. I set up my own repository, cloned Wes’ for the starter code, and needed to copy the directory for Day 1 into my own repo. I have only copied files before, never a directory, and today I learned that using the -r flag will make that possible.

Second, I learned the semantic HTML tag <kbd> to use for keyboard input from a user. I’ve never come across this tag, and it made me curious to go through and quickly browse all the tags again. I didn’t spend a lot of time here, but A11y is super important and the more you know, the better it is for everyone.

Third, Wes mentioned keycode.info as a resource he likes to use to find out what code each key is represented by, and this is so fun! Much better than googling a table.

Fourth, I had seen data-* attributes before, but I had never looked into them. Wes quickly explained that they are used to embed custom data in a semi-standardized way. You have to use data- and can then follow it with any lowercase string. You can then access that in javascript like you would css attributes. Super cool.

Fifth, I had worked with the audio HTML tag before in very basic application, but never looked into the object properties I only added in controls previously as an HTML attribute. There are a whole lot more functions I’d like to play around with.

Sixth, and last I’ll list, I promise, I only ever played with transitions in css. When they ended, they ended. Never occurred to me that you could be able to listen to the transitions using JavaScript. Of course, that seems obvious now. When Wes was going over it, I wondered about animations, too, since I have that on my Want-to-Learn list this year, and he mentioned that (again, of course) you can listen to animations the same way! Huzzah!

Biggest Challenge

Today wasn’t all that challenging. I didn’t think it would be, given that it’s the first day and if he made it difficult immediately, interest would wane fast.

That said, I did try to challenge myself by doing as much as I could before watching through the video. I didn’t have a ton of time today, but I would pause before he wrote any further code and try to guess where he was going next. I would then compare what he was doing with what I had thought of.

Considering today was a bunch of event listeners, I didn’t stray from what he was thinking.

Tomorrow I’ll leave myself more time and complete the exercise by myself, or at least until I get stuck, and then watch through to the end for his full solution.

Future Iterations

To improve upon the project and continue to test my skills, I want to add options for sounds. The drums are fun, but what about switching it to a piano? Or a guitar? Or a harmonica?

How difficult would it be to add tracks? I’d like to set the option to use an extra key to set the play to repeat, and give the user the ability to speed up or slow it down after putting the sound on repeat.

I suppose, ultimately, I’d like to take the project from a simple drum kit to a fully functional recording keyboard.

Conclusion

Day 1 was a lot of fun, and it really got my developer brain thinking. I’m looking forward to Day 2 and what else I’m going to learn, not just about JavaScript, but all the other useful skills to pack away in my bag as a developer.

JavaScript 30 – The Refresh

Hey all!

It’s been a while, huh? Quick catch-up: I graduated from LaunchCode CodeCamp, surpassed my goal of getting an apprenticeship in March by getting one in January, and since then I have worked as a VueJS developer for the last two years.

Things have slowed down for me a little bit at work and life in general, and I have been feeling the need to really bring it back to the basics. The past two years, while fantastic, have been at such a fast pace that I haven’t had the time to really master much. I’ve learned a ton, have kept my head above water, and grown tremendously as a developer, but now it’s time to get better.

On a recent episode of Syntax (ep. 424 New Year, New You. What to Focus on in 2022. Go give it a listen!), Wes mentioned his Javascript 30 course and it was like the sky opened and sunshine rained from the heavens. Except that it was miserably cold in Florida and overcast and rainy and the complete opposite, but I digress.

I decided to pick up where I left off three years ago on his course: At the very beginning.

Yup, that’s right. I never even started on it back when I was gobbling up resources doing audacity’s Frontend Nanodegree and totally overwhelmed. Now, I’m ready to test my chops and see it through to the end.

I’ll be making a blog post daily on my experiences, so follow along with me! If you want to start and haven’t, or if you want a partner to go through the course with, hit me up!

LaunchCode CodeCamp

It’s been a few months since I’ve updated on what’s going on. Moving was tough. We’re still not unpacked, not even a quarter unpacked. We’ve had so many projects just to get our home functional, that it’s been truly exhausting navigating the work around two young kids.

After the initial move, I started a preliminary job search. Mostly to see what was available in the area and the knowledge/skill expectations. I’m close, and maybe I could get a job, but I would have to be very, very lucky.

In my search, I stumbled upon LaunchCode. They have an apprenticeship to place talent without traditional CS backgrounds in dev positions. I applied for that, had my interview, and during it was recommended that I apply for their women only CodeCamp.

I applied, I got accepted, and I am in the throes of the second week. I’m so excited to be learning python, refreshing on JS, and diving deeper into Java over the next couple months.

Right when I was starting to doubt myself, this basically fell into my lap with nearly perfect timing. I scrambled to get my kids in daycare to make this work. You can bet I am working my butt off to get the most out of the content. I want to create some projects with some wow factor. But mostly I want to impress myself, that I am worthy of the dev role I will get.

Every day I walk into class, I am floored that LaunchCode puts these boot camps on for free to give opportunities to better the lives of people like me. I’ve been on this journey forever, feeling like I’m floundering, but now thanks to LaunchCode, I feel grounded. I feel like possibilities are within my grasp, and I won’t let them slip me by.

Making the step to a professional dev is going to vastly change my family’s lives for the better, allowing all of us to reach or dreams in so many ways that weren’t possible before.

My goal is to be placed in an internship by March. That gives me a full two months after the camp ends to really buckle down and find something. Ideally, it won’t take two months, but I also want to find the right fit where I can continue to grow and learn.

Keep an eye out here. I’ll be updating on my progress and projects. 😉

NightMares

The very first project I worked on outside of coursework was a website for my dad’s company. I was really proud of what I came up with, but then he decided to abandon my design because he thought a WordPress theme looked stellar. What can ya do?

I got another chance at a website for my husband’s friend, who has an audio book of 12 short horror stories. I had humongous plans for this site!

However, realistically, I can’t implement all of them right now. First, I need to coordinate with the last person who hosted his site. Second, I need to do more research to make sure my ideas aren’t going to cost a ton of precious load time.

In the meantime, I created a one-page site design I’m pretty proud of. I didn’t get fancy with javascript or anything (yet), keeping it strictly HMTL/CSS based. I have a good grasp on flexbox, but have not used CSS Grid yet, so I thought, “Why not learn now?”

Honestly, I don’t know why I was so hesitant to learn Grid. It’s great! I still have media queries, but they aren’t the headache of earlier days.

Another new-for-me item I incorporated was the HTML5 audio tag. I have plans to style them more uniform with JavaScript instead of relying on the default control of the browser.

This was an enjoyable project, and my client loves it. He can’t wait for it to launch. I have plans to look into SEO to really round out his launch.

Until it’s live, you can check it out on github.

3 Reasons It’s In Your Best Interest to Hire a Stay At Home Mom

My position isn’t unique. I’m not the first stay at home mom who is ready to jump feet first back into the workforce. I’m not even the first who has worked hard to gain new skills to jump into a better career than the one I had before kids.

Over the several years I have been home raising carbon copies of myself, I have been learning how to code. It started with refresher courses in HTML and CSS to get my motivation and ego primed. Then the hour JavaScript crash courses to learn the basics. I discovered freecodecamp and went through their lessons. I took a 24-hour JavaScript course and got certified. Then, finally, took a full frontend course through Udacity.

From where I started, I feel an incredible sense of pride that I have enough knowledge I could hold my own in a junior dev position.

Getting that first dev job, as anyone trying to break into the industry knows, it is not going to be easy. Competition is fierce, I don’t have a Computer Science degree, and, as of writing this, I have only two freelance sites under my belt.

But what else do I have? What sets me apart from the competition? My soft skills.

In the midst of surviving early parenthood, I have been honing many desirable soft skills for years. What do SAHMs have to offer? A ton!

1. Problem Solvers/Creative Thinkers

SAHMs are faced with hundreds of problems a day. They are hit with unreasonable demands by tenacious negotiators hourly. We’re quick on our feet, can come up with dozens of solutions in minutes, and are resilient in our quest to find the right answer to make all happy. It can get incredibly stressful amidst the screams, tantrums, and even meltdowns, but we meet every challenge with compassion, kindness, and endless patience.

2. Time Management

No one can deny that SAHMs are incredible jugglers. Our to-do list is constantly growing, but we never let it defeat us. We know how to prioritize, multitask, and change tactics for maximum efficiency when needed. We have learned how to see three steps ahead, and we act accordingly.

3. Organization

Even if we live amongst chaos and disorder, our minds are steel traps of order. Lists, notes, schedules, names, appointments, etc. We’ve got it all covered. We have our own systems, honed with experience and time, that make us, in my incredibly humble opinion, basically superhumans.

There are so many more qualities we possess, but these blanket the main assets we’d provide to any company.

As SAHMs, we make tough decisions, perform under pressure, and have incredible inner strength to keep calm and cool. We know how to get things done fast and efficiently. The gap of work on our resumes in no way means that we haven’t been working.

Who Is Katrinka?

Hey.

I’m Katrinka. Nice to meet you.

Besides trying to throw you off from the get-go with an extra k in my name, and then an e instead of an a in my last name, I promise, I really am easy-going.

I’ve been teaching myself how to code since I was about 12. Since I like icebreakers that embarrass, and I do realize I’m dating myself with this confession, I’ll tell you my interest began creating pet pages with Neopets. Anyone remember that? Come on, raise your hand. I’ll keep your secret. I know I can’t be the only one.

Anyway, moving on. My road to code has been filled with many detours, u-turns, and sometimes full on stops. I attended a tech-focused magnet program my freshmen year of high school, but then transferred to a collegiate program the year after. Being the head-strong and know-it-all teenager I was, I decided I had a great grip on the world and changed tracks to focus on a degree in journalism.

In no way do I regret that. Writing is my very first love. Some of my earliest memories are of me creating elaborate stories and books from construction paper. I loved to create my own poems for greeting cards. I have self-published a book about zombie dinosaurs and have about 15 unfinished or unpolished novels collecting digital dust that I swear I will get back to one day.

Through a need to eat in a down economy post-graduation, about 10 moves in seven years, and taking care of my family, I have been studying code on and off a little at a time.

A few years ago, I got the opportunity through a grant to study JavaScript and a beginner Java course. I spent months studying. I didn’t pass the Java certification test by 6%, and I was devastated. I called my dad to tell him the results, and he said, “I can’t believe it. That’s not like you at all.”

I took a break, decided to focus more on JavaScript instead of Java. Get more acquainted with Object Oriented Programming and then go back to the certification exam. I was stretching myself too thin while trying to take care of my daughter, and pregnant with my second daughter. Mom brain is really real, okay?

That’s when I found out about the Grow with Google Scholarship through Udacity. A chance at their Frontend Web Development Nanodegree? You bet your tuchus I wanted that opportunity! I was about to have two daughters who needed to see that their mom could do absolutely anything if she put her mind to it. And I needed to get back to being a person, something separate from my sole identity of “Mom”.

It had been a couple months after I applied, and yet another move (my husband is a contractor. We move a lot), so it took me by complete surprise when I opened an email one morning saying I was awarded the scholarship.

A fire was lit inside of me, and I knew this was a sign that I was on the right path. Something I have been going back to again and again for over a decade, and someone out there believed in me enough through my application to award me a scholarship.

I flew through the course as it was mostly HTML and CSS, which I love, (I wanted to complete it before my child was born because I could not imagine doing this with a newborn), struggled on the final project (a pixel art maker made with JavaScript), but ultimately came out feeling like a champ. I. Coded. That! ME! Someone could actually use this to make art!

The first part of the program ended. Only 10% of the initial recipients would move on to phase two — the full nanodegree. I wasn’t sure I had done enough. I wasn’t sure how I could have done more. I truly gave it my all.

Well, I already spoiled it for you, but I was selected for the full nanodegree! I am constantly working on believing in myself more, and this was yet another lesson along that vein.

Here I was with a newborn and a toddler, my husband working close to 80 hours a week, no family or friends around to help me with childcare, and six months to complete this massive program where almost everything was going to be brand new to me.

I was in shock. And terrified. How on earth would it be possible for me to complete this?! 12 hours a week was the suggested dedicated time to complete the course. 12 hours?! A week?! I was struggling to find 15 minutes to shower.

I’ll spare you more theatrics, but through persistence, baby wearing, incredibly late nights, gallons of coffee, many tears and hours of frustration, and one great friend (who is worlds smarter than me. Seriously. Basically a literal rocket scientist) I met nearby who was also in the program, I did it! I completed the program with one day to spare!

Mentally exhausted, I took a break. The holidays were upon us. We took a vacation to Seattle to visit my best friend. Her husband works for Microsoft, and over the course of the week, he gave me the best pep talks anyone could ask for. I did know enough to pursue this as a career. I needed to stop letting imposter syndrome get the best of me, because, being honest, it’ll probably always exist. And I needed to keep learning. Keep coding. Keep practicing.

I extended my development break for a bit longer. My husband got a contract in another state, but only for a few months. Full-time parenting with two littles completely dependent on me didn’t make for the best environment to learn new techniques.

There are definitely parents and moms out there who could tackle that. I am not one of them. No amount of motivational quotes in the world could get me to try to complete projects when I literally could never get a break.

Things are still as busy and hectic as ever, but at least I have my husband back, if only on the weekends, and I can scrape together an hour or two to get some work done.

This is going to be my little corner of the internet where I put my ramblings, my breakthroughs, my projects. It’s to document my journey, so I have something to look back on and actually see how far I have come.

So, who is Katrinka? It’s me. This is one snippet of who I am, but the part of me I want to focus on. I’m truly always happy to hear from you, so by all means, feel free to reach out to me about anything, anytime.

Love,

Katrinka Joy