Dreams of Coding Solutions All Weekend

April 12, 2021

Good Monday morning. I'm a little tired today. All of my dreams this weekend were about the current problem I'm trying to solve at work in terms of getting scope added to a certain integration.

I feel like even in my sleeping and restful moments where my brain should be recuperating, it's filled with trying to find a solution or at least new ways forward.

It's kind of miraculous. Because even while I was asleep, I was somewhat conscious of my brain branching out in all kinds of different directions.

Well, I'm bent on finding my solution today. This morning, even! I'm visualizing myself wrapping up this section of work and putting it out into the world (fingers crossed)!

I'm interested to see and curious about what today will bring. There are lots of possibilities and as long as I keep making my way forward, I'll come to the solution.



The Only Way Out is Through!

March 29, 2021

Happy Monday! I'm looking forward to starting this week off on a fresh, clean slate.

I feel like last week I wasn't at my best, and it stemmed a bit from having trouble with my local development environment acting up and not working as well or as seamlessly as usual.

I made the mistake of getting down on myself about that and made it mean something negative about me and my skills as a developer. Thankfully, after talking to some of my teammates, I came to the realization that all developers of all levels face finicky problems with their environments at different points throughout their careers.

Just hearing that made me realize that it wasn't just me doing something wrong. So helpful and validating.

Another thing on my mind is that this journey is supposed to feel really hard and uncomfortable at times - especially in moments of true learning and growth. If you're not feeling at least a little uncomfortable (and let me tell ya, I'm feeling it!) then you're not giving yourself as much of an opportunity for growth.

So I'm reframing everything from this moment. The only way out is through, and I'm here for all of it.



Always Chipping Away at Finding that Balance

March 22, 2021

Ah, this weekend was definitely one of those sloooow and relaxing weekends meant for total reenergization.

Over the past couple of weeks, I've been feeling like I've been pushing myself in all areas of my life without necessarily being on the lookout for working too much or spreading myself too thin.

Thankfully, I've been becoming increasingly aware of it and have been able to take some conscious steps back as a result, before I tread into more dangerous territory where burning out is the next logical outcome.

What this looks like is taking inventory of all of the things on my current plate, planning and managing around those, and (most importantly) *not* taking on any other tasks or responsibilities in the meantime - no matter how small.

I think my first reactions tend to be 'Oh, yeah I can do this' or 'I can definitely manage this,' but then I have to stop and remind myself that taking on any sort of extra responsibility means actual time taken out of my actual calendar.

In other words, if I continue saying yes to things, I continue to fill up space within a limited container (my calendar) until a certain point where there's just not enough time for balancing work with rest.

On my mind over the next week:

- continuing to learn and doing my best at work
- getting ready for a new developer cohort with the Collab Lab
- a big project I've been working on (and will share soon!)
- living slowly with my family in my non-work time



Got Myself into a Pickle Last Week!

March 15, 2021

I got myself into a pickle last week at work!! It was one of those "you have to make the mistake to learn from it" kind of realizations, and it's because I'd bitten off much more than I could chew when it came to the number of PRs I had open at a given time.

The work I've been working on recently involves implementing a new design that was created for the emails the app sends to users on any given event (i.e. confirm account or forgot password, among other things) and I was working on about three different ones.

However, my mistake was starting new PRs when I still had another one that wasn't merged yet. Because the thing is, when you have multiple works in progress, you don't realize how much the production code is changing each day with new code being merged from other teammates.

So the moment you go to work on one project or PR, you realize that the code you started writing has maybe been completely changed and then you run into all sorts of merge conflicts.

Thankfully, it's gotten me better at not being as intimidated of conflicts (because let me tell ya - I was scared of those before!), and it's definitely become easier to navigate them on my own and actually now what I'm doing and what's going on.

With the help of a teammate last week, I was able to unravel myself from the fiasco I'd created (where I just didn't know where one file started and another one ended!) and by the sheer grace of God (and Git!), I was able to get my head above water again.

This week, I'll be focusing on only one thing at a time - especially since it's going to be a pretty eventful week.

Yay for making mistakes and learning from them and ultimately becoming better than we were yesterday!



Two Months into Software Engineering!

March 11, 2021

It's been a little over two months since I've started my career as a software engineer, and I'm so unbelievably convinced that this was the ultimate move for me.

Yesterday, I was thrilled to wake up to a wonderful article that was written about my journey teaching myself how to code in 2020 and making that transition.

Here's a little excerpt:

'“I feel like I’m at the start of this amazing adventure. And there are so many different avenues to take or doors that can be opened,” Morton said. “I’m here. I’m doing the work every day. I’m in it. And the opportunities are endless — that’s how it feels."'

Feel free to give it a read here >>

At work, I'm working on coding up the new designs for the emails that are sent from our Rails application. I've been learning a ton about ActionMailer in Rails, MJML formatting for email code, and setting the email to send at the right time.

It's really exciting stuff for me! As always, I'm taking it step by step and even when I'm faced with a big mountain of things that I don't quite yet know how to do, I always fall back on the solution of breaking everything up into smaller steps and working my way down the list.

Soon enough, the bigger picture starts to make more sense and before I know it, I have a fully polished bit of code ready to be submitted and reviewed!



Debugging: What's the Simplest Explanation?

February 26, 2021

Friday already, this week really flew by, yada yada yada (the usual post intro words to get the writing flowing...)

It's Friday and we're here, doin' it live. I've been working all week on solving a bug, and I finally found a solution for it yesterday only to realize that the fix warranted a mere 10 characters or so to the changed file.

Yet again, I need to keep this idea in mind that the likely solution to any problem or bug is most likely the simplest solution you have on hand.

And yet, we don't think about that right when we go into investigation mode on a bug, do we? I think, for me, I gear myself up to do a deep-dive and learn everything I can about why something is happening to be able to really scope it way down and isolate the issue.

But once I do that, I think I need to ask myself, 'Okay, what is the simplest explanation and most straightforward approach to fixing this?'

Maybe it's not investigating how a certain instance variable is carried throughout the entire application's architecture and creating new functions to manipulate different variables.

Maybe it's just making sure to parse a variable to an integer and move on with your day.



How to Keep Your Cool When Solving a Tough Coding Issue

February 22, 2021

Happy Monday! Last week at work was excellent - I really feel like I was fully able to give myself the time and space to explore, investigate, and solve a few tough-for-me code issues, and that was a great feeling!

Something I was super conscious of during my time figuring things out was how supremely *unpleasant* it can be to feel like you're right on the cusp of figuring something out only to try a different solution and not have it work out.

From there, it's easy to spiral down into frustration and driving yourself insane by trying different iterations of the same ultimate solution over and over and over again with the same result.

So, during that time of resisting the spiral and opting instead for pushing forward, I also took a few notes that could help other developers on whatever problem is currently stumping them.

1. Get back to the basics of your problem.

I think when we're working through a tough issue, it can be easy to Tarzan-swing from post to post on StackOverflow with the hope of finding the perfect solution. While doing this can definitely help from time to time, and we might in fact find the perfect solution - I'm finding that this actually takes me further and further away from the most efficient way to find the solution.

Getting back to the basics of your problem means making sure you're understanding every single word of the story in the Trello card that was assigned to you or every single word of the GitHub issue or every single word of the helpful hint your teammate or manager gave you on your pull request.

More often than not, the right direction can be found right from those words, so get back to the basics and circle yourself around those hints before going on a StackOverflow scavenger hunt in the hopes that something (anything!) will miraculously pop out at you.

2. Read the docs.

If you're using another bit of software or an open-source tool within the code you're currently investigating, read through the documentation for a helpful hint around what your solution could be.

I don't think I'm the only developer guilty of just skimming a few parts of any documentation before throwing my hands up in despair and whining about there not being an appropriate explanation.

Really read the docs of any tools involved in what you're working on. Chances are - there'll be some helpful hints there to add to your investigative journey. Set yourself a 15-minute timer if you have to just to focus on truly reading through the documentation.

I promise - it helps.

3. Ask questions.

As junior developers, I think it can be easy to get stuck in this weird limbo of not wanting to ask questions, and then thinking we should ask questions but then feeling a strange anxiety that you'll be criticized for waiting too long to ask said questions, and then it's just this cycle that has gotten out of control and no one's the wiser.

If you're really stuck, and you're driving yourself crazy in the meantime, ask for a hint. Your teammates will be happy to give their input. And you'll be a bit less frazzled.

4. Take breaks.

One of my favorite lines from Mad Men (and believe me, there are so many to choose from) is when Don tells Peggy "Just think about it deeply and forget it. An idea will jump out at you."

Sometimes too much focus can be, well, too much. Try working on something else or stepping away from the code for a bit. Don't worry - your brain will still be churning away in the background, but you'll be able to calm down a bit more and then come back feeling refreshed and wondering why there's an idea jumping around in front of you.

5. Celebrate your success!

Once you find your solution - and you will - celebrate your hard work!

That sheer rush of dopamine is what everyone's talking about when they say that coding is the best thing in the whole world. It's that crushing frustration paired with the soaring euphoria of solving your problem.

Before moving on to your next thing, stop and celebrate and feel proud of yourself. You did it and you overcame those obstacles.

Plus, it's important to cherish that rush of happiness before starting all over again and going through the same hurdles as before.



Hope this helps! I think it's good for juniors, but I suspect it could also work for developers at any level since there are always challenges to solve and overcome, no matter what.

Cheers!



"How can I communicate this as clearly as possible?"

February 18, 2021

These weeks are still passing by so quickly! I feel like I'm on a spool of thread and it's spinning and spinning as the length of loose string gets longer and longer.

(Does that even make sense?)

I'm starting to really find my rhythm at work with picking up stories to work on and giving myself the time necessary to truly think about, plan, and work on finding solutions.

I'm working, too, on finding the best ways to communicate to make things easier on my teammates. I think, especially as a junior, it's as important as ever to really try to take the perspective of whomever you're writing or communicating to.

Just as, during the process of searching for a job opportunity, you want to put yourself in the shoes of the interviewer and ask yourself 'how could I present this or myself in a way that I'd be too interested to overlook?' - it's important to do the same thing in a collaborative context.

Doing this looks like "How can I make myself or my question understood as clearly as possible without the need to go back and forth constantly?"



The Recipe for Coming Up with Great Coding Solutions

February 15, 2021

Looking forward to diving into another week of work! I'm going to be taking on a slightly bigger investigative bug in the code as a project for this week.

I feel simultaneously excited and nervous about it. But overall, it's going to be an opportunity to grow my skills. And plus, what's a little bit of discomfort?

We had a wonderful sync last night with our cohort for the Collab Lab. I feel like I always learn great things from the developers and mentors on our team.

We talked about the importance of taking the time to read and understand certain issues that need to be fixed in the code before jumping in to solve them as it'll save so much time and frustration.

And this is something that's so applicable to any developer at any stage of their career or expertise.

Taking the time to truly understand the scope of an issue at hand - writing things down, asking questions, planning out your strategy, getting input from your teammates - is truly a recipe for success on coming up with a great solution.

Looking forward to keeping this top of mind this week as I carry out my own work!



What If All Our Best Ideas are Just the Tip of the Iceberg?

February 11, 2021

I bought a domain for my latest project yesterday - can't wait to unveil it. The idea that all the ideas I have and have had are only the tip of the iceberg is such a fun and giant one!

What if all the great ideas I've had thus far in my life are chump change compared to what I'm capable of and what I'll be able to bring to the table for the rest of my life?

That is an amazing thought and I'm so fired up and inspired about it!!!! What if all of my best ideas in the past were mere pebbles compared to the ideas I'm bound to bring into the world in the future.

Ah, I love that!!! I love ideas! It's certainly a lifetime's pursuit, and I'm along for the ride.



What's On My Mind Lately

February 10, 2021

Not terribly much to report today, just continuing to go through the learning and working motions! It's a fun process, but sometimes it can be more of the same, so here's a bit of an exposition of my brain in its current state.

Things on my mind today:

1) Really excited to continue working through my current GoRails tutorial and building a mini-clone of Buffer with Ruby on Rails. I'm loving learning about and getting more comfortable with the overall Rails framework, and I can't wait to really get good at it!

2) Getting better at separating work-time and relax-time - I just feel like this will always be a work in progress haha, but I am definitely getting better at turning off my computer after work and spending my time relaxing, reading, crafting, embroidering, catching up with loved ones, or anything else that doesn't require too much screen-time.

3) Currently reading The Vanishing Half by Brit Bennett and this line stuck out so much and brought tears to my eyes last night:



"Oh, you don't even know. If I could go back, I'd do everything different."

"Like what?" she said.

"Oh, everything." He turned back to the mirror. "This big 'ol world and we only get to go through it once. The saddest thing there is, you ask me.



Okay. Onward to a great day! Take advantage of it. Be unapologetically yourself. And watch the world open up for you.



A Test-Driven Take on Learning

February 9, 2021

I've been steadily working through my Ruby course for work (it's Learn Enough Ruby to be Dangerous with Michael Hartl), and it's really great. I'm loving the video learning with the subsequent written explanations of the same content as it really helps me dial in each lesson.

I try to spend at least an hour on that each morning when I start my workday, and I'm proud to say I have just two chapters left of the 10-chapter course! Yesterday, I was so excited to go through the lesson on Test Driven Development, especially since I had a bit of a crash course in the application side of testing just a couple weeks ago.

I'm so glad I got that experience of really being challenged with testing before actually starting the learning process from scratch - kind of like jumping into the water without knowing how to swim but getting yourself to safety and then subsequently learning the techniques of swimming from the very first levels.

Actually, the way I'm even learning about testing now is kind of meta in that I tried it out first, failed a few times, got myself to pass the test of learning how to test however I could, and now I'm learning the actual techniques for it and am able to refine and refactor my own methods.

Whoa. I think I may have just broken my brain a little bit with that realization!!!

Anyway, within the course, I think the only sections left are a chapter on Shell Scripts and then a build-along type of project.

One step at a time, always! I committed to doing a little work on the course each day, or almost each day, and look at that - we're already almost to the end!

Along with the Ruby course, I've also simultaneously started going through a Rails tutorial on GoRails - we're building a Buffer-type application where we can schedule tweets. I am really loving it!!

This, again, is similar to being thrown in the deep end with trying to navigate a production-level codebase and then getting back to the very basics with a tutorial built from the ground-up.

It's an amazing way to learn - it's really challenging, and at times frustrating - but I'm feeling that the lessons are being reinforced in such a powerful way!



Digging in to Objects and Classes in Ruby

February 4, 2021

Hello! Yesterday, I made my way super slowly through doing a deep dive into learning about classes and objects in Ruby.

(I typically spend a couple mornings each week working through a course on Ruby.)

Thankfully, I now consider myself to be pretty good at understanding when I should go more slowly and opt for a deeper understanding of a topic (i.e. it’ll be worth it to spend more time on it now than breezing through it), and this was one of those situations.

It definitely helps, too, that I’ve been able to recognize much of what’s going on in since 1) I’ve seen instances of it (more advanced) in the codebase at work, and 2) I'm able to make the connections from having already learned JavaScript.

I try to spend an hour and a half or so on the course at least three times each week, and yesterday's session was seriously just *one little section* of that particular chapter.

And I’m not mad about it at all! Because I can honestly say I have a fuller understanding of it than I did before. Onward!



Showing Up for Yourself Along Your Coding Journey

February 1, 2021

Happy Monday! I'm over here pondering the process of achieving a goal or dream (i.e. just my normal everyday thoughts lol). So here's what's up:

Once you start in on the journey to achieve a goal, don’t stop until you get there, no matter how long it takes. That’s the secret.

Don’t go fast. Instead, go far with small actions every single day over a substantial amount of time. If you haven’t gotten there yet, that just means you’re still on the train and you haven't arrived at your stop yet. Stay the course. Everyday.

We plan and plan and plan for something big and amazing, and it feels great to plan it all out, but then as soon as it comes time for rubber to meet the road, all those good feelings we had when planning go out the window, and we're met with resistance in the face of getting to work.

I was on the phone with my dad last night and we were talking about this same subject - about how people generally love the idea of how they'll be at the end of the practices or the work or the showing up day after day to eventually get them to a point of practiced perfection.

But the problem here is that too many of us get sucked into the fantasy of how it will be at the time of the peak performance (the destination or result) that when it comes time to practice (the journey), it doesn't feel as glamorous or exciting as the final result, so we just don't feel motivated to do it.

And then we sadly don't get anywhere.

Because the work and the practice and the showing up always, always precedes the results and the main performance.

Showing up to practice and working on our skills when we're not at that peak-ready level is precisely the right time to do it.

We shouldn't get down on ourselves for not already being at that level when we haven't given enough time to our practice and our journey.

Get to work. Everyday. And before you know it, your peak performance will come without you even realizing it because you've been showing up for the journey as the champion that you are.



The Importance of Slowing (Way!) Down as a Junior Software Engineer

January 30, 2021

I learned a ton this week at work. Seriously, a ton. And I loved every minute of it.

Well. I loved every minute of it *in retrospect*. During the week (and even the past month) it's been a bit of a rollercoaster. But I do love rollercoasters so I've got that going for me.

This week, one of my major wins was working on my biggest coding push to date (in the context of my new job) and it was a refactoring of several bits of code.

Along with the refactor itself, I was writing tests in the corresponding spec, and I seriously had *zero* experience writing tests.

Regardless, I took each task as it came. I submitted my code changes for review in GitHub and moved on to another task as I waited for the helpful review comments to come back with further hints in the right direction.

I pored over the comments and corrections and caught myself when I'd jump a little too quickly at making the changes - before fully and completely understanding the reasons behind the corrections.

*That* was a big shift from this week, actually! Stopping myself and not letting myself move forward on making further changes to my code before understanding every single word on the code review. Not only that, but not letting myself advance before I could potentially explain the reasoning to someone else regarding why a change was being suggested.

There was a certain magical moment when I consciously caught myself jumping straight into the code without fully understanding it, and I made myself restore the files, go back to the PR, and read the comment twice through, three times through, four, five, six more times through - until it finally clicked.

And that's the way it should be, too. I was so wrapped up in getting the code written and the PR merged that I wasn't slowing myself down enough to truly understand it.

But this is exactly what I mean when I say that we usually need to slow all the way down in order to actually go so much faster.

The act of me submitting more code changes that I didn't understand ran the risk of doing it completely wrong and spending more time than necessary going back-and-forth yet again with the code reviews.

On the other hand, slowing myself way, way, way down, reading through the corrections and suggestions several times through, and clarifying the suggestions in my own words ended up putting me on the right track and getting the PR approved and merged that much quicker.

This is such an exciting time, right at the beginning of this career in software engineering - I really feel like I'm drinking it all in and that every single moment at work is a chance to learn something new or take a lesson one level deeper.



One Step at a Time, Always

January 28, 2021

I say this all the time, but if we just keep taking those small steps forward, one at a time, we'll arrive at our goals at some point.

It's not a matter of if, but when. It's not a matter of "Well, if I keep taking steps in this direction, I might improve my skills."

It's actually, "If I keep taking steps in this directions I will absolutely improve my skills, I just need to stay with it, even if it takes a longer time than expected.

And that's super powerful!

I recently responded to a tweet by CodeNewbie asking: What have you done today to get you one step closer to your dreams?

And I responded: Calmly set aside any internal overwhelm or negative self-talk, made myself a list, set a timer for each item individually, and intentionally/mindfully worked my way through each task.

Because, honestly, that to me is the only way to get closer to your dreams. We can make all the grandiose actions in the world, but if we do those once every so often - even if they're larger in scale, they'll never win out over those small (even tiny!) actions every single day that end up compounding themselves into something we aren't even presently capable of imagining or visualizing.

Kind of like a penny (tiny!) that doubles itself every single day until it reaches a million dollars in what seems to be a crazily short amount of time.



First Impressions of Test-Driven Development (TDD)

January 25, 2021

Today I spent two and a half hours pair programming with a teammate who really helped me with a big (for me) refactor and walked me through a session of writing tests on an accompanying spec (or test file).

We covered the basics of Test Driven Development (aka TDD, and also something I feel like you hear about all the time as a self-taught developer, but literally never have the opportunity to learn or use, so I’m grateful to be learning about it now).

Basically, you need to write a test before you even write your function, and you need to get the test to pass by the simplest means necessary. Like, really basic “get the function to return true by literally returning true in the function” kinda thing.

Once your tests are passing, that’s when you can go ahead and start widening the scope of the function by writing another test to check and then writing the corresponding code to ensure that *that* part of the test passes.

Interesting stuff and definitely something new to get used to!

In any case, I can see how powerful it’ll be as I continue to use it, but for now, I need to keep practicing and writing tests.



Keyboard Drama & More Setup Mayhem

January 22, 2021

Happy Friday! I got my new work laptop this week - so great!

I'm low-key kicking myself though, because I've been spending the last year on an AZERTY keyboard (a computer I bought here in France) and now I have a QWERTY keyboard (I made the mistake of wanting to switch back to American-style) and now I feel like I'm learning how to type all over again!

I wonder if it's possible to be "fluent" in two types of keyboards at one time? I'm sure it is, but I can feel the gears grinding in my brain going from one keyboard to the other. This is such a strange conundrum lol.

Anyway! It's Friday and yesterday I spent a solid chunk of time debugging some gems on my computer with my team. Ugh!! I was frustrated to have to put them through that, but I guess it really taught me the importance of following set-up directions in the first place, rather than making assumptions and striking out on my own.

For example, I'm pretty sure I installed the latest version of Rails on my computer, which is a different version than the one our app uses, so there was a mess of incorrect dependencies floating around everywhere.

In any case, I'm very grateful for my team and their patience and support, and I'm ready to hit the ground running today!!

P.S. I'm *really* leaning on setting a timer for myself this week on each individual task and *only* focusing on that. There are just too many tasks floating around and I need to organize myself.

Highly recommend that timer thing if you're feeling like you're swirling in a storm of to-do's that you're just not getting around to doing.



Not Being a Good Friend to Myself

January 20, 2021

Friends, I'm in my third week at my new job as a junior software engineer and it still feels great! But I'm having one internal issue, not altogether unexpectedly.

You see, I'm conscious of my brain trying to tell me that I'm not making progress as quickly as it thinks I should. It's so strange and I'm aware of thoughts throughout the day that make me feel like I'm underperforming and don't understand everything that I should.

But the minute I start to realize that, and especially when I ask myself "Would I treat a friend like this?" I start to come back to reality a little bit.

Like, of course freaking not! I'd never pat a friend on the shoulder and be like, "You know, you really should be comfortable with the entire codecase of a new organization, and have successfully learned a new programming language (Ruby) and architecture (Rails) in a matter of two and a half weeks. There, there."

That would be insane! And now as I'm writing this all out, I'm kind of laughing at myself and getting back to reality.

I had a great chat with a teammate yesterday who definitely also helped pull me back down to the ground and reminded me not to be too hard on myself.

Why do we do this to ourselves? I wish the default thinking could always be positive and erring on the side of reassurance, but that's just how it is.

In other news, I received my new work laptop yesterday! Excited to get my local set-up up and running (round twooo!) again. I'll probably spend a good amount of time on that today, and then I'm also in the midst of doing an interesting (everything is interesting right now!) refactor with another teammate.

The thing to remember is that even if we're not feeling like we're making progress on a daily basis, that daily work will be compounded over time.

When I take a moment to actually recognize the progress I'm making every single day (instead of irrationally putting myself down), I'm already leaps and bounds ahead of where I was when I started.



Saving Creative Work for the Weekends

January 18, 2021

It's Monday and I'm ready for another great week!

I spent the weekend resting and relaxing, overall. We went for a lovely walk out in the countryside on Saturday, which I always love to do. I also worked a little bit on some creative projects I have going on at the moment.

Actually, it's been really interesting because I've been having to push working on said creative projects over the weekends because I've been trying to conserve as much mental energy as I can for my job.

When I give myself that weekend-constraint, I feel this awesome sense of anticipation and excitement for digging in to the projects instead of feeling otherwise overwhelmed if I were to be pushing myself to do everything every single day.

Also, we had our weekly sync with our cohort of this round of The Collab Lab (an *amazing* organization with teams mentoring early-career developers - check it out!).

Seriously, every single time I get off a call with my team, I feel so motivated and inspired by the work our devs are doing and the overall dynamic.

It's an amazing way to round out the weekend in preparation for a week of great work.

Here's to a productive week full of inspired work!



Prioritizing Tasks & Learning Ruby

January 15, 2021

Happy Friday! This week has honestly flown by for me - can't believe I'm already two weeks in to my new job.

Over the course of this week, I've definitely gotten a lot better at leveraging the hours in my day to figure out how to prioritize different items and tasks.

For example, during my workday, I try to spend a bit of time picking up the Ruby language (and will eventually move on to Ruby on Rails!) through an online course - and I've started to block out time right when I start to focus on learning.

If I start in immediately on actual work stuff, I find that the tasks seem to continuously add on to one another, and the to-do item that is 'spend some time working through Chapter 3 in course' gets pushed further and further down the list.

On the other hand, if I make it a priority to get the study time out of the way right at the start, it's something I don't need to worry about at all later on.

I'm currently learning Ruby through the Learn Enough online course. It's really good!

And I always heard this before, but now that I'm experiencing it, I know it's true:

Learning your first programming language is the toughest mountain to climb; and after that, for your next languages, it's definitely easier!

I learned JavaScript as my first language, and now that I'm learning Ruby, I'm able to see so many patterns and conventions that are universal across all languages.

Ahhhh, you love to see it! Have a great weekend, friends.



Getting Back to Single-Tasking

January 12, 2021

Good morning and happy Tuesday! This is the second week at my new job, and I'm happy to report I'm getting more and more used to being in the swing of things and routine and full workdays!

At the end of my days, I'm exhausted - but the good kind of exhausted. The sleepiness behind the eyes and the satisfaction of knowing you're in the right place and feeling like you did your best work throughout the day.

I've been trying to focus on single-tasking as much as I can. I think I've shared it before but I absolutely love this sweet article and reread it every time I'm starting to feel a little frazzled with anything, The Joy of Single-Tasking.

Endless context-switching throughout the day is exhausting, so if we can focus on one thing at a time, we should!



6 Key Takeaways for Your First Week as a Junior Software Engineer

January 11, 2021

Last week was my first week as a junior software engineer with the Orbit team, and it was incredible!

I made sure to take some notes of things I noticed during the week that could potentially help other early-career web developers both on the job and in preparation for that first job, so here goes!

1. You're not supposed to know everything

There are going to be things that your team asks you where you might not even know what the question means and that's OK and normal.

It doesn't mean you're not smart or that you don't belong there - it's just an opportunity to learn and to improve your skills.

Your team knows this and being upfront if you don't understand something will *also* help them explain things and get a deeper knowledge and familiarity with different concepts in the future.

It's all connected. You are not the outlying exception. You belong.

2. You're surrounded by others who've been in your position at some point in their careers

Every single senior developer started out in your shoes.

Understand that they want to help you develop your own skills. They're a major source of good information, so ask lots of questions!

Get out of your own head that you're asking silly questions - just do it and agonize internally about the silliness later on if you need to (but you probably won't need to!)

3. If you're confused, document and share your process

When working through a difficult process in the beginning, document and take notes. By doing this, you'll have a clear roadmap of where you are, where you're going, and where things might have gone wrong (looking back retrospectively).

I did this while getting myself set up locally, and it also helped my team get a closer look into the convoluted process - what worked, what didn't, and so on.

4. Have a strong bias for taking action.

Having a bias toward action is taking any action in your work and repeating it until told otherwise without the stress or second-guessing.

Assume what you’re doing is correct until explicitly given feedback to correct it.

You always hear that it’s faster (or easier?) to ask for forgiveness than permission; but in this case, I think it’s better to move forward on a hunch than to stay stagnant in puzzlement.

5. Try to do your best work before submitting for feedback

I actually learned this in my last job in customer support when I’d submit half-baked ideas, documents, and pitches to my manager or team. Those half-formed ideas and drafts can be pretty confusing for others to read (kind of like a flurry of thoughts whirring through my brain rather than an organized document that flows!).

It helps you by doing higher-quality work in the first place, and it helps your team and manager by saving time on the back-and-forth of feedback.

6. Understand that it's never *too* overwhelming

Consciously thinking the thought ‘I have too much to do’ or ‘This is overwhelming’ or ‘I’m slowing the team down’ will *literally* create that reality because you’ll stress yourself out and try to distract yourself from that stress, leading you to not getting a single thing done.

Shift your focus to something like ‘I can work on one thing at a time’ or ‘I can focus on one thing at a time’ and that will help you work your way down your list of to-do's.

________

There they are - six key takeaways from my first week as a Junior Software Engineer! If you take just one thing from this article - let it be that you belong and that this is only the start of an amazing journey. Take everything in stride, ask questions, and marvel at how quickly you get yourself up and running over time.



I Merged My First PRs at Work!

January 8, 2021

Wow, I don't know if you can tell from my posts this week, but I am *living*

Going through all the emotions, and yesterday was one of pure exaltation as I not only merged my first, but my first *two* pull requests!

Just small things for now (added myself to Orbit's About Us page and added a link to another page), but I'm seriously so keenly aware of how this is such a monumental moment in the beginning of my career as a software engineer.

While it's easy to brush these moments off as being 'just small things,' though, isn't it so much more magnificent to really and truly appreciate them as the more significant building blocks of a wild, new adventure?

I think so...



Local Set-Up: Check! (YAY!)

January 7, 2021

Felt so proud of myself today at work for finally getting my local computer set up for everything.

Although I did have a bit of slight anxiety about exiting out of the programs because I was nervous about not being able to set everything up again. But I think that's normal, and I'm just looking forward to when this all seems like second nature (it usually comes sooner than we think!).

I also made sure to fully document my set-up process - especially since I'm on Windows for the moment, the process is super convoluted, so I wanted to make sure that I was creating a roadmap for myself to be able to accurately retrace my steps (and at times, missteps).

That doc actually ended up coming in handy because I was able to also share it with my team for a closer look at how to go through the installation process on Windows.

Onto Day 4! Going to work on getting more familiar with Tailwind CSS and Eleventy today so that I can jump into my first official pair programming sesh (ahh!)



Running the Gamut of Emotions

January 6, 2021

Happy Wednesday! This has already been a long year (in a good way) and it's only the first week of January!

There's lots going on and at work I'm still getting everything set up on my local computer. The main issue I'm having is that I have a Windows laptop and won't receive my work computer for a couple weeks and we are having a *time* getting Rails and everything set up on Windows.

Yesterday I got more familiar with PostgreSQL and the Ruby/rbenv installation process when trying to install them on my computer. I can't wait to have everything set up completely and get to really move forward with the work and learning!

I was starting to really feel like a blocker yesterday because of how confusing everything was, but I was kind of relieved when my team also let me know that it is indeed a very convoluted process.

It definitely feels like I'm going through this strange challenge for the moment with my Windows computer, and then once I get set up with a new Apple laptop, it's going to feel much easier (fingers crossed, and also knock on wood because you never know!!)

Onward and upward! Reminding myself constantly: One thing at a time. And I can figure this out!



First Day as a Junior Developer

January 5, 2021

Gooood morning! It's Tuesday and yesterday was my first day with the Orbit team.

I still feel like I'm walking around in a daze of 'Is this real?' because I feel like I'm in such a perfect place at this point in my life.

Yesterday was full of getting organized and oriented with everything. I'm so excited to be working in a team environment again. I've so missed that!

There's definitely some re-orienting on my end with regard to having a more fixed schedule of when to be fully on and off.

Thankfully, the team is super flexible.

It's so strange to think that it's only been one day since starting. My sneaky brain will try to push more negative thoughts into my consciousness like 'You should know this by now...' or things like that.

But that's false! Anytime any feelings of overwhelm start surfacing, I calm myself right down by reminding myself that absolutely nothing has gone wrong and that I'm exactly where I need to be.

On to Day 2. I'm working on getting my local environment set up - fingers crossed I can get it all up and running this morning!

I'm also going to be learning Ruby, Rails, and SQL. So stay tuned for that!

I'm looking forward to documenting this experience <3



Feeling Magic

January 2, 2021

In this moment, it's 3pm on the dot and I'm sitting in the lounge chair with a fire on the living room TV. Thanks YouTube for the makeshift coziness.

I swear, it works absolute wonders. And I'm not just saying that because the lounge chair is also right next to our radiator.

I can't believe I'm going to start my new career as a Software Engineer in two days - on Monday!

It seriously feels magic. I can't really articulate so well what that means but I seriously feel like this is only the beginning, like there is so, so much to learn and to do and to experience.

It's that bountiful abundance you always hear about, but to feel it in your chest - expanding, expanding, expanding to the point where it feels like it might burst. And yet that bursting wouldn't be a problem or a painful moment, but instead as though you'd just continue expanding into the universe around you.

No limitation. No border. No barrier.

You'd just keep going because that's how life is. And the more you fall in love with it, the more you continue to keep getting out of it. The days that turn into miracles and the moments where you might just feel the need to pinch yourself because it's all so... magical.

And it's only the beginning. We're in it for the long haul, and this is the start (or, better, the continuation) of a very beautiful journey.



Wrapping Up 2020

December 28, 2020

This has most definitely been a whirlwind of a year, and I hope that you can take a moment to reflect on the amount of any progress you've made over the course of the last 365 days.

While it may not always seem like significant, groundbreaking progress day in and day out, I can assure you that any amount of effort you're putting in to learning how to code or improving your skills is pushing you forward in the direction of your dreams and goals.

I've taken some time to reflect on how I want to show up in 2021 - personally, professionally, and with Ladies Code Collective - and I'm enjoying the process!

It's an interesting period where I can feel certain ideas taking shape in my mind, and I'm confident they'll ultimately mold themselves into something quite amazing.

Wishing you a warm wrap-up of 2020, friend!



It's Official: I'm a Software Engineer!

December 15, 2020

I'm over-the-moon excited to announce that I've officially landed my first role as a Software Engineer!

I'm proud to say this has happened almost exactly one year from the day I left my last job in customer support with Scott's Cheap Flights!

When I left, I had the lofty goal of teaching myself to code and learning enough to be able to make a career switch to software engineering, and *I actually did it!!!!*

I'm so incredibly grateful to everyone who has been a part of my journey - from friends and family who've stayed updated on my progress, to peers and mentors I've met and leaned on for support over the past year.

Ahhh! It doesn't feel real! I'm so, so ready to hit the ground running and to get started on this wild, crazy, wonderful ride chapter of my new career!

To new beginnings and to dreams that ultimately become reality!



Confession: I Don't Know Where to Even Begin with Testing My Code

December 7, 2020

As I'm going through the motions of improving my coding skills each day, there's something that's always been on the periphery of my mind: testing.

Any job description throws it in. Discussions with well-meaning mentors and acquaintances drop the innocent assumption that you're correctly testing the code you run - you know, so that 'your linters dont' yell at you!'

But then I'm like, 'Whaaaaat?'

I'm not sure if I need to be testing my own personal projects or not, but I feel like it's probably a good thing to learn...eventually.

In the meantime, I found this great article, and it helped me start to at least make a little bit of sense of it all.

Any suggestions/recommendations/perspectives for a newbie tester are welcome!



Here's What Happens When You Give a Coder an Embroidery Kit

December 5, 2020

I'm sitting here on this lazy Saturday morning, working on my latest embroidery project. (In case you didn't know, I've gotten *really* into this new hobby over the past month!)

When I was just starting out with embroidery and learning the ins and outs of the different types of stitches, I felt like I was just barrelling through each design as a means to finish and move on to the next one.

What started as an almost-compulsive drive to complete each project turned into stress and tension - something that I never thought would come out of such a relaxing pastime???

But as I was working through stitching a series of flowers and leaves in my latest project this morning, I came to the realization that there's actually *nothing* dictating that I need to go quickly in order to finish it.

I mean (not saying I'm going to or anything) I could potentially work on the project for a year if I wanted to - taking care to get each stitch just right, watching videos of particularly difficult stitch techniques that I'm just not understanding from visual explanations of the technique, etc.

And then, of course, I thought about that in terms of my own coding journey and the adventure I've been on over the past year and a half.

I've touched on it a tiny bit in my last couple of blog posts, but I'm having the same realizations as I'm deepening my understanding of Redux and state management within increasingly more complex web applications.

Taking my time to truly understand something, and intentionally *not* moving on until I'm comfortable with a certain concept has proven to be the best strategy for improving my skills as a developer.

If that means stopping my learning for the day in order to come back the next day with fresh eyes and a fresh outlook, then that means it'll take me an extra day to move on.

And that's totally fine. Plus! It definitely beats the frustration of moving on anyway and then having to circle back way down the road to try to understand it again (putting us right back at Square One).

Honestly, taking up embroidery was meant to give my brain the occasional break from coding and constant learning.

But I'm actually delighted to report that what it's really giving me is a great dose of perspective and appreciation for taking all the time I need along the greatest adventure of my life (thus far).



Slow and Steady with Redux

December 4, 2020

Hi friends! I'm back after a bit of a delay (I need to get back on that daily-posting - or at least almost-daily-posting - wagon!)

I've been steadily making my way through my Redux course, and it's been really interesting making connections with state management patterns, etc.

(I'm also low-key very excited to see how the useReducer hook relates to Redux and actually be able to *fully* understand how that all works together).

Today, as part of the course, I created a little weather app that makes use of Redux thunk in order to make an API call to the MetaWeather API.

I'll probably fully launch it next week once it's all pretty and styled.

Big things coming! Cheers!



Spotify Project Idea Coming to Life in My Brain

November 23, 2020

Happy Monday! You know you're on to a good side project idea when you can practically feel your brain ticking away at it in the background all weekend long!

I may have mentioned the topic idea in one of my last posts, but here's the idea! It's going to use the Spotify API to create a sort of 'Morning Radio' playlist each day depending on the user's preferences of what they want to listen to each morning.

For example, I like to listen to the daily 5-minute NPR News Now podcast, so I'd add a new episode of that each day, and then maybe cycle through other podcast episodes (maybe on the shorter end so that it's not too much of one thing) - maybe a French news podcast that has the highlights of the day.

And then, sprinkled in between those 'talk'/podcast portions of the playlist, the app will choose random songs from those playlists that the Spotify algorithm makes for you based on your own unique music interests.

That's going to be the minimum viable product option for now, but later, I'd like to possibly see if I can make it into an actual mobile app using React Native and then be able to set a time on my phone for it to play automatically with alarm-clock functionality...

Ooooh! More planning to come!

In other daily news, I'm going to be continuing to work through my Pure Redux course to really solidify Redux (it's actually going really well, and I'm really loving learning about state management patterns!) as well as apply to a couple of job positions I have on my radar!



Redux, Rails, and A New Project Idea!

November 20, 2020

Hello and happy Friday! I've taken a couple days off, but I'm diving in again today.

I recently started in on Dave Ceddia's course Pure Redux to familiarize myself with Redux (I'd officially put it off long enough), and I'm happy to report I now have a working knowledge of its job with state management in apps! I'm looking forward to really solidifying my knowledge with it.

In other news, I've also started dipping my toes into Ruby on Rails! I think for now I'm going to focus more on working through and finishing my Pure Redux course instead of splitting my attention - but I can already tell that Rails is something I want to really explore and add to my skillset just by virtue of seeing so many interesting job posts that call for a React frontend and a Rails backend.

Lastly, whilst in the shower (of course), I had the idea for the perfect new side project idea! It's going to take the Spotify API and allow users to choose content for a daily/morning sort of "radio show" - like with songs and news clips from preferred podcasts.

So, for instance, I'd probably sprinkle in NPR daily news with some random songs from the 'Daily Mix' playlist that the Spotify algorithm puts together based on each user's specific music taste.

Oooh! I'm excited about that! But, of course -- first things first. Focusing on one thing at a time will get me further and faster!



Job-Searchin' (and a New Mini-Project!)

November 13, 2020

It's Friday and we're feelin' good, folks! I just had a wonderful informational interview and got a bit of clarity on which direction I want to head along my coding journey.

I'm in the process of applying to front-end developer jobs, and I'm actually surprised to find that the transition from constant learning and building to job-searching is very *not* intuitive.

It definitely makes sense though, since we use completely different faculties for each.

Regardless, I'm committed to keeping the focus on making connections and building relationships along the job search.

Hinging too much on any one outcome can become demoralizing and demotivating.

Plus! A lot of job postings I've seen lately for React developers also come with a helping of being familiar with developing with Ruby on Rails, so I think I might dabble into a tutorial today and start in on getting familiar with Rails.

I think it'll be fun!

Lastly! I built a fun mini-app this week: Reddit Dog! It's a React app that fetches data from Reddit based on the user-input of a type of dog.

It then sorts the top posts based on number of upvotes and displays the list on the app from highest votes to lowest.

You can check the project out here >>



Practice Makes Progress

November 10, 2020

Yesterday, I spent time re-working on a tutorial project I'd previously worked on Dave Ceddia's Pure React ebook - a shopping cart React app.

I always mention this, but I swear it's one of the best strategies for really learning new things from working on tutorial projects - but building up a project from a tutorial and then taking it all apart and rebuilding it helps so much with figuring out where our knowledge gaps are and then improving our understanding of coding concepts.

For example, yesterday's rebuild helped me get clearer with JavaScript's reduce method - which is just really complicated when you first look at it.

Working through a method in the tutorial with reduce and seeing exactly where things were going and why helped so much.

Spoiler alert! Reduce takes two arguments - the 'reducer' function, and the initial value that the function will add to.

Even just getting clearer on that helps so, so much!

This afternoon, I'm going to be working on building the a Mad Men-themed Reddit UI using React. Practice makes progress!



A Week Off From Coding Ft. Embroidery and Colored Pencils

November 9, 2020

Hi friends! It's good to be back on another blog post after taking the last week completely off from coding and pretty much from the computer itself. Felt great, especially once I realized I hadn't taken some true quality rest time in a while.

I'm happy to report that I spent a lot of last week (aside from being quasi-glued to the news) learning to embroider (which I absolutely love!!) and actually coloring in a coloring book.

It's like that episode of The Big Bang Theory when Sheldon takes on a job at The Cheesecake Factory in order to take on a different sort of repetitive job/task to give his mind room to work on more complex problems in the background.

(And yes, I *also* tuned in to The Big Bang Theory during my week off!)

So after stictching some flowers and plant scenery and coloring in complex patterns, I'm happy to report that I'm back and I'm ready to jump back into React projects and practice!



So You Think You Can France is Pretty Much Done!

October 26, 2020

My latest side project, a rebuild of my So You Think You Can France website, is pretty much done! Yay!

Well, it's at least a very viable minimum viable product (MVP), and I'm super excited about it!

One of the major positive points for me is finally being able to implement React Router into one of my projects. It was one of those things floating around in my peripheral awareness, and I finally took it on.

There are still a few administrative things to finish up with it - including adding in more blog posts and inputting more city guide data into Firebase, but for the moment, it's pretty much good to go!

The entire project was built with React, used Firebase Firestore to store the data - and it's deployed with Netlify.

You can check the project out here >>

Gotta think of a new side project now! I'm feeling a subtle nudge in the direction of a React Native project... Stay tuned!



A Little Break & Dream-Coding

October 22, 2020

Prescribing myself a day of rest from a certain tough problem I'm facing in one of my projects.

I'm building a React app but I want to use a third-party API to pull in data. The only thing is that I want to hide my API token, and it still ends up being shown in the 'Network' tab of Chrome dev tools.

I know I need to create a server that the app can communicate with and run a function server-side to return my API token, but the idea of that is breaking my brain a little bit.

A little break from that could really help, I think.

In other news, I had a dream that I rebuilt Twitter on my own, from the ground up.

Does dream-coding count as progress?



React Rebuild, React Router and Git, Oh My!

October 20, 2020

Happy Tuesday! I'm feeling good - I'm going to be rewriting my Ladies Code Collective (currently just HTML/CSS/JS) into a React app!

I'm really excited about it because I've been practicing and getting more and more used to React Router.

Also, I'll be able to successfully pull my podcast episode data from an API. I was just running into way too many complications trying to do it with a static ol' site.

Anyway, I just finished up mapping out my component/app structure (with pencil, paper, and highlighters, mind you!) and I'm ready to get straight to it.

Getting the structure onto paper first helps so much in just getting a clear picture in your mind - I love it.

So often, I get way too ahead of myself and want to start in on the code as soon as possible - only to inevitably come up against several early organizational obstacles.

Also! I consider myself to be very comfortable with Git, but the thing is - I only commit and push my code changes to the main production branch.

Starting now, I'm going to be pushing to development branches and merging from there.

Updates to come! Wish me luck!



Why Pivot When I Can Dive So Much Deeper?

October 19, 2020

I lied with my last blog post. The one where I said I might start in on the edX course CS50.

I started thinking about where I'm at currently and getting more and more comfortable with React. And then I asked myself - why would I pivot right now when I'm at the perfect point to go even deeper?

Why would I change direction from React to CS fundamentals when I ultimately want to get really, really, really good at React and front-end web development?

To that extent, I learned how to implement React Router in one of my projects today which was awesome! Especially after a lot of troubleshooting with not getting my views to show up even though the URL path was successfully changing.

The solution? Just adding an 'exact' before the Route's path. So simple. So satisfying when it was fixed!

Glad to be fully clear about it this Monday - why suddenly pivot when I have the chance to dive so much deeper?



Finishing Up Pure React and Musings on What's Next

October 15, 2020

Thursday - gray and rainy, yay! Just some random thoughts of the day.

Since I'll be finishing up Pure React today (just the last project of the ebook), it's time to start thinking about the next online course I'll be wanting to take.

And I think I'd like to start working on CS50 on edX. Similar to Pure React, I've had a few false starts with CS50 - always starting it but never making it past the second week because of impatience or Shiny Object Syndrome, etc.

Now, fortunately, I've found my project and course rhythm and know I can truly stick to it and focus on its full completion (I've been working on this habit for a while now, and I'm happy to say it's now well-ingrained).

The other thing pulling me toward CS50 is that it has a component/introduction to Python, which I'm quite interested in learning soon.

So, again, today I'll be finishing up Pure React and also reviewing the useReducer function, since it could help me consolidate some of the code in my So You Think You Can France side project.

I also want to look into the React Router documentation to also implement that into the So You Think You Can France static blog portion of the app.

Is today the day I finally add So You Think You Can France to my portfolio? The world may soon find out.



A Couple of Sweet Victories Yesterday

October 14, 2020

Yesterday was one of those days where you just feel like all of your learning struggles finally reach the top of the mountain and you start to see the beautiful view.

I love those moments when everything comes together and the answers to hard problems I've been steadily chipping away at start to reveal themselves.

Yesterday, I had a couple of those - which definitely felt amazing! The first was that I was able to successfully automate inputting a huge majority of my city guide data for my So You Think You Can France project with a very simple Node program. It was one of those things where you find a good-looking solution online, but you're a little nervous to try it out.

Well try it out I did, and I seriously felt like a magician each time I ran the program that input the data within literal *seconds* - ah, amazing.

Secondly, I finally figured out a tough newbie mistake regarding React and the props passed down to a certain component - and it actually allowed me to refactor that component down to 32 lines of code (from a whopping 175 lines!!!!).

Essentially, my problem was that I was passing down a different object as props than what I needed the component to handle, so my solution was to pass down the object property (i.e. city.travelIdeas as an array instead of just city as an object and then trying to access the travelIdeas property from the component itself).

Oh, sweet victory. I'm looking forward to adding my previously-written blog posts to my So You Think You Can France project in the coming days. It's really all coming together.

Anyway, today is Podcast Production Day for me, so I'm going to be steadily moving down the list of what needs to be done for that!



Serverless Functions Saved My Life

October 12, 2020

As I was clearing out my email inbox this morning, I came across the exact solution to my problem last week (when I couldn't figure out how to hide my environment variables without creating a server).

And that beautiful solution is a serverless function in Netlify!

And to think I was *this* close to deleting a Netlify marketing email with the key that unlocks this week's universe - dodged a bullet there!

So today's work is developing a serverless function that can access my secret API key (for my podcast website) and then be able to render the podcast episodes from the podcast host's third-party API instead of having to rely on hard-coded data.

Looking forward to it! And thank you to the several individuals who helped me out on my last dev.to post - this is truly a wonderful community of helpful folks!



How Can I Access Environment Variables in My Static Website?

October 9, 2020

Good morning and happy Friday! I've run into a bit of an issue - that I know I've solved before by putting a sort of band-aid solution on it - but I want to solve it fully now and I'm running into a bit of a wall.

Essentially, I have a static website running on simple HTML, CSS, and JavaScript. I'm currently fetching data from my podcast host API so that I can display podcast episodes without having to hardcode all of the podcast data into my own JS files.

Now, where I'm running into my issue is that I want to use an environment variable for my API access key in a .env file, but I can't use the 'require' function in my JS page because 'require' isn't available in the browser (I think that's what the issue is).

From where I stand now, I'm going to need to incorporate Node *or* I can rebuild the website as a React app and then install dotenv as a package and simply import it and the environment variable into my app.

I'd like to figure out the steps for adding it to my static HTML/CSS/JS site, if possible - but I'm not sure how to or even really how to phrase the question when I try to look it up.

Any guidance or insights appreciated!



Almost Finished Working My Way Through Pure React!

October 8, 2020

Good morning! Yesterday was good ol' podcast production day, so I wasn't able to get around to anything not-podcast related, but today I'm ready!

If you've been keeping up, I started working my way through the ebook Pure React about two months ago now as a means to finally wrap my head around React, once and for all.

I'd given myself six weeks to work through it; but lo and behold, here I am on Week 8, and I still have about 40 pages to work through.

And you know what? I'm not down about it. I'm excited! Whether I finish it up this week or next, I'm almost done and I've made *so* much progress in learning React and being able to build fully functional apps with it.

Feelin' proud of myself this Thursday morning. Onward!



Take That, Procrastination!

October 7, 2020

It's such an interesting phenomenon when we literally block ourselves from starting something because it seems like 'it'll take too long,' and that we're probably just better off skipping it altogether and doing something else instead.

Just now, I was totally dragging my feet at doing my morning reading/journaling/meditating that I try to do each morning.

And then I just told myself: 'You know what? No. I'm going to get all of this done in literally 30 minutes and then move on to the next thing.'

Because when it came down to it, I probably would've just ended up scrolling Twitter or doing some other pointless thing, anyway. Take that, procrastination!

When we think something will take too long, it usually does because we believe that thought and then end up procrastinating, which - voilà! - leads to the task taking much longer than it needed to take.

Next time you're down about starting in on something - big or small - don't believe yourself when you start to think it'll take too long.

Just dive in anyway and you might surprise yourself with just how *not* long it takes you.



How Much State is Too Much State in React?

October 6, 2020

Honestly, now that I'm getting more and more comfortable with React hooks, I think I've kind of become a woman unhinged lol.

I haven't yet jumped into custom hooks, but setting all kinds of state in my So You Think You Can France application is helping me so much in displaying all the information I need to be displayed!

Anyway, I feel like every time I need to store something, I just add in a new useState hook, but it's starting to look a little crowded in the code:

Multiple states in code

I'll try to get to the bottom of this as I go along.

Speaking of my latest project, I'm going to write up a case study soon to explain (I know I need to, but sometimes it's just too much fun to work on the code and project itself! So let's just stick with 'soon!')

If you'd like to see the initial version of the app, you can check it out here >>

*Keep in mind that the database isn't fully filled out yet, so the only cities available to be searched are 'Agen' and 'Aix-en-Provence' (case-sensitive)*

Also, shoutout to Netlify for the extreme ease of use! I'd heard so much about it in 'passing' and then when I actually needed something other than Github pages to deploy my React app, I decided to give it a real try.

100% happy about it!



Pure React and Data Transfer (Still...)

October 1, 2020

Whoa, I woke up and it's October! Now, I'm really in the mood to watch Hocus Pocus or something.

Today I'm going to work a bit more through my Pure React ebook. I'm just finishing up learning about the useEffect hook, which I definitely see the advantage of.

Something interesting about it is that it's a hook that runs after the initial render of the React app - so I'm starting to see a little bit more clearly how that might be used for rendering my city guides on my current So You Think You Can France website rebuild.

Ideally, I'd like to finish up transferring all the city guide data I have in my Squarespace site over to a spreadsheet I've been adding to over the past couple of weeks. I was kind of annoyed because since the site wasn't active anymore on Squarespace, I couldn't access each page's data unless I had an active site/membership.

Fortunately, though, I only had to add on one month of a subscription (the perfect amount of time to manually transfer all the data) to Squarespace in order to access it.

Okay! So today. Pure React - finish up useEffect learning and exercises, and then get some of that data transferred over (and maybe also cancel that Squarespace subscription before I forget).

Cheers!



Just Gotta Keep Working at It!

September 30, 2020

Nothing too new or too exciting to post this sunny, autumn-y Wednesday morning.

Still carrying on with my So You Think You Can France rebuild using React, slowly but surely. I had a great conversation with one of my mentors and friends yesterday, and just a couple minutes of talking it through got me so much more clear on moving forward with the project.

I'm finding that I have a good handle on React theoretically and on very small, manageable projects in practice - but as soon as I start moving on to more advanced concepts, my brain spirals out of control and I feel like I don't even know the absolute basics in React!

I think that's normal though. Just gotta keep working at it.

Oh, and I think I *am* gonna stick with Firebase Firestore for storing the data. If you've read before now, I was having a brief flirtation with learning SQL, but I think for now, I should try to focus on one thing at a time to improve and learn.

In other news, going to be publishing a new podcast episode today - yay! Onward.



Chipping Away to Eventually Get to Where I Want to Go!

September 25, 2020

And another Friday rolls around again! It's been a pretty productive week, although I did take a break with The Ladies Code Collective Podcast, which actually felt pretty nice!

I'm continuing on with React hooks today, and I think I'll move on to useEffect this afternoon. I'm confident that it'll all start really clicking after I get a broader overview of the larger ecosystem of hooks and React, in general.

That being said, I'm trying to not get too caught up in needing to know it all immediately (or just after learning it for the first time).

The internal battle of where to store my French city guide data continues, because as I was working on my app yesterday and storing the data in objects within the JS files themselves, I started thinking more about scaling the data and making it more efficient for large amounts of information.

Argh! I'll keep playing around with it. I'm excited to get a minimum-viable product up and running, so each little bit of time spent chipping away at that will eventually lead me to where I wanna get!



React Hooks and Considering Different Ways to Store Data

September 24, 2020

Happy Thursday! This morning was pretty relaxed, and then this afternoon, I'll be jumping more into Pure React and implementing all the fun Hooks learning!

The idea of Hooks is definitely becoming more and more clear to me; and not only that, but also the different types of hooks and their uses.

So far, I've been exposed to useState, useRef, and useReducer.

Still need to continue on through useReducer, and then up next will be useEffect.

Aside from that, I'll be working a bit more on So You Think You Can France. I'm drafting out a general UI for searching for the city guides. At the moment, I'm getting everything set up statically, and then I'll work on getting the information to render on the screen depending on what city the user enters into the input.

Something interesting I'm coming up against is trying to decide on how to store my data (there's a lot of it). At first, I was considering using Firebase Firestore, but then I wanted to explore building out my own database by hand.

So. For the moment, the data's going into a spreadsheet and will then be stored in a JS file/module in the app itself.

And then there's the fact that I just learned some new data structures. Lots to think about.

But I love this feeling/moment, when things are coming together from (seemingly) all different directions and then, with each step forward, it makes for lots of new learning and progress along the ol' coding journey!



Data Structures Micro-Course: Check!

September 22, 2020

Tuesday morning! I finally finished my micro-course on Data Structures yesterday. The whole thing was three hours long, but with avid note-taking, it took me a good portion of yesterday afternoon to finish up.

Regardless, I'm happy to now be able to officially cross that off the list, instead of doing a little bit each day and then always having that particular to-do item hovering over me and stressin' me out!

I mentioned before that the idea and term 'Data Structures' had me pretty intimidated before I first jumped into this course - but that's just the proof that if we don't even give something a chance, we'll just let ourselves off the hook and not officially learn anything new that'll drive us forward.

Among the data structures in the course, we learned about Arrays, ArrayLists, the Stack, Queues, Linked Lists, Doubly-Linked Lists, Dictionaries, Trees, Heaps, and Graphs - as well as the Time Complexity Equations of each (Big-O Notation).

All very high-level overviews, but now I'm glad to officially know what's being talked about when I come across these terms!

This afternoon I'll be dedicating a couple of solid hours to Pure React - continuing on with learning all about State and what goes in it and which components should have it and all that fun stuff.

I think after Pure React and my So You Think You Can France project, I'm going to start diving more into SQL and even dipping my toes into Python. Maybe a lil TypeScript.

Trying not to get too far ahead of myself, but we'll see!



'Do the Thing and You'll Have the Power'

September 21, 2020

Monday, back at it! Today I'll be finishing up a lesson on Data Structures and then I'll be making some steady progress on my Pure React ebook!

Last week was a bit of a break for me, since I had one of those times where all motivation just leaves the building, so I'm going to be getting back into it somewhat slowly.

I stumbled upon this quote from Ralph Waldo Emerson that I like: "Do the thing and you'll have the power."

Going to do the thing(s) this week, and always. Happy Monday!



Today's Work: Data Structures, Data Transferring, and React

September 15, 2020

Today's all about making progress on a few things I'm currently doing. Nothing ground-breaking, no news-worthy cobswabble. Just workin'.

Among those things - I started transferring data from my French city guides site over to a spreadsheet so that I have all the data in front of me when I build my database to store all of it. Part of me thinks I'm doing twice the amount of work, but I actually do want to have all of the data stored visually in a spreadsheet, so I suppose I'll just grit my teeth and work through it lol.

Then, I started watching a mini 3-hour course over the weekend on Data Structures that I'll probably finish up today. I have about two hours left.

You always hear about 'Data Structures and Algorithms' and the need to learn about all of it as a developer, and it always seemed like a far-off, remote topic that I'd learn "someday," but now that I'm getting through just Data Structures (i.e. breaking it apart and working piece by piece), I'm realizing it's actually very manageable.

Lastly, I'm still steadily making my way through Pure React. Yesterday, did a lot of studying about State and how to think about it, what to put inside of it, where to keep it, etc.

Things are coming together! Love love love it.



Continuing with React & Starting My Latest Side Project!

September 14, 2020

Monday morning, folks - look alive (talking to myself)! I've got a lot on my plate today, so productivity is of the essense. Lots of focus on not context-switching and embracing the joy of single-tasking.

I'm officially off to the races with my So You Think You Can France project! (I've talked about this project in the past - it's a website I built on Squarespace, and I'm now in the process of rebuilding it from scratch with React).

A bit of a plot twist, though, on the project - so, before, I was planning on just using Firebase Firestore to store the data (the main point of the website is that it holds dozens of French city guides with lots of info for each city).

But...this weekend I started looking more into SQL and I may actually build my own database. I'm very conscious of the fact that I don't have a very clear picture on how everything fits together and how each part of the project will fit together, but that's okay!

It's coming together peripherally and I don't need all the answers *right this very second*. As I always say, one foot in front of the other and the rest will come together as needed.

May need to talk this over though with a mentor or something to get a little bit more clear in my head.

In any case, I'm really excited about it! I've started building out the frontend of the site just using HTML, CSS, and JavaScript - but I'll make the migration to React soon enough.

Today's focus is spending a few hours continuing my work through my Pure React ebook, and then also starting in on the huge task of migrating a lot of the French city guide data over to a few spreadsheets that will be set up as my databases will be set up (i.e. Cities, Restaurants, Bars, etc)

Let's go!



The ~Magic~ of Hooks: I May Now Be a Believer

September 11, 2020

Happy Friday! I'm currently taking a deep-dive into React hooks, and it is *so* fascinating - especially because I've had this preconceived notions that the concept of hooks was this really complicated and impossible-to-understand topic.

The truth is, though, that I'd just never given learning about hooks a fighting chance.

I simply (and sadly) stopped myself in my tracks by assuming that the concept of hooks was really complicated.

Now that I've been reading up on it and building a few test projects to see how things work in practice, I think I can now say that I'm a true believer in the ~Magic of Hooks~ and I'm looking forward to using them on a larger scale!

Today's work is cut out for me with finishing up my section Pure React (currently finishing up Week 4 of my self-imposed time constraint of six weeks), and I'm very much on track to finish the book (and actually *understand* everything!) within those six weeks.

I'm in it. And it's the best. Feeling. Ever.



Looking to Land Your First Dev Job? Set Yourself Apart

September 10, 2020

Yesterday, I published the second Q&A episode I've done on my podcast, The Ladies Code Collective Podcast, and I wanted to share some insight from it here - specifically around finding your first job as a junior developer.

There’s a really, really big learning curve to learning how to program. It starts off relatively easily - we learn how to build web pages with HTML and CSS and then we start to dabble into true programming (JavaScript, Ruby, etc).

The thing here is that once we do, there’s not necessarily the same level of learning acquisition with programming as there is with learning to write HTML and CSS. The sheer level of depth associated with actually getting good (and dangerous!) with programming sometimes takes years to learn.

I’ve said this before, but learning to program (especially if we’re learning it on our own) is essentially 1) learning and becoming fluent in a new language and 2) teaching our brain to think in an altogether different way than it has before.

And we can’t really rush that along.

So, when people take on the task of getting into programming with the lofty aspiration of getting a job in a matter of months, I think we’re looking at the exception more than the rule.

Employers are often searching for mid- to senior-level developers. That’s why it can feel difficult to break into traditional employment as a junior developer -- simple supply and demand. There are more junior developers when companies need fewer juniors; and there are fewer mid- to senior-devs actively looking at any given time when there are more positions open for those.

I think companies want to hire tried-and-tested developers, which does make sense. In other words, we can’t just expect to learn the basics of programming and then break into a perfect developer job.

We have to work hard, get really, really, undeniably good at what we do, and we have to set ourselves apart.

The way to do that is by following your own unique creative impulses and to build really interesting, different projects that your peers aren’t creating. And getting to that point requires practice, showing up to your code editor everyday, learning new things, using your imagination, and building projects that you can proudly showcase and will turn employers’ heads at least enough to give you a chance to explain what you’ve made and why you’re awesome.



Learning About APIs and Hooks in React

September 9, 2020

Hey, hey, hey! Today is Podcast Production Wednesday for The Ladies Code Collective Podcast, which means I'll be focusing most of today's attention on launching an episode and recording a future episode - yay!

Yesterday, I started playing around with APIs in React by fetching data from Reddit and displaying it on a test React app. It was awesome!

I essentially made an axios call to the Reddit URL with whatever props I passed it as the subreddit. Just from changing the subreddit prop that was passed into it at the time of rendering the component, I could update what was displayed in the DOM.

I've also been taking more of a deep-dive into the different React methods (i.e. componentDidMount, componentDidUnmount, etc), which has been super interesting because I distinctly remember being extremely confused on why these methods were always used within components, and now it's making more and more sense.

Basically, in my head, I was thinking 'Wait, why does every developer name these methods the same thing?' when in reality, they're just the names of the methods that make up the React framework.

I also started in on learning about Hooks which has *always* been on my radar but I'd always felt like I wasn't ready for. I studied them a bit yesterday, and I'll focus on them a bit more tomorrow.

Looking forward to using them more in practice!



Loving React & Ready to Start a Big New Project!

September 8, 2020

Happy Tuesday, folks! I had a slow day yesterday getting back into the swing of things after a phenomenal weekend away visiting an amazing locale here in France.

Despite it being slow yesterday, though, I still spent a few hours working on my React studies. I'm currently using Dave Ceddia's ebook, Pure React - I purchased it earlier this year and have had it all this time, so once I decided to fully dive into React (after getting a great handle on JavaScript fundamentals), it was great that I already had the resource to use.

I've given myself six weeks to move through it by working on it a few hours on Mondays, Tuesdays, and Thursdays. So far (I'm on Week 4 of that time constraint), it's going swimmingly and I'm on track to fully complete it by the end of Week 6.

Speaking of time constraints, I'm about to get started on another 6-week side project! (I work in these 6-week periods because it helps to give true structure to the project and I can see my progress/if I need to speed up a bit, etc).

See also: this excerpt from Basecamp's Shape Up (highly recommend, by the way):



We work in six-week cycles. Six weeks is long enough to build something meaningful start-to-finish and short enough that everyone can feel the deadline looming from the start, so they use the time wisely. The majority of our new features are built and released in one six-week cycle.

Our decisions are based on moving the product forward in the next six weeks, not micromanaging time. We don’t count hours or question how individual days are spent. We don’t have daily meetings. We don’t rethink our roadmap every two weeks. Our focus is at a higher level. We say to ourselves: “If this project ships after six weeks, we’ll be really happy. We’ll feel our time was well spent.” Then we commit the six weeks and leave the team alone to get it done.



This is essentially how I manage myself and my projects, and I love it because it ensures that I actually ship my projects and concretely build my skills.

Anyway, I'm going to be launching my latest side project, which is rebuilding a site I previously built using Squarespace (in my pre-coding days) by using React for the frontend and Firebase Firestore for the backend.

The main make-up of the site is basically individual city guides for many (many!) cities and towns here in France for current and future teaching assistants through the TAPIF program to use.

Fun-fact! I was once-upon-a-time a teacher in France through this program, and that's how I was first able to move to France to live and work!

Anyway, I'm really excited to get to work on it! This week, I'll probably start scoping out everything that's needed so that I can hit the ground running on the building stage!

For now, I'm mostly trying to think about organizing the data in the most efficient way for when the site renders each city guide.

Stay tuned!



A Fun Friday Accomplishment!

September 4, 2020

Happy Friday, all! I'm really excited today because I woke up to a fun email from my podcast hosting service that my podcast, The Ladies Code Collective Podcast, has reached 500 downloads!

500 downloads! I was elated at 250 a few weeks ago, and now 500!

Celebrate every win - big or small. Consistent efforts over time ultimately lead to big things, and I'm here for it every step of the way!

Hope your weekend is fantastic! Do something nice for yourself, why doncha? :)



Still Working - Slow and Focused

September 2, 2020

I recently wrote a post about working slower to achieve whatever goal you have faster, and I'm really following that advice today.

I had a bit of a late-start this morning - which is totally fine - and instead of being stressed out about not being able to get around to everything I intended to at the hour I'd planned to, I'm going with the flow.

I'm getting to it when I get to it, and I'm focusing 100% on it. I'm not going to reach a point where I feel frazzled, and if I do end up starting to feel pulled in different directions, I know to bring my focus back to the one task at hand that I'm currently working on.

After all, working slower and infinitely more focused *will* get us to where we want to be more quickly than working fast and frazzled and not giving adequate focus and attention to the task(s) at hand.

PODCAST NEWS

Today is Podcast Production Wednesday for The Ladies Code Collective Podcast! And the episode to be launched will go more in-depth to this idea of working slower to achieve our coding goals faster. Be sure to give it a listen! >>

REACT LEARNING

Other than podcast stuff, this week has been and will mostly be about making steady progress in my React learning (currently making my way through Dave Ceddia's ebook, Pure React).

I spent yesterday building out mock-ups of different UIs like Pinterest, Hacker News, and Internet Radio using React components and practicing passing different data points to each component. Before, I think I would've skipped out on the exercises to move on to the next chapter/lesson, but that's precisely where the practice gets implemented!

I started in a bit on going deeper into state management with React yesterday, and I'll continue on with that tomorrow and Friday.

CURRENT BINGE

In other news, I started watching Dark on Netflix last night, and it's safe to say I'm hooked (React pun intended).



Let's Talk About Perfectionism

September 1, 2020

The thing about perfectionism - in coding, or really anything - is that it doesn't leave any room for creativity, spontaneity, or messy inspiration. Instead, it stifles all of these wonderful things.

Essentially, it creates a lot of unnecessary pressure when really we should be wanting to enjoy the juiciness of a tough problem or simply the sharp ambiguity of not knowing how to do something as we take step after step to figure it out and gradually close the gap between what we know and what we don't.

If I really stop to think about it, my favorite moments are when I figure something out that's been puzzling me for some time.

But when that feeling of wanting something to be perfect (*even* before I start in on it) stops me in my tracks because 'I don't know how to do it, so I'm not even going to try' - that inevitable future moment of discovery dissolves into nothing.

I don't know. It just feels like we've been brought up to be afraid to make mistakes, but I've always said that mistakes, especially in coding and learning something new, are the fast track to cementing any lesson in and ultimately getting there faster.

If you catch yourself wanting something to be perfect, take a step back and an objective look at what you have on your hands. If you were looking at this for the first time, what would you think of it? Is it good enough? Good. Ship it and move on the next thing.



Reflecting on Eight Months of Learning to Program

August 31, 2020

Hi friends, happy Monday! It's officially the last day of August 2020 - and it's also been exactly eight full months since I left a job I adored to focus 100% on pursuing my goal of learning to code and ultimately making a career transition to becoming a software developer.

So much can happen in a matter of months. I remember this time last year, after I'd set out to pay off my student loan debt, that I ended up paying off half of my $22,000 starting debt - which was huge for me.

Now, eight months after I left my last job, I've dedicated myself to coding, learning new languages and frameworks, building projects in which I fully invest myself, putting myself out there with new opportunities, connecting with others on the same journey, and ultimately documenting the entire process (hi, reader!).

While I didn't start blogging officially until February of this year, that still marks seven months of consistency with writing - which I'm freaking proud of. Especially as someone who goes all-in on a project or new venture only to succumb to Shiny New Object Syndrome when the newness of the exciting project has worn off.

And no matter how much time continues to pass, I still get that very wonderful feeling that it's only the beginning.

I wake up most every morning with the belief that there's still so much to do and learn; and I'm ready to continue embracing it all.

To sum it all up, I'm proud of myself. And I'm proud of you, too, if you're on a similar path - coding or not. Here's to all there is to come.



Refactoring as a Slow but Necessary Process

August 28, 2020

I did it! I got my podcast episodes to render dynamically on the podcast page on my Ladies Code Collective website.

Well, they're dynamically rendered via an object of pre-filled episode data in my JavaScript file instead of hard-coding a brand new Section element in my HTML file.

So, baby steps.

I had a total learning moment yesterday, though, when I discovered that you can't just insert a script into an 'insertAdjacentHTML' call in JS because by the time your script gets added, the page has already loaded - so, as I understood it, it's kind of like your script arrived at the station as the train had already left.

To get around that, I had to create a script for each podcast-episode-section-HTML after the page was loaded and createElement('script') with and set the src of each as each individual epiosde's URL.

I also had to create a data-key attribute for each episode so that I could match up the episode to the corresponding element in the 'episodes' object that contains each episode's information.

That moment when everything came together, though - ugh! I live for that!!!

Next step here is to get the episodes to populate by making a call to the Buzzsprout API (Buzzsprout is the podcast hosting service I use). This is great, because I've been wanting to build more things with APIs, so I can add that in there!

That'll be on today's plate, as well as more practice in my React ebook, which I'm steadily working my way through. I'm building a clone of a file list in GitHub at the moment, so I'm going to take what I've done fully apart in order to rebuild it using the knowledge I've already gained.

I mentioned in a previous post that I'm focusing on moving through the material very slowly as a means to move more quickly over the long run.

I know, it doesn't make sense right when we first read that; but honestly, it's a game-changer. I keep telling myself that if I move on quickly and without fully understanding a concept, it's going to cost me much more time down the line to have to go back and re-learn it.

So I'm taking that extra time *as* I'm learning something to make sure it's 100% dialed in.

Happy Friday.



When That Inevitable Refactor is Calls Your Name

August 27, 2020

Hey guys. It's me, Alex. Here on a sunny late-August Thursday morning.

I've been putting something off for a while now, and it's finally catching up to me. Although, I feel like it never really *left* my mind, you know that feeling? When something's just kind of always there in the background?

It's the Podcast page of my Ladies Code Collective website, and it's officially reaching that moment in the growing-up stages of a sprouting website where it just doesn't make sense anymore to continue hard-coding items to a list that only continues to grow.

Currently with each podcast episode, I'm adding a new episode section to the HTML, and while it's not out-of-hand yet, it's definitely at a point where I can imagine the sheer unruliness of it in the future.

I'm going to draft out a plan for moving it all to be rendered dynamically in my JS file. Also going to explore developer options in my podcast host website, which may be better than simply moving the hard-coding from HTML over to an ever-growing array of podcast elements in JS.

Here's the hard-coded code now - you'll see each episode's being added individually:

Hard-coded code

And here's how that looks on the UI:

Ladies Code Collective UI

Nothing's going to change on the UI, but today I'm going to explore and draft out how I'm going to make the migration to fewer lines of HTML and more dynamic code over in JS.

Eventually, I'm going to add pagination as well to only display 10 episodes at a time, but eyes on the prize for now!



When's the Last Time You Finished a Coding Side Project?

August 26, 2020

How many times have you gotten straight to work on a coding side project that you’d just gotten the lightning bolt of inspiration for, only to fantastically fizzle out a few days later once you ran into a tough problem that you weren’t motivated to solve?

I’ll go ahead and raise my hand right up.

And it sucks! Seriously, the gap between that burning motivation to build your project and then the sputtering loss of inspiration can be so frustrating.

And the thing that’s even more frustrating than that is the fact that it seems to have become a pattern that happens every time you come up with and start in on building out a new idea.

And then you end up with a sad wasteland of folders within a ‘projects’ folder on your desktop that you can’t bring yourself to delete because that you mean that you’re really not going to get around to those particular projects one day. Le sigh.

I personally got tired of this sad project-starting-and-never-shipping pattern, and I decided to come up with a personal plan for overcoming it.

Here’s that side-project plan for you, my creative coding friend. May you always follow through on the side projects you undertake:

  1. Check in with how realistic your expectations are
  2. Set one achievable goal project to remain focused on
  3. Give yourself a useful constraint
  4. Commit to showing up for yourself x amount of time each week
  5. At the end of your time frame, celebrate your progress (even if you aren’t done, look at just how far you’ve come since beginning)


For a deep dive into the steps outlined above, I invite you to listen to today's episode of my podcast The Ladies Code Collective Podcast here >>

Enjoy!



Really Learning React: Week 2 of 6

August 25, 2020

Hey friends! Here I am on Week 2 of my six-week commitment to learning React! I'm currently going through Dave Ceddia's ebook, Pure React.

As I'm working through the chapters, I'm making sure to take my time - taking notes (with an actual pencil in an actual notebook made of paper), doing every little exercise (even if it seems like it'll just make sense in my mind), and fully absorbing every point.

I've mentioned before that I'd had a few false starts with learning React mostly because I hadn't really given myself a good footing with JavaScript fundamentals. Now that I spent a good amount of time bulking up my JS knowledge, I'm enjoying learning React soooo much more.

I'm still pretty early on in the ebook, but I'm now happy to say that I *fully and completely* know what the heck I'm doing with props now! (Seriously, I had such a hard time wrapping my head around it before, but this time my brain took to it like nobody's business.)

Today I'll be learning more about children in React and I'm really excited to keep on keepin' on.

Note: I've given myself a solid six weeks to move through the ebook. Before, I wasn't setting myself up for success when I'd just start it with absolutely no timeline, as well as the unconscious desire to finish it as quickly as I could only to move on to the next thing. Now, I'm going further by working more slowly, and I freaking love it. Highly recommend.

I talk more about this in my Ladies Code Collective email newsletter, if you wanna sign up for that! >



Humbling Moments in Coding

August 24, 2020

Happy Monday morning, all! I spent a good amount of time last week working through my React ebook.

I'm making sure to work slowly so that I'm able to fully absorb each lesson.

Before, I think I was in such a hurry to move on to the next thing all the time that I only got a very surface-level understanding of a lot of what I learned.

And if we really think about it, rushing through learning concepts only leads to it taking a much longer time to learn in the long run.

In other news, I finally fixed a bug on one of my projects where the navigation was annoying off-center by a not insignificant amount of space, despite my not being able to find exactly what was pushing the list off.

Thank God though for Chrome dev tools, where I was able to see that there was a weird padding-left of 40px. (Where did that even come from??)

I ended up just denoting 'padding: 0' to the nav and that worked like magic.

Isn't it funny that we can be pretty advanced in the basics (like CSS) and still get caught up in little things like that?

There are always humbling moments like this with coding, and I'm here for it.



Don't Learn JavaScript and React at the Same Time

August 21, 2020

Hello and happy Friday! I'm finding I don't have anything too inspiring to blog about this week. Must not be in that frame of mind (and that's ok!)

I can, however, write a little bit about the progress I've been making with learning React (for what seems like the third or fourth time).

Currently, I'm going through an ebook I purchased some months ago called Pure React by Dave Ceddia. It's pretty great, and I started in on it after buying it in the past only to realize that I was quickly lost because I hadn't spent too much time getting solid JavaScript foundations.

There's a lot of debate in the developer community, I've noticed, around whether or not it's OK to learn React at the same time as you're learning JavaScript. Every developer who has experience with it will have a different opinion.

After my few false starts with trying to learn React (while not have JavaScript basics dialed in), I'm definitely a proponent of learning JavaScript fundamentals and being comfortable on a high level with it before trying to pick up a framework like React (or Angular or Vue).

In my experience, there was a lot of confusion for me around where JavaScript ended and what exactly was a specific feature of React. And that can be tricky, especially if in the future you're just using JavaScript (no framework) and you find yourself confused about not being able to lean on features from a framework instead.

Anyway! I'm making my way now through Pure React with a much more solid foundation with JavaScript. And it's helping *enormously*.

Seriously, not only is the information just overall making so much more sense, but it's actually just a lot more fun being fully aware of the concepts that are being taught and talked about.

I don't have any specific examples to give right now, but I'm looking forward to continuing on with it and hopefully being able to share more of my experiences here in these posts.

Also, instead of trying to rush through the course as quickly as I can (just to be able to 'check it off' and move on to the next one), I've given myself a full six weeks to do it.

Within that six weeks, I've broken it down into working on it three times a week - on Mondays, Tuesdays, and Thursdays for a couple hours each day.

This is exactly the sort of thing I talk about in my 5-step blueprint for starting and finishing/following through on side projects, so if you want to check that out, you can do so right over here! >



React and Time-Blocking

August 19, 2020

Good morning! Middle of the week feelings over here - meaning I'm feeling good and things are swimming along nicely.

I've been spending this week experimenting with a new way of working - time-blocking!

I recognize this pattern in myself where I start off working well and not trying to do all the things all the time (which isn't sustainable) to then sneakily trying to actually do all the things... all the time lol.

It's such a sneaky little phenomenon, too. Because all of a sudden I'll feel super stressed and then I'll look at my to-do list and I'll see that I'm piling two or three extra things that can wait. Not great!

(Also lol at me acting as if it's not just me doing this to myself)

But back to time-blocking! I have my morning block from 9am to noon that's usually been reserved for Ladies Code Collective/business-building stuff (slow and steady and one thing everyday instead of all the things, all the time).

And then after lunch, I have my afternoon block which is around 2 to 5pm, where I'll focus on studying and coding (currently working my way through a great book on React and building the test projects within said book).

I'm such a proponent of testing out different systems of working and doubling down on what works well.

And something that works well for me may not work well for others, so that's what's great about trial and error, testing out what works for us, and then keeping track of that.



Working Slower to Get There Faster

August 17, 2020

Happy Monday morning, folks! I'm coming off of a wonderful, relaxing, slow weekend - where I tried to significantly limit my non-reading and non-connecting-with-loved-ones screen time. It felt good.

Now, diving in to this week. Some news! I'm hosting a webinar on Friday where I'll outline my personal five tips for starting and actually following through on any creative coding side project!

The webinar will be held on Friday, August 21 at 12pm (noon) EST - and there will be a replay sent out to those who sign up (just in case you can't make it right at that time).

You can sign up for the webinar here >>

Today I'll be doing some preparations for that webinar, as well as jumping back into React studying!

I'm taking it really slowly so that I'm able to allow things to truly sink in and make a bigger impact in my brain (rather than attempting to learn it and move on to the next thing as quickly as humanly possible...)

As of last week, I think it's working because now (after a long time of having just an ephemeral awareness of it), I'm really starting to wrap my head around how Webpack and Babel work together in the ecosystem of a web app (see last post).

What's on your plate this week? As always, I'd love to hear all about it!



I Think Something Just Clicked For Me

August 14, 2020

I love when this happens. I talk about it all the time in regard to the fact that learning something once usually isn't enough to really stick.

It might be that we don't have enough overall awareness of the subject matter at hand at that specific moment in time or we might not be as focused as we could be on another day.

Anyway, I always advocate not giving up on learning something - especially coding-related - when it doesn't stick after the first time (or first few times!).

For me, I think my brain finally wrapped itself around how Webpack, Babel, and the overall JavaScript ecosystem work together. I'll try to explain as best as I can so that it might hopefully help someone out in the same position:

1. We run a React app using Node (npm) - usually 'npm start' on the command line.

2. Once the app is started ('npm start'), Webpack is called to run and watches for any files that may have changed since the last time it was run.

3. If there are changed files, Webpack then sends these into Babel, which then turns the JSX (used in React) into JavaScript.

4. Webpack then sends that JavaScript to the browser via the development server (usually a local port, i.e. port 3000) and that's where we see the changes on the browser.

I'm fairly sure that's how it works, but I could definitely be off on a point, so if you're more experienced with React, Webpack, and Babel - feedback is certainly welcome!



Diving in to React Today!

August 13, 2020

Good morning! I'm feeling so relieved over here in France because our big 7+ day heat wave finally came to an end last night with a huge thunderstorm. Feels so cooool this morning - I'm here for it.

Alright! Thursday! This week is flying by productively, and I'm super happy about it. Just have today and tomorrow to keep up the streak and then it's ze weekend.

On the table today: diving into Pure React by Dave Ceddia (I bought this ebook a while back and started in on it, but then stopped and then long story short here we are again). I'm looking forward to working all the way through it over the next six or so weeks, at roughly 40 pages each week.

I also have a video to film for YouTube (you can subscribe here!) - since I recorded it yesterday and then my audio didn't end up coming through. Grr - it's OK though, I'm really fired up about the topic, so it should be pretty chill.

Lastly, designing a workbook I'm creating for helping creative coders start and actually finish (!!!) the projects they have in their minds.

Sounds like a full Thursday - what's on your plate for today? I'd love to know!



On Wednesdays We Podcast

August 12, 2020

Happy Wednesday! I didn't get around to scoping out my React study yesterday, so I'm hoping to do that today.

I *did* however get around to writing out all the copy for a special opt-in I'm preparing for my email list, though! So I'm very excited about that. Keep an eye on this space for that.

Seeing that today is Wednesday, I'll be working on The Ladies Code Collective Podcast all day.

In case you weren't aware (which you actually probably weren't because I don't think I've made it an official thing lol), Wednesday is Podcast Production Day and it's a big deal around here.

Just kidding. Kind of. It's more just the result of a hard and fast habit I've built, which feels amazing because even on the days where I'm dragging my feet, the habitual nature takes over and it's almost as if I have no other choice than to Just Do It. Win.

Keep an eye out for the podcast episode that launches today! Pro-tip: you can sign up for my email newsletter to stay ahead of the curve on episode releases ;)



Back in Business!

August 11, 2020

Hi friends! I'm back from a relaxing vacation from work, coding, and all things requiring significant mental focus.

I don't even know how long it lasted, but I do know that I lost track of the time and what day it was (which, now that I think about it, tends to happen during the first couple weeks of August of really any year).

During my vacation, I spent some time traveling around the south of France with my boyfriend and basking in the sheer bliss of a European summer under the influence of utter vacation-mindset.

Needless to say, I came back from all of it with a breathless excitement to jump back in to everything I've been working on. Isn't that such a great feeling?

I'm taking it slowly today - might dip my toes back into a few Ladies Code Collective things (back to podcast production tomorrow!) and then I also want to try to scope out what the next few weeks of study will look like (looks like it's going to be React!).

Re: React, I've dabbled a bit before, but I never really got it to *stick* so now that I've spent a solid amount of time and done significant amount of work around drilling in the basics of JavaScript, I think I'll be better-equipped to dive all the way in.

P.S. I'm currently listening to the new Glass Animals album - two tracks in and I already can't get enough.



I'm Proud of Myself Today

July 31, 2020

Happy hot Friday here in France - someone pass me a fan or an ice cube or something, sheesh.

I'm super excited because I finally (!) finished up this deep-dive of a JavaScript course from Udemy that I've been working on on-and-off since (brb just checking my blog history) February 3!!

Also, petite digression here, but whoa!! I've been kind of working on this course since February aka right when I first started blogging aka six full months ago!

I'm proud of myself. I'm super, super freaking proud of myself for 1) finishing the damn thing and 2) staying committed to it and my personal goal of *only* working on one course at a time and not moving on to or buying another until the current one is fully complete.

Could I have done it in half the time? Yes.

Could I have done it in a quarter of the time? Probably.

Does it matter? Nope, not for me.

Fully completing something from start to finish is the ultimate reward.

Happy Friday, indeed.

Is there anything you've recently finished up that you're really proud of? I'd love to hear about it - let me know!



That *One* Thing That Unlocks the Secret of Learning to Code

July 30, 2020

As we're progressing in learning to code, I think we have this conscious or unconscious belief that maybe there’s just *one* thing we’re not aware of in the overall coding journey and that if we only just unlocked that special knowledge, we’d be expert programmers in half the time.

The thing is - that one little thing that unlocks the secrets of the coding universe actually doesn’t exist.

What exists is trial and error, consistent effort, being temporarily uncomfortable in not knowing the answer or how to do something, and ultimately putting one foot in front of the other in learning and eventually getting better and better at it.

I used to love perusing all kinds of different articles and blog posts from all kinds of different writers about the best path to take as a self-taught developer.

It felt great to get that instant rush of dopamine when I could think of all the skills I’d acquire *one day* when I’d designed the perfect blueprint for what topics to learn and when.

But when it came down to it, I don’t think I followed through on those designed plans.

So I learned to not overthink it. To take my time and to keep building one learning block upon another.

There is no blueprint. It can feel nice to try to plan it all out - the books we’ll read and when, the tutorials we’ll follow and when, the targets we’ll hit and when.

But what feels even better looking back after a few months at all the progress you’ve made instead of looking forward to all of the imagined progress in your mind as it follows your too-good-to-be-true plan.



The True Secret to Learning How To Code

July 29, 2020

When learning to code, we might feel like we have so, so many choices of what to do next that it can feel really stressful.

We obviously want to be sure we’re not wasting time in learning something so we need to be *sure* that what we’re pursuing is worthwhile.

But the thing is - this can keep us totally stuck and not making any progress at all.

Think about it: even if we learn something that we don’t end up using, doesn’t it still give us a little bit more of an idea about the overall ecosystem of programming?

For example, I thought I needed to learn PHP and went on a deep-dive for some time before realizing that I probably actually don’t need it (and quite frankly I didn’t want to know it lol).

Same with jQuery - I think, yeah, it can be good to know, but I personally feel it’s more worthwhile to know JavaScript really deeply than to think that short-cutting JavaScript in exchange for jQuery is a worthwhile gain today.

The true secret to learning how to code and becoming a web developer is this:

If you’re stuck with what to do next, just take that one step and do a little bit, and then move on from there.

One step and then pivot. That’s all you need to focus on at any given moment.

Have your larger, overarching goal that you’re ultimately working toward:


And then break everything down into small steps.

With each step, ask yourself: Is this getting me remotely closer to my overall goal, even if I ultimately don’t end up using it?

If yes, take the step - learn a few new things and then repeat.

If no, find another step and go from there.

When I was *first* learning to code about a year and a half ago with HTML and CSS and wondering what I'd move on to next - I remember talking on Slack with one of my colleagues - an engineer.

This coworker was really such a helpful source during those first few months with his encouragement and perspective.

One really helpful thing he said to me definitely made an effect - so much so that I immediately wrote it down at the time for fear of not remembering it one day (and I'm so glad I did!):

JavaScript is going to be a new journey - since it’s a full-blown programming language. However, the fun is also on a whole new level - it’ll make you feel like a wizard!

Don’t look at it all at once. Start one step at a time - you won’t even notice how it’ll become a part of you.


That final 'you won't even notice how it'll become a part of you' is so incredibly accurate. With every passing day of learning and sharpening the skills we have, programming becomes a part of us.

It becomes a part of us in the way we think. In the way we solve problems. In the way we accept that we don't know the answer right now but give us some time and we have the confidence to figure it out.



Ladies Code Collective Cohorts are Live!

July 28, 2020

Good morning! I'm excited to announce that the Ladies Code Collective's signature offering is now live!

WHAT IT IS

6-week productivity cohorts for creative women who code. A small, inclusive group of 6 to 8 women, weekly co-working sessions on Zoom, a dedicated Slack channel for the support throughout the week, and the opportunity to start, continue, or finish any coding project on your plate that will push you forward in your coding journey.

WHEN IT IS

The first cohort will start on Sunday, September 13, 2020 with the last co-working session to be held on Sunday, October 18.

OTHER DETAILS

You bring a project to start, continue, or finally finish working on, and you'll have the support, accountability, and inspiration to see it through and finally accomplish something you've been setting out to do!

Interested? You can find more information and apply for a spot right over here >>



"But What If I Just... Did It?"

July 27, 2020

Happy Monday, sweet friends! I hope you had a great, relaxing, rejuvenating weekend and that you're ready to jump back into the swing of things this week!

I have a new little trick for myself whenever I'm feeling that familiar twinge of resistance to do even the easiest of tasks, and it's just asking myself this one little question:

"But what if I just did it?"

It seriously cuts through any excuse I have for myself and it makes me answer the question itself. What if I just did it? Well, I'd just do it and it would be done and I'd feel accomplished and proud of myself that I just did it.

That's what would happen, and then we just move on.

Highly, highly recommend if you're finding yourself dragging your feet on something you need to do - whether you know it'll take you legit two minutes to do *or* if it's something much more substantial.

What if you just...did it?

You're welcome.



THANK YOU: Riding the CodeLand Wave

July 24, 2020

Guys! Gals! CodeLand was yesterday, and so was my talk and panel discussion, and I am most definitely still riding a wave of utter elation.

As I've mentioned, this was my first time giving a conference talk to a large audience, and I think it's safe to say that *I am hooked*.

Wow.

Just, all the good feelings. All the inspiration from connecting with others.

Everything.

It was everything.

Thank you from the deepest and most sincere recesses of my heart to everyone who reached out after watching the talk, who connected, who shared bits of their own journey with me.

I'm continuing to read and absorb every single note I've received, and I so thank you for it.

*This* is getting out there and getting after it. *This* is being seen. *This* is putting one foot in front of the other and erring on the side of taking action, always.

Thank you.

P.S. If you missed my talk, Being Utterly Fearless in Your Pursuit of Learning to Code, you can find it right over here >>



How to Stay Motivated While Learning JavaScript

July 22, 2020

Last week, I saw a tweet where the author was asking the Twitter tech/code community for some advice.

Essentially, they'd spent some time learning HTML and CSS and picked it up relatively easily, but now after about three weeks trying to learn JS, they were wondering if they should just move on to something else because it just wasn’t sticking.

The problem with thinking that we should just stop learning something because it’s difficult, or because it doesn’t make sense to us is that that’s precisely when we should double down on our efforts in learning it.

I don’t mean double down in an effort-type of way, though.

I mean it in the “in it for the long-run” sense.

Here are three major things to keep in mind when staying motivated while learning JavaScript (or any other programming language!):

1 | Embrace it for the long-haul

First of all, I don’t think it’s helpful to consider it “giving up on a language” because that only lends itself to a finite mindset where we’ve neatly packaged up one thing to move on cleanly to the next.

If I think about it, I’m still learning - to this day - new things and tricks with HTML and CSS whether that’s with better structuring/organizing or whether that’s making my code overall more accessible.

I don’t recall recently wondering when I’d be “done” learning something.

I think when we learn something, it’s helpful to truly adopt it as just a part of your life. As something you’re cultivating and that adds to the overall makeup of who you are as an individual.

2 | Don’t compare your journey with anyone else’s

We’ve all heard that comparing ourselves or our own personal journeys with others only leads to distress and discouragement.

While someone might be able to pick up what you’re trying to learn in half the time, that doesn’t mean anything about you!

We also don’t know all of the behind-the-scenes behind another person’s life and journey.

Maybe they had the opportunity to work with a personal tutor or highly-engaged mentor.

Maybe they’d already had the foundations of learning from taking computer science courses in the past.

Maybe they don’t actually possess all the skills you imagine they have and they just show up in a confident way.

Right? All of these situations are different, but they’re all distinct possibilities regarding the behind-the-scenes lives of people you might be comparing yourself to

3 | Document your journey

Documenting your journey by blogging about it, creating videos, speaking at conferences, or anything else can help you stay motivated during your time learning.

Not only does it give others insight into the lessons you’ve gained along your own journey (if you so choose to share it publicly), but it also creates this intrinsic motivation for yourself since you can actively see the progress you’re making.

I’ve been consistently documenting my own coding journey for going on six months now and it’s been the best gift I could have ever given myself, especially since we tend to forget the minutiae of day-to-day happenings and learning.

Aside from that, it also creates a sort of accountability method for yourself to make sure you show up each day to share what you’re doing, what you’re working on, or what you’re currently having trouble with.

Make it a part of your daily routine - however that may look (in the morning, before going to bed, during your lunch break) - and it’ll be the best thing you can do for yourself and your motivation.

-----

If you’re currently asking yourself if you should stick with whatever it is you’ve just started learning, I’m here to give a resounding YES.

Personally, I’ve been learning JavaScript for the better part of seven and a half months, and I’m always surprised at how easily things click for me now that I had no conception of months ago when I first began this journey!



You're the Creative Director

July 21, 2020

Happy Tuesday! We're two (count 'em, two!) days out from CodeLand 2020! Have you registered yet?? >>

I've mentioned before that one of the main points in my CodeLand talk ('Being Utterly Fearless in Your Pursuit of Learning to Code') is about being the creative director of your own life.

I love this idea so much because it seriously flips the script for so many of us from being one of telling ourselves that there's so much we don't know to one of empowering ourselves to explore the limitless possibilities and opportunities we can create for ourselves.

Being the creative directors of our own lives enables us to look at all of the projects or potential projects (i.e. those ideas that are swimming around in our head that we'd love to build upon someday!) and effectively plan out when they'll be completed and altogether brought to life.

And then it's just rinse and repeat from there.

I'm working on some sort of workbook to send out to my email list that will help them plan out and actually carry out work on their creative projects (even and especially if life's busy-ness tends to get in the way, well, all the time).

And if you're not already on my list, consider signing up here >>

See you at CodeLand on Thursday (July 23)!



Start of the Week - Grab Your Plates!

July 20, 2020

Happy start-of-the-week, friends! I hope you had a restful weekend and are ready to hit the ground running this week :)

I have a few things on my plate:

First, I'm preparing for my CodeLand talk (it's on Thursday!) and I'll be doing a run-through on my own today probably.

I also have a few things coming up for Ladies Code Collective that I want to set on the right track for now. So, some planning and writing copy for one of my pages on the site.

Later this week, I'll want to work more on that podcast accelerator application I mentioned a few posts back. It's due at the beginning of August, but I've been getting more used to getting things done and then having relaxed, focused time to check over everything (instead of skating by at the last minute, as I've been very wont to do in the past).

Could this be the week that I finally finish my JavaScript course on Udemy? I suppose we'll soon find out!



Don't Give Up On Learning JavaScript After Three Weeks

July 17, 2020

Happy Friday to all who celebrate it! Despite it being a very short week, I feel like I've gotten a good number of things accomplished, which feels nice.

Something I'm thinking about for the moment is how important it is to give yourself ample time to learn something.

More specifically, I'm looking back to when I first started teaching myself how to code and imagining that I'd be ready for professional-level stuff at the end of a couple of months.

I'm sure that, in some cases, it does actually work out like that and then people just end up learning a ton on the job, etc - but as I've been learning/teaching myself for the past 7.5 months now (!!), I'm realizing having that much time has been instrumental in truly dialing in the fundamentals and making sense of so much that I've been learning since the beginning.

Let's take React (a JavaScript framework), for example. When I first started dabbling in learning JavaScript, I also had a crash course on learning React at the same time.

It was all fine and good as I was learning, but once I started to do projects on my own, I realized I really didn't know anything at all.

As I'm slowly but surely getting further and further along with learning the true ins and outs of JavaScript, I'm discovering that so much of what I thought was the React framework is actually just native to the JavaScript language itself.

I recently responded to a post on Twitter where someone mentioned that they'd been learning JavaScript for the past 3 weeks and it just wasn't sticking, and they asked if they should stick with it.

Well, I'm here to say - 1000% yes because I've been with it for seven and a half months and some things are just now starting to stick that I wouldn't have even been capable of understanding at just a few weeks in.



On Today's Plate

July 16, 2020

Thursday morning. Feels weird because I had a very long weekend, and yesterday was really the start of my work-week. So, this Thursday feels very Tuesday-ish.

I have a few things on my plate today -

First, I'm going to put in one hour on my Udemy course (I'm seriously almost finished!). In the course, we're working through our final JavaScript project, which uses an API to pull up recipes from different cooking blogs and websites into the app itself.

I think I have around two hours left, and consistently doing around one hour each day has helped me not think of it as a huge project with no end in sight.

Then, I have a podcast accelerator program I want to apply to, so I'm going to open up that application today and start drafting out the responses and overall plan. I'm dedicating about an hour and a half to this.

Lastly, I have a website that I created a few years ago on Squarespace that I want to completely reconstruct on my own using React and a database for all of the information within the site (it's mostly information about cities all over France, so I want to create a database - probably with Firebase - that will hold the data for each city).

That's going to be an overall heavier project where I'll need to focus on it for some time, so I'll probably create an 'Under Construction' landing page today, transfer the domain over, and add in a form to collect email addresses for anyone who wants to be notified when the site has been officially relaunched.

Onward!



The Power of Being a Self-Starter

July 15, 2020

I love the idea of being a self-starter because you don't necessarily need any prerequisites or advanced degrees to be one.

Really, all you need is the decision that you're going to start something or embark on an interesting project and then begin to put one foot in front of the other as you make your way toward whatever it is you're working toward.

I'm on *such* a Hamilton kick ever since I watched it the other weekend and, yes, I admit I've been listening to some of the songs on repeat since then.

To connect that back to this post's point, I absolutely *love* this line from the very first song of the musical ('Alexander Hamilton') -



[Alexander Hamilton] got a lot farther
by working a lot harder
by being a lot smarter
by being a self-starter



How to be a self-starter? Hard work and consistent effort toward your goal. Rinse and repeat with getting yourself started on really whatever you want to do in your one precious life.



Who Am I *Not* to Put Myself Out There?

July 10, 2020

I had a wonderful walk this morning where I had the chance to think about my current life projects and where I want to go with them.

I don't think I'd be anywhere close to this headspace at the moment had it not been for the fact that I've been so enthusiastic about certain situations in my life as they presented themselves to me.

In other words, if I saw an opportunity that gave me a certain spark, I chased it down. Period.

More recently, I threw my proverbial hat into the running to be a speaker at this year's CodeLand:Distributed Conference.

As a relatively novice coder, I'll sometimes look at the lineup and think I'm way out of my league.

Like, who was I to think I might be able to share the stage with such accomplished engineers and other experts?

But, then again, who am I *not* to throw myself into the running?

What if all of the experiences I've accumulated up to this point have put me in the exact position to share my perspective and potentially reach those who need to hear it most?

All this is to say - I invite you to attend this conference - CodeLand:Distributed on July 23 (it's virtual, so you don't need to get all dolled up - unless you really want to).

My talk - Being Utterly Fearless in Your Pursuit of Learning to Code - will be my first-ever foray into public speaking on a relatively larger scale.

And I'm so excited about it!

If you're interested, just head to www.codelandconf.com to register.



Day-After Sluggishness

July 9, 2020

I'm feeling tired today! I had a big podcast day yesterday - recording, editing, launching another episode, etc - so I'm feeling the sluggishness today.

Go check out Episode 2 of The Ladies Code Collective Podcast here >>

Anyway, I think it's just something to get used to, and then after a few weeks, it'll become habitual.

Other than podcasting yesterday, I had a great chat with a dear friend and software engineering mentor I have from my last job, and we talked through some planning for an upcoming big coding project I have on the horizon.

I so appreciated his generosity with sharing his ideas and expertise, and I really believe in the power of having good mentors to be able to bounce ideas off of over time.

Today I'm going to work a bit on my Udemy JavaScript course and continue on with building up the recipe-finding app we're currently building (APIs, etc). I'm loving what I'm learning and can't wait to keep going with APIs in the future!



Your Gal's Legal in France!

July 8, 2020

Oh man - I am *excited* today! I just got my residency card as a legal resident in France, y'all!!!!

When talking with my friend yesterday and she'd asked how long I'd been waiting on this, my response was "Five years...." (the amount of time I've been in France).

But in reality, the overall process has lasted more or less the past year or so.

This all goes back to me harping on and on about cultivating patience in each moment in our lives because, let me tell ya, this has been a long process but I tried to never let the idea of the outcome (altogether out of my control) affect how I conducted myself in my day-to-day life (altogether *in* my control).

Same goes for coding and learning to program. If we get so wrapped up in whatever outcome we're after (i.e. a new job/career, launching a popular app, starting a company, etc) that we don't embrace each joyful and frustrating moment of the day-to-day learning - I'd go so far as to say that it may not have all been truly worth it.

After all, once we achieve whatever it is we're seeking, we'll be so primed to move onto the next objective and start the whole process over again.

Embrace the day-to-learning. Don't get too wrapped up in the outcome of whatever it is you're currently seeking. And just live a damn good life.



"I'm Not Ready"

July 7, 2020

So I try to meditate (i.e. sit in silence and not do anything and sometimes achieve this cool, out-of-body spinning sensation) for 10 minutes every morning during the week.

I've been doing it consistently for the past - mmm - four months (?) but have been doing it on-and-off over the past 2-3 years.

Just a quick note - I highly (!!) recommend it to iron out any spikey brain waves and to get your day started on a relatively calm-yet-energized note.

This morning, as I was meditating (with the Dreamy Vibes playlist from Spotify in the background), I noticed this thought pop up in my mind:

"I'm not ready."

Normally during my meditations, I just zone out for a few minutes and am not really all that conscious of any thoughts peeping up. But this morning, I was surprised that that thought was so clear.

It's good to have this clear idea of what exactly I'm thinking because now I can go about my daily tasks while being aware that any resistance to what I'm doing is *most likely* a direct result of this one thought of not being ready.

Yay for clarity! Yay for doing whatever I was going to do anyway!

Today it's 1) working through a couple sections of API work in my Udemy course, 2) making a minimum of 5 get-out-the-vote calls for Americans abroad, and 3) designing a few media graphics.

What's on your plate? Anything your brain is telling you you're 'not ready' for?



Continuing to Cultivate Patience

July 6, 2020

Easy, cool Monday morning! I've been noticing something interesting over the past few weeks/months --

I think I've written about it before somewhere, but here's the thing. Any time I'm presented with the thought of going through a process of any length in order to achieve something at the end of the process, I immediately and automatically feel this abrupt sense of impatience and a thought along the lines of "Ugh, for God's sake. Can't this be done already?"

Like...what? That thought enters my mind *even before starting* whatever process at hand.

And, mind you, this can range from a long-game sort of thing (months and months) like building an audience for an online community, a medium-game (a week or so) like putting together a big puzzle, or even in the shortest of processes (minutes) like cleaning up those puzzle pieces and putting them back away in their box.

That first initial thought of impatience is funny and weird, but I think it can have an altogether more insidious effect if we listen to it and don't end up even starting in on a certain process because we're *already* bored of the steps we'd need to take to get there.

This is why we need to develop a true love of the process for any goal we're pursuing. We need to cultivate the patience to sit down each day, even if the magic has worn off.

If we idealize too heavily the end-point or the destination, what do we have left at the end of the day once we reach that destination and move on to the next level or something different altogether?



How I'm Training My Brain to Help Me Show Up Each Day

July 3, 2020

It's a chilly Friday morning and I feel good! Got my day all planned out - complete with working out, working on my Udemy course, and getting started with Eleventy for building out a website.

Tonight we're invited over to our neighbors' apartment for an apéro/game night, so we're looking forward to that, too.

I'm learning so much in my JavaScript course on Udemy. Right now, we're working on building a recipe-finding app using an API, and I'm seriously loving it.

The minute you pull up data from another website on your own website's UI is such a game-changer and makes you feel incredible as a developer! I can't wait to build so many more advanced projects this way.

Overall, it's been a great, productive, well-paced week. I've found that planning out my day on paper (in pencil, mind you - in case of changes) has been helping me *enormously*.

It's almost as if my brain has this semi-concrete plan or overall framework to guide it, and then it works behind the scenes to make sure I show up to everything on the list on time and ready to go.

Highly recommend having a general, written plan for each day if you're trying to get more sh*t done.

Have a great weekend, friends! And go listen to the first episode of my podcast!



Tinkering Around

July 2, 2020

Hi friends - hope you're doing well this morning!

Yesterday was such a wonderfully productive day - I kind of felt like that gif of that cat tapping away wildly at the computer - you know which one I'm talking about!

As I mentioned, I'm practicing constraining all podcast production work to one day of the week so that I don't get bogged down with it all the other days. I think it'll be good - looking forward to seeing how it works out.

I'm feelin' good! Today I'm planning on making a few phonebanking calls to help get out the vote, going for a nice long walk, and working a few solid hours on my JavaScript course on Udemy.

Tomorrow I'm going to start getting my bearings on working with Eleventy as a static site generator. I'm wanting to use it to transfer one website I have (So You Think You Can France website) over from Squarespace to being one I host on my own and built with Eleventy.

Eventually, I'll also probably end up building a more full-service Ladies Code Collective site with Eleventy. I was considering going with Squarespace for that instead, but after a bit of tinkering yesterday (in Squarespace), I just wasn't happy with not having the most control over all functionality of the site, so I'm probably going to go that one alone as well.

Disclaimer: I'm a huge fan of Squarespace for out-of-the-box functionality, especially when you don't have too much experience yet with developing your own sites. I think, though, that at a certain point, it becomes a bit too limiting when you want to be able to have a hand in all parts of developing your own websites.

I think that's all from me for today! Have a good one and just remember to put one foot in front of the other - step by step, breath by breath.



Today's the Day I Launch My Podcast!

July 1, 2020

Happy July! Hope you're having a nice morning - I'm sitting out on my balcony on this cool summer morning, listening to a funky little song. Life is good.

Today's the day I officially launch my podcast - The Ladies Code Collective Podcast!

I'll be sharing an email update with my email list, so if you're not already a part of that, you should 100% go sign up! >>

I'm experimenting by designating exactly one day per week to all podcast pursuits. That's to say that I'm going to use today to communicate with my email list, upload the corresponding podcast episode to YouTube as well, and then record and edit another episode to place in the pipeline for a future date.

We'll see how it goes, but I'm looking forward to having these constraints instead of letting All The Things™ take up precious mental space all week with no limitations.

I mentioned on Monday that I wanted to work on my JavaScript course a bit, but I haven't gotten around to it just yet. I'll probably pick back up with it tomorrow - yay!

Alrighty, that's all from me for today. Have a good one, and make today count!



Showing All the Way Up

June 29, 2020

Happy Monday, folks. I usually write in the morning, but today's post is comin' atcha at 7pm, so hi!

I'm really excited for this week and I don't really know why. It's possible that since I had a full, fun weekend 100% away from my computer, I'm just ready to get back into it, but it could just be one of those happy, excited weeks.

I just submitted a rehearsal recording of my CodeLand:Distrubted 2020 talk (I'm so, so excited about it), and I'm happy to have crossed off a big item of this week's to-do's at the beginning of the week.

The rest of this week is all about Ladies Code Collective (launching my podcast!!! communicating with my email list!!!!) and probably returning a bit to my JS course on Udemy to work on a recipe finder app.

We're with it. We're here. We're showing all the way up.

Have a great week! I hope you take a few big steps in the direction of wherever you want to go in life.



The Best 30 Seconds of My Day

June 26, 2020

I'm still not over the idea of just taking things one step at a time. Seriously, it helps so, so much every single damn time!

I've been putting off this random task of checking on an immigration item I have - French administration is known for being somewhat of a tangle of confusion - and so, I've been majorly putting it off because I had this thought that it was going to be this all-consuming task that would literally leave me with zero time ever for every last day of my life..

Well, I'm here on the other side, and I'm proud to share that the question and stress I had about it was answered and resolved within, I kid you not, 30 seconds when I ended up going to the immigration office's website and seeing the response as a broad announcement to all site visitors.

Why do I do this to myself?? Lol I should know this by now - to just jump in, get it done (step by step), and move the eff on!

Anyway, now that that only took 30 seconds of my day (as opposed to the rest of my living days), I'm looking forward to diving into some API learning and practicing within my JS course.

Cheers, and have a fantastic weekend!



The Secret to Getting Literally Anything Done

June 25, 2020

The secret to get anything done during your day is to break it up into individual parts and do them one by one.

This doesn't have to be done officially on, like, paper. Rather, you should get into the habit of breaking things down into parts on literally anything that makes you instinctively think 'Ugh, that seems like a lot...I'm going to busy myself with something else in the meantime to put off having to get started on that...'

While this is mostly having to do with coding problems that seem insurmountable (breaking down into smaller parts and then tackling them one by one), you can use it on anything during your day to get yourself into the habit of seeing a biggish issue and not having your first subconscious inclination be to shy away and procrastinate.

For example, today I was responsible for being the sou-chef to Arthur's pizza-making for lunch and when faced with all the veggies to be chopped, my first thought was 'Ugh, this is a lot...', but immediately after, I just compartmentalized each step in my brain, grabbed my first stick of squash and got chop, chop, choppin'.

Use it for anything. Cooking, getting ready in the morning when you just want to scroll Instagram for Five More Minutes™, getting motivated to get to the gym, etc.

Break it all down mentally so that your brain has something concrete to attack.

And then, just get to chop, chop, choppin'.



Accomplishing That *One* Thing Each Day

June 24, 2020

Random thought: I feel like today is a birthday of someone I know well but I can't remember whose, so if it's your birthday, happy birthday!

Wednesday morning, folks! I had one of those great wake-up-early-naturally kind of mornings, and they just feel so good. I took little Nelson outside, then dug in a bit to my latest read: Atomic Habits by James Clear.

It's been on my list for a while now, and it finally became available to me on my Libby app, so that's fun.

Today I'm planning on recording another podcast episode (this evening) and signing up for podcast hosting (yay!).

I can't even explain how much of a game-changer it's been in doing just *one* thing each day to push myself forward on whatever my current goal or project is.

Intuitively, I think we want to try to get as much done as possible each day, but I'm finding that this all too often leads to burnout and apathy.

Doing just one thing each day and being satisfied and proud of myself is the way I want my life to be, always, so I'm practicing that now.

(See also: Designing the Life You Want to Live)

So, podcast eppy tonight, and then I'll probably do another hour or so of learning about and implementing APIs in my JavaScript course on Udemy.

Other than that, we're headed to our fave swim spot today and I can't wait to watch my little sausage, Nelson (dog), go ham for the swims. Cheers!



Shifting Gears Today - Learning Over Doing

June 23, 2020

Good morning! I woke up today wanting to put all individual projects on hold for the day and instead focus back on the learning side of things with my JavaScript Udemy course.

From where I've left off, I'll be starting in on a big project that makes use of some sort of recipe website API, so I'm looking forward to finally getting more focused practice on using APIs.

At this moment, I'm feeling like APIs are something that seem slightly insurmountable when, of course, I know they're not, and I just need to learn, implement, and start building with them.

It's that reliable moment when our brains start getting a little anxious because we don't know *exactly* how to do something, so they shy away in favor of doing things they've mastered - like scrolling social media or diving back into our latest book or TV show.

Brains - those clever little devils!

Looking forward to shifting gears today and embracing a few hours of learning some new things!

P.S. I'm on the cusp of launching a brand-new podcast! Stay up to date by signing up for the newsletter here >>



I'm Launching a Podcast!

June 22, 2020

Hi, friends! I'm excited to announce that I'm launching a podcast soon! >>

The Ladies Code Collective Podcast - for women who code, women who tech, and women who follow their creative impulses.

It's been on my mind for a while now, and as an avid pocast-listener myself, I thought a podcast could be the perfect direction for me to take in building up a community of other creative coding ladies.

I have a few specific goals for the podcast itself:

1. To discuss and celebrate the intersection of coding logic and creativity

2. To encourage women of all backgrounds to embrace the creative side of learning to code (as opposed to relying on any hard and fast, one-size-fits-all blueprint)

3. To build a community of women in tech who can offer and receive support around their pursuit of learning to code and building their respective creative projects

If I've learned anything over the past six months of teaching myself to program on a full-time basis, it's been that reaching a level of coding that allows for the building of more creative projects can only help women who may be in the same position of teaching themselves to code or considering to do so.

I love the idea of learning "enough to be dangerous," and I think achieving that along with the support and community of other like-minded women can only lead to truly amazing things for women in tech.

Here's to a great new adventure!

Stay up to date by signing up for the newsletter here >>



This is Me Showing Up

June 19, 2020

I'm so tired today. It would be so easy to not open up the laptop and write my small piece here, but I want to show up for myself - because I said I would. And that's building integrity with myself.

It's Friday, so I'm ready to rest and relax and enjoy the weekend. Lots of reading and sun-lazing to be done before jumping back into the thick of things when Monday rolls back around.

I think next week I'll probably unveil my latest project (yay!) but I don't think it'll be a huge announcement or anything like that. I'm more going for the slow burn of a sustainable thing than a bright and spectacular explosion all to fizzle out in a short matter of time.

So if you're reading this and you're a cool gal who codes and you want more time to pursue your creative pursuits and coding projects with other cool gals, make sure to watch this space :)



What I'm Up To Lately

June 18, 2020

Cloudyish, cool Thursday. Just sitting down to write at a little after noon here. I think I'll give a little list of the things I'm up to lately. Lots of cool stuff swirling around in this here brain!

TOP OF MIND:

- On the cusp of launching a cool podcast and community for creative coding ladies (more info to come, yeeee!)

- Preparing my CodeLand talk - taking place on July 23 (and you're invited!

- Nursing my strained neck back to health with yoga and nice walks instead of HIIT workouts

- Wrapping up some hourly client work and invoicing, etc.

- General life admin

THINGS I'M PONDERING:

- Deciding whether or not to share more behind-the-scenes stuff on Instagram

- A new project adapted from my Wellbean project that helps keep track of when a certain household chore was last done

- Transferring my So You Think You Can France website from being hosted on Squarespace to being built up again with React and hosted on GitHub pages

- Continuing on with my JavaScript course, APIs, and all that fun stuff

Whew - all looks good! Thanks for coming to my spur-of-the-moment brain inventory!

P.S. I'd love to know what you're up to these days re: creative coding projects or just life admin in general! What's on your proverbial plate?



So I Have This New Idea

June 17, 2020

If you know me at all (and by 'know,' I mean that generously as in 'if you've read some of my blog posts'), you'll know that I love new ideas and sometimes can't contain them and then they end up bursting at the seams of my brain.

It's a fun thing to experience, but it can be overwhelming if I get overly existential about it.

Kind of like when people get sad when they think about the fact that they will literally *never* in their lives be able to hug *every* single puppy or kitten in the world, or be able to read *every* single book ever written, or meet *every* single individual worldwide who could potentially be an awesome fit as a friend...

It's kind of like that for me with ideas in my mind.

While I try my best to see them through, it just so happens that sometimes the idea has to pass through or by us before moving on to someone else who can perhaps better bring it to life (a paraphrased idea coming from Elizabeth Gilbert's Big Magic, which I recently read for the second time).

Anyway, as I was in the shower just now, I had an idea to develop a little web app to help me keep track of chores that need doing around my apartment.

Coincidentally, it's the same structure as I used for my Wellbean project in keeping track of contacting friends and loved ones. So maybe it's something I can spin up this weekend. We shall see... I'm excited about it! Hehehe.



Be the Creative Director of Your Own Life

June 16, 2020

One of my key points that I'm going to be talking about in my Codeland talk (P.S. You're invited to tune in!) is the idea of being the creative director of your own life.

So often, we find ourselves positively stagnant when we don't know which direction to take - whether that's in our careers, in love, in learning to program, or just in making one simple-ish decision over another one. It can be jarring and intimidating when we think we'll end up making a "wrong"* decision.

But honestly, when we shift our mindset to being one of embracing all the possibilities available to us (instead of feeling stuck in analyzing the merits of each decision and consequently never making a move), we seriously become so powerful and, dare I say - unstoppable.

By coming to the realization that each decision we make moves us in a forward direction, regardless of the decision, we start to learn to take things a bit less seriously.

We can stay stuck, sure - but why would we want to when we could embrace being the creative directors of our own lives and thus making things *happen* in heretofore unbelieveable (to us) ways?

I'll talk more about this in later posts - maybe more actionable items - but, then again, who's to say you need actionable items to start taking charge and being the creative director of your own life?

Embrace the choices you make with confidence and never stop pursuing those creative impulses!

* Quotation marks because I don't think 'wrong' is objective, and instead it would just be a decision that creates a *different* reality - not better, not worse - just different.



B+ and Out the Door!

June 15, 2020

Sunny, happy Monday morning. Ready for a great week. A package was delivered to my friend for her birthday (today), which is always a great thing.

My neck is still hurting, but I just did a 20-minute Yoga with Adrienne video and I'm feeling better. Just one of those things you can't rush along, and that's okay.

Yesterday, I worked a bit on my Udemy JavaScript course (that I've actually set on the back-burner since the beginning of April - whoa, time flies). I reviewed some API stuff, which I seriously can't wait to delve deeper into since I know I could create some rad projects once I have a good handle on all that!

I'll probably dabble a little bit more with that particular section of my JS course today (I'd like to figure out an issue that popped up at the end of my study session yesterday).

Other than that, I'm focused on getting things set up for my podcast launch - yay! More info on that to come. For now, it's more website/email/mailing list set-up, etc. You know, the foundations and all that jazz.

But! I'm promising myself not to get all caught up in that and consequently letting it all drag on without a foreseeable end. As I'm learning and trying to implement day after day: 'B+ and out the door!'*

*Altered just a bit from the original 'A- and out the door' from the Unf*ck Your Brain podcast



My Neck Hurts

June 12, 2020

Arghhh! Yesterday after working out, my neck started hurting and so I've been slowing way down on things to do since yesterday and today.

I didn't get around to my Wellbean optimization yesterday, but I did record my podcast outro (yay!). Going to head straight into Wellbean now and then grab my microphone and do a 'practice' recording of my first episode.

(Viewing it as 'practice' helps take the pressure off and allows me to just have fun with it, ya know?)

Then that'll be enough work for an easy-going Friday because diving in to some more work on Sunday afternoon with Ladies of Code London folks.

Cheers!



Consciously Thinking This Thought Today

June 11, 2020

Relaxed, chilly, cloudy Thursday morning. Here's what I'm working on today:

I'm consciously thinking this thought: "Doing one thing each day to move myself forward is far better in the long run than trying to 'do it all' every single day."

It feels good. It feels great! Sticking to it.

Yesterday, I recorded and edited the intro of a podcast I'm planning to launch in the coming weeks (!!!), and today I'll be recording/editing the outro. Exciting.

Walking through my CodeLand Conference talk. A couple days ago, I submitted my slides for review, and now I'm focused on tightening up my talk and really getting a few points down and solid.

If time allows: working on my Wellbean project code a little bit. I met with one of my old colleagues, a software engineer, last week via Zoom to catch up and go over some of my code, and he helped me find a specific area that could be improved/optimized. Again, if time allows, I'll hop into the project; if not, no worries.

Cheers!



Designing the Life You Want to Live

June 9, 2020

Something's been on my mind for a while that I'd love to share here. It's been an idea that's been simmering in my head for the past few weeks (maybe month or two, who really knows where our ideas come from or when they arrive?).

It's the idea that if we're not currently living the lives that we want to live in the future, then we need to make changes *now* to be able to live the types of lives we want to.

Now, I'm not talking about wanting to be extremely wealthy in the future future, and then acting as though you are *now* and consequently spending exorbitant amounts of money as a result. In my humble opinion, that's actually not a great (or sustainable) idea.

What I'm talking about mostly has to do with our own habits, beliefs, and systems of both work- and home-life.

For example, in the not-so-distant past, I would work myself to the absolute bone every single day without rest. If you've been reading along with me for any amount of time, then you may know that I've been rather focused on having time for working hard and also having designated time for resting and taking intentional breaks from said work.

One example of how I see it: if I want to be a conscious and fully-present parent to a child one day, I need to pay attention to how conscious and fully present I am *now*, each and every day of my present life.

I can't keep going on, entertaining my workaholism and can't-stop-won't-stop mentality now if I don't want that to be my reality in six, twelve, eighteen plus months from now.

The thing is - we don't just wake up one day totally different from how we've been our whole lives. We really have to work to change those habits and life systems.

We may think we'll "grow up" as the years go on, but I think our current habits actually tend to get further and further ingrained - and thus more difficult to change - as the years pass us by.

So for me, those designated times of rest and breaks from working are kind of revolutionary.

I'm not doing it each day for its own sake, but rather I'm consciously designing the very life I hope to be leading in which I don't need to make these very intentional efforts since I will have already built the foundations for them by living that way today and tomorrow and so on.



Reelin' the To-Do's Back to Today

June 8, 2020

And Monday rolls around yet again! After a restful and rejuvenating weekend in the countryside, I'm ready to hit the ground running (or at least jogging at a brisk clip)!

I have quite a few things on my to-do list this week, but I'm trying something new in that I'm only going to focus on completing *one* major thing each day. (Note: This is down from *three* things each day.)

The reason here is that I've noticed those three things each day end up snowballing themselves into an avalanche of lots of things to do (I'm workin' on it...!) and I end up losing focus on moving the needle a little bit each day in favor of stressing myself out with perfectionist overwhelm.

On the list for the week: lots of life admin items, submitting materials and slides for my CodeLand Conference talk, adding a bit of new/necessary info into the talk itself, finally diving into APIs in my Udemy JavaScript course...

And there I go, getting a little wild with the to-do's... Can you relate?

Okay, reeling it back to today. Today's all about my CodeLand talk and my aim is to get all that's needed complete for that.

Will keep you updated as to how it goes. Cheers and happy Monday!



This is Not Normal

June 4, 2020

Violent police response to protesters: These are the same types of video clips I saw and was horrified by during the Occupy movement when I was a freshman at Cal in the Fall of 2011.

The feeling I’m having now is the same visceral feeling I had then but was unfortunately quelled as a result of some of my most trusted resources “reassuring” me that what is not shown in this footage is the citizens’ and protesters’ “provocations” of the police.

“Reassuring” me that US police forces are only trained to react violently, so if it gets to that point, something had to have happened to have “rightfully” triggered that reaction.

Nine years ago, as a college freshman, I was enraged and appalled but I’m only too aware of how that rage and disgust eventually drifted away and I had the privilege of it not affecting me and carrying on with my college life, etc.

Then a few years later, during the riots in Ferguson, Missouri after the fatal shooting of Michael Brown, I remember sitting in a room of a frat house with friends and having one of them insistently asking me for my reaction and what I’d do about it. Overwhelmed, I fled.

Because I didn’t know.

I didn’t know how to feel. I didn’t know that my rage and disgust could go anywhere. I didn’t have the confidence to use my voice, nor did I feel I had the ability.

But now I do.

This is not **Normal**
This is not **Normal**
This is not **Normal**
This is not **Normal**
This is not **Normal**
This is not **Normal**

So many times in my own life, in just the past ten years even, I’ve seen and felt these tensions come to a head and then after some time, we let the feelings of rage and disgust drift away.

We allow them to because it’s not as convenient as *not* thinking about it and carrying on with our lives, business as usual.

We allow them to because posting about these events isn’t as “sexy” as keeping consistent with our “brand voice” or our Instagram aesthetic.

To which I say, FUCK your brand.

*************

This time feels different, because it is different.

We can do better. We can do *something*



It's Time to Give Back to BIPOC Communities in the US

June 3, 2020

Starting today and for the foreseeable future, I will not be making the $200/month payment to my student loans that I've been trying to make each month since being without a job for the past five months.

That money will now go toward taking action to support BIPOC (Black/Indigenous People of Color) communities in the US.

Starting today and for the foreseeable future, I will be putting investing for my retirement on hold by no longer investing $150/month into my Roth IRA.

That money will now go toward taking action to support BIPOC communities in the US.

Starting today, I will be cancelling my monthly gym membership (45EUR > $50/month) and working out for free in and around my own home.

That money will now go toward taking action to support BIPOC communities in the US.

>>>> Can you reallocate some of your money each month to take action?

I don't know your situation, nor is it my business, but here's where I am:

- No job since December 2019
- Being frugal with the savings I do have (and am incredibly fortunate and privileged to have been able to build up)

I've just found $400 to support BIPOC communities that I *will not miss* and I *do not have* a steady paycheck keeping me comfortable every two weeks.

Doing *nothing* feels grossly sickening to me, personally, in this moment.

I *cannot* do nothing. I *will not* do nothing.

I *will not* look back on this and future moments with the haunting, terrifying, nightmarish knowledge that I did nothing.

That I rested comfortably in my complicity while our Black sisters and brothers continue to fall brutally victim to a system and a nation that is simultaneously their Home and their Hell.

Do something now. Don't scroll past. Don't turn a blind eye.

Start small and iterate from there.



Inserting Adjacent HTML Without Messing Up Formatting

June 1, 2020

Here's a cool solution to a problem I was having last week! The Problem:

So, I have an unordered list in my Wellbean app that renders the contacts a user inputs into the UI. Once the contact is added, a timer is set on each list item and displays a red background once that timer has run out, depending on the frequency the user chooses when inputting it (i.e. 'Daily,' 'Weekly,' etc).



screenshot of wellbean UI

Now, I also wanted to add a green checkmark to the list item, right next to the red X, that the user could click on to reset the timer and revert the list item's appearance to its default white background.

Since the list item's display is set to flex, and it's flex-direction CSS property is set to space-between - this means that all items will be spread out across the length of the list and spaced out between. So, when I tried to use the insertAdjacentHTML method on my unordered list, the inserted checkmark made the list item's elements (the name, frequency, the X, and the checkmark) super wonky and not at all aligned with the default appearance of each list item:





The solution:

After a bit of thinking on this and some trial and error, I realized that since all nested HTML elements are child elements of whatever they're nested beneath, I could isolate exactly where I wanted to place the green checkmark (i.e. right next to the red X), by using the childNodes property on the list item itself and then grabbing the exact spot where the red X shows up.

In other words, the default list item (with the white background, when the timer hasn't run out), contains three children:


  1. The name (childNodes[0])
  2. The frequency (childNodes[1])
  3. The red X (childNodes[2])




Since I wanted to place the green checkmark right next to the red X, I needed to use the insertAdjacentHTML property on that specific element (the red X).

So! Here's what I came up with:



 
  document.getElementById(`${id}`)
  .childNodes[2].
  insertAdjacentHTML('beforeend', 
  // Font Awesome green checkmark //);


As you can see, by isolating the part of the list item that contains the red X (a div whose innerHTML is set as the red cross, you can insert your new HTML (the green checkmark) just inside of the div and next to the red X, instead of inserting it as adjacent HTML into the entire list item, causing its formatting to get a little crazy and all over the place.

And here's what that looks like now:



Hope this helps a bit if you're having trouble inserting adjacent HTML into an element with several child elements nested within! The childNodes[i] property will help you enormously.



Giving Structure to the Creative Sparkles and Spirals

May 29, 2020

Happy Friday, folks! Today's a pretty chill day for me - nothing too crazy to share just yet, since I'm in the very beginning stages of a big project I've been wanting to start for a while now.

It feels like something that could be a perfect combination of all of the experiences I've had in my life thus far, and I'm really excited (and nervous!) to bring it to life.

Today is about strategizing and giving some structure to all the creative sparkles and spirals that are currently mapping across my brain.

What this means is that I'll essentially pull a Dumbledore when he takes the memories out of his head with his wand and then puts them into that little fountain. (Is that how it goes??)

I'll be taking all my notes and thoughts and get them onto paper with a clear vision of what's needed and when I'd like to go it by. I love this kinda stuff!

So! I've got my mug of tea, I'm listening to some Led Zeppelin recs from my brother ... let's do today!

Cheers!



I'm Giving My First-Ever Conference Talk!

May 28, 2020

Alright, self - enough lollygagging around. It's been just about an hour since I sat myself down to write and in that hour, I've successfully perused a few quick YouTube videos, subscribed for a royalty-free music site, and checked Twitter a handful of times.

So! Big news since the cat's now outta the bag: I'm going to be giving my first-ever talk at the CodeLand Conference in July!

I'm seriously so excited! I posted back at the beginning of April about submitting a proposal to this conference - and I feel so great to have gotten the spot. I can't wait.

Here's the Alex from April 1:

Today's been a much slower day, and it's really felt good! Last night, I'm proud to have sent off my finished application to give a talk at this year's virtual CodeLand Conference! I've never submitted a proposal for a conference CFP, and I can gladly say that I've crossed that one off my coding-journey bucketlist.

Regardless of the outcome, I'm happy to have put my foot forward, and I'm confident I'll give a talk about coding at some point in the next few months, whatever that may look like!



My talk, titled *Being Utterly Fearless in Your Pursuit of Learning to Code*, will mostly be about my journey and my five greatest tips for others who've ventured into the unknown to pursue learning to code and transitioning their careers.

Can't wait to share! Want to attend the conference? Head over here >>



I'm Alex and I'm a Recovering Perfectionist

May 27, 2020

I believed for so freaking long that I wasn't a perfectionist.

I simply couldn't be! I mean, I *wasn't* perfect by any means. And, like, maaaaybe I'd be a perfectionist *if* things were perfect in my life, but they weren't, so...there.

But the thing is... I've learned now that being a perfectionist is actually exactly that: thinking and really believing that things could be perfect in some far-off reality that might be possible to achieve *if* I worked hard enough for it.

This far-off reality is actually just a fluke. It's an unrealistic idea, and even if you're not consciously striving for it, you might subconsciously be thinking that things in your own life and work aren't perfect, so therefore you're doing it wrong and need to work so extremely hard *just* to pass it off as just OK.

It's suuuch a vicious cycle. And now that I've realized I've been acting that way for so long, I'm on a daily mission to combat that type of thinking.

Just this morning, I was considering starting to really design my days by putting my work schedule on a calendar blocked off by 2- to 3-hour chunks. As my mind started to spin out to designing some beautiful, aesthetically-pleasing printable on Canva, I stopped myself right then and there and resolved to use a pencil and a perfectly-suitable blank piece of paper.

Anytime I'm caught in the throes of making whatever I'm working on Just a Tiny Bit Better™ and ultimately losing hours of my time and droves of my mental energy to that pursuit of an impossible ideal, I give myself the benefit of the doubt and get used to thinking that it's perfectly good enough.

Good Enough is powerful. Good Enough is the move.

If you're a perfectionist (or if you didn't realize you actually could be until right now), let Good Enough guide you and set you free.



I'm Making Great Progress on my Side Project and I'm Freaking Ecstatic

May 26, 2020

Wow, happy Tuesday - I'm on a freaking roll since last night. Allow me to explain...

So, yesterday I finally implemented a timing feature for my Wellbean app. Essentially, after a given number of hours (depending on the frequency set i.e. Daily, Weekly, etc), each list item will either stay white (default, timer hasn't expired) or turn red (expired, timer has run out).

When the list item/contact turns red, it means the user should consider contacting that particular contact, based on their pre-set contact suggestion frequency.



Screenshot of Wellbean interface

Ah! I'm so freaking excited about it. It's crazy how it's all coming together, both in the code and in my mind! I'm so proud of it all.

I'm going to focus today's work on learning how to implement Firebase rules for the database so that I can publicly release it while keeping the data private.

Then, after today, I'm going to wrap it all up, record a demo on Loom, craft up a big readME for the GitHub repo, and shout from the rooftops! Cheers.



Continuing on with my Wellbean Project

May 25, 2020

Easy, breezy Monday morning. I'll admit, the past week and a half has been spent in a bit of a funk for me. Totally normal after a big work-push in the couple of weeks leading up to that tired period, so I tried my best to really (really!) step back from pushing myself.

It mostly worked, I think, because today I'm ready to hit the ground running. Well, actually - I hit the ground running last night when I worked for a bit on my Wellbean project again.

It's the same project I submitted for the Twilio x DEV hackathon, but it's different in its user-functionality. While the hackathon project is meant to be run locally on someone's computer, this particular project that I'm now working on is built using Firebase Authentication - so users can use the app on any server and their information will be stored within the app.

I'm pumped!!! I'm also sailing through the inspiration of this epic idea I have for a project on a much larger scale - letting it simmer for a bit while I finish up some other projects.

It's already a good week and it's not even 10am on Monday morning.



How Blogging Can Help You as an Early-Career Developer

May 20, 2020

I've now been consistently blogging - as in sitting down and doing it every weekday (for the most part) - since the beginning of February. That's just about four months - and I don't see any end in sight!

As an early-career software developer or someone who's making the transition into a career in software development, blogging has so much potential to set you apart from the pack. It also allows you the opportunity to document how much progress you've made over a given amount of time.

(You think you'll be able to keep track of it without documenting it, but - trust me - you won't. There are just too many nuances in the day-to-day that asking your poor brain to keep track of it all would be downright cruel - not to mention, completely unreasonable).

I'm not going to list out the benefits of blogging in a neatly-packaged Perfect Blog Post™ because, honestly, I don't really feel like it. Plus, I'm just free-writing here, so I'd rather feel like I'm having a natural conversation (er - monologue?) with you.

Here's my own personal list of benefits that consistent blogging can have for you as an early-career software developer:



I probably have more, but for now, I think these are some goodies! If you're hesitant to start blogging because you're already overwhelmed with how much you *haven't done* (because, hmm, you haven't started...), just *start*.

After all, there's magic in making moves and starting something that might eventually lead somewhere wonderful.



Brushing Teeth, Cleaning Up, and Cultivating Patience

May 19, 2020

Throughout this journey of full-time teaching myself how to program, I've been aware of the very necessary act of cultivating patience.

As I've been playing the long-game in my coding life - being cognizant of the fact that it's going to take hours upon hours of practice and learning to eventually attain mastery - I've also noticed how much cultivating patience has seeped into my non-coding life, in those small, seemingly insignificant moments.

Before this journey started, if - for example - I'd spilled my dog's food kernels on the ground, I'd immediately feel impatient at the prospect of picking up each little morsel. Now, I'm conscious of being way more patient as I watch the mess dwindle into clean again with each picked-up piece.

Now, I practice finding joy in the full two minutes of brushing my teeth when, before, I'd be rushing myself along, waiting desperately for my toothbrush's signal that time was up.

Now, as I'm cleaning up the pieces of one of the three jigsaw puzzles we have (and that I've assembled countless times since occupying myself during lockdown), I don't get annoyed or impatient with the clean-up.

Instead, I'm motivated to keep going with each small action taken - inspired by the results gained with each passing moment. We may not be able to see the progress at the very instant we take the action, but boy are we proud of ourselves at the end.



New Week, Less Work

May 18, 2020

Hi all, happy Monday! This entire past weekend was spent feeling exhausted and - in my ongoing effort to respect my mental limits - I'm pretty conscious of the fact that I need to take it relatively easy this week.

Thankfully, I was able to relax this weekend, on purpose! Even when I felt tempted to work on one of my project ideas, I had to sit myself down with the reassurance that the work isn't goin' anywhere!

Last week, I was able to finish up my client project, which went absolutely swimmingly. I also had my HackerRank assessment for a job application process. When I look back on it, I was taking the days in stride, but I also realize they were *really* full and high-impact work days.

This week, in my effort to eventually come back in full force, my main focus will be on outlining and starting to prepare an upcoming conference talk (!!! More info to come...!) and migrating some blog posts over to my profile on Medium.

Cheers!



Purposefully Breaking the Pattern of Stress and Overwhelm

May 15, 2020

Oh hey, Friday morning! A very productive, good, challenging week if I do say so myself.

I took my HackerRank assessment yesterday and it was ... quite challenging! Regardless, I'm still so happy that I practiced test questions in the days leading up to it. We'll see how it all shakes out.

That all being said, I'm so proud of myself for not dwelling on it after completing the test. Once I was finished, it was like I'd dusted off my hands and was content with just letting it be. No ruminating, no internal drama.

Overall, this week I've been focused on pulling back from stress at any moment that I feel on the cusp of overwhelm - and it has done serious wonders for me (and my brain).

We often get stuck in patterns, so I want to work to keep myself out of the chronic stress pattern as much as I possibly can. This includes getting back to restful and 'slow living' evenings and weekends. Really committing to it. Doing it *on purpose* and choosing to rest when I can to be able to hit the ground running and eager once the work day rolls around again.

It's a hard habit to break, but it's so, so worth it. Plus, if this is the type of conscious living I want my life to be about, I need to practice it during each and every present moment that make up a lifetime.



My First HackerRank Assessment is Today!

May 14, 2020

Thursday morning. Today's the day I'll be completing my first HackerRank assessment for a job interview process. I feel good and confident after spending one hour each of the past six days practicing and getting used to the HR format. Let's goooo!

Once this assessment is finished, there'll be some nice space open in my mind. I may take a bit of a break tomorrow, or I might just jump in to another project I have on my list - like preparing my talk (!!!) for an upcoming coding conference.

I don't think speaker announcements are fully out in the open yet so I'm not going to divulge too much information here, but you'd best believe I'll be shouting it from the rooftops once it does.

OK! Back to today. Probably going to take a nice walk now and then sit myself down for the test. We're given a full 90 minutes to complete the assessment.

In other news, I can't stop listening to this song or thinking about how much I miss/want to eat Toaster Strudel.



How I'm Implementing the Idea of the Infinite 1%

May 13, 2020

During this period of lots of at-home-ness, I've been revisiting this podcast that I love *sooo* much - Unf*ck Your Brain.

One episode that has caught my attention and that has merited multiple listens (as so many of her awesome episodes do to truly absorb the lessons) is her take on what she calls The Infinite 1%.

I'll try to paraphrase it as best as I can. Essentially, it's the idea that the small, goal-oriented actions and efforts we make compound exponentially over time, as opposed to if we didn't start and just stay stuck at step zero.

In other words, there's not much difference between the individuals who give 50% of their energy each day in pursuit of their goals and those who give only 1 to 5% of their energy each day. The real, immense, infinite distance lies between those making even a 1% effort and those who are making 0% effort day after day.

One way I've been implementing the idea of the Infinite 1% in my life recently is the fact that I have a HackerRank coding assessment to do tomorrow. Now, I found out about this test last Friday evening (May 8). From there, I had the option of completing the test anytime between that day and May 14.

I decided to execute the Infinite 1% by choosing to dedicate one solid, focused hour each day to practice coding problem sets on HackerRank. While I know that I won't walk away learning *every* little thing I need to know, I *do* know that by dedicating that one little hour each day, I will have given myself six full hours of solid practice - which is 600% more than doing the absolute bare minimum and infinitely more than doing absolutely nothing.

Today's my last day before taking the test (I'll be doing it tomorrow!) and I'll be sitting down to my sixth hour of focused prep sometime this afternoon.

I feel GOOD.



Getting Wiser with Pursuing Creative Impulses

May 12, 2020

Here's my learning/progress moment for this morning: Even when I'm struck by the lightning bolt of a great idea, it's not always good to start setting things in motion for that great idea right at the very moment it hits.

Granted, this has been one of the defining factors of my life thus far. I've always believed in the power of feeling the fear and pursuing my creative impulses anyway. They've always led me to amazing places in my life.

But the unfortunate downside to pursuing those creative impulses without proper planning and reflection has always been that they and I get past the honeymoon phase and ultimately fade out, if not mutually deciding to each go our separate ways.

This has happened with projects I still consider near and dear to my heart - the fondest memories of their inception and initial implementation (*pats self on back for that unexpected alliteration*) coupled with that eventual flickering out of that first all-consuming inspiration.

As I get older, I'm realizing that I'm starting to take a step back and give a nod to the longer view of a project idea. If that doesn't work, I just take it to Arthur who gives me a *full* dose of reality by questioning its feasibility.

But the thing is - pursuing those creative impulses in spite of their questionable feasibility basically encapsulates the very idea of enjoying the journey in itself instead of putting off all pleasure until the destination. I pursue creative impulses because there's so much to be learned from the process. If it doesn't work out (and what does 'work out' even mean??), it's still so, so, so worth it.

Anyway - this morning, I had a wonderful idea for a project I want to launch...

...That is, eventually.

My past self would have surely scraped all current (and not to mention, important) projects to the side in the single-minded pursuit of this Sexy New Idea™. But my present self recognizes the wisdom in taking the time to wrap up her current projects and checking back in with this fancy newcomer after a bit of time has passed.

After all, if it's as much of a winner as I consider it to be right now, I know it'll stand the test of a few weeks' time.



What I'm Learning from Pulling Back Instead of Forging Ahead

May 11, 2020

Happy Monday! Weekend was good, despite my constant inner battle of trying to get some quality brain-rest as opposed to just pushing for working on *one more thing*. (A conscious work in progress, mind you!)

Thankfully, I'd say that the restfulness won out overall. For this week, my focus is on actively noticing if I'm starting to feel stressed or overwhelmed and then making the conscious decision to actually pull back instead of pushing myself.

It feels counterintuitive, for sure - to press the brakes when I'm starting to feel the overwhelm of the work I need to do. But the thing is, in the grand scheme of things, I think my brain is viewing the work that could be done over the course of weeks and months as something to be done and neatly wrapped up by the end of the day or week.

And that's bananas!

Our brains aren't actively trying to stress us out, they've just been so conditioned by high-achievers to constantly push for more, more, more (!!!) that if they don't feel constantly in motion, then they feel like something's wrong.

This week is about working on that for me.

Aside from that inner work, I've got a couple goodies on my plate. This week I'll be finishing my client project (web design), so that'll be awesome. I've also got a HackerRank coding assessment to complete by Thursday - so *that* is also top of mind.

In fact, I've made it a goal of mine to spend one hour each day - since Saturday, I think (?) - practicing problem sets on HackerRank to get myself used to the format and all that fun stuff. I'm actually really loving it - for me, it's like solving challenging puzzles and sometimes I just can't get enough. (Hence, the one-hour time limit...)

Okay, this is starting to get long. I'm off to start my week - cheers to all!



Pushing Through Resistance to Practice Coding Challenges

May 8, 2020

Alright, folks. We've made it to the end of the week. And it's actually been really calm!

I'm at about the halfway point of my client web design project where I'll be finishing up the first draft of it and sending it over to my client and her virtual assistant for review. Then I'll have a nice, restful weekend.

I mentioned yesterday that I wanted to start practicing live coding technical challenges. But I didn't get around to it, and toward the end of the day, I noticed myself feeling really tense and edgy.

I think I got caught up in a mind-whirl of "Well I don't know how to do this so I'm just better off putting it off indefinitely."

Which...doesn't help very much.

Thankfully, those feelings were assuaged by talking it through and going for a long evening walk.

But today's a new day, and I've made the decision to start my work by actually setting a timer and working through a coding challenge. Regardless of whether or not I'm successful with it, I'll still be a bit closer to where I eventually want to be (instead of staying at Point Zero by not doing anything at all).

Just like compound interest - showing up and making small consistent efforts over time result in exponential growth. That's the ultimate move - here we go.



We've Arrived at the Bridge - Now, Cross!

May 7, 2020

Thursday, Thursday, Thursday! Last night, I attended a great webinar put on by Twilio where participants got to try their hand at a live coding exercise via HackerRank.

Honestly, it was actually my first time doing that, and it was challenging - in a good way! I learned a lot afterward about best practices during the debrief from the host, Corey, and it really inspired me to start practicing with those timed coding exercises.

In fact, practicing live/timed coding exercises has always been one of those things at the back of my mind in an "I'll cross that bridge when I come to it" kind of way, and now I'm definitely thinking that I've come to that bridge lol.

I think I'll probably set myself up to do a few practice rounds each week. It's just something that I'm going to have to sit down, set a timer, and *do*.

That being said, I'm becoming more and more conscious of my tendency to shy away from new things that I don't know how to do because my underlying thought is that 'I don't know how.'

Looking back, it has been one of the determining factors in leading to procrastinating on important things in my life, but I'm realizing more and more that if I just purposefully work to switch the script and tell myself that the only way I'll eventually know *how* to do it is if I jump in and start practicing and getting experience with it!

Well, folks, we've made it to the bridge ... let's cross!



Step Away from the 'Should' to Embrace the 'What If'

May 6, 2020

I woke up with amazing news today! Can't share directly right now (I know, the frustration!) but just know that I'm feeling GÜD.

From some Pinterest browsing this morning, I took a break from my regularly-scheduled gallery-wall and sprawling-cottage-garden inspiration to fall in love with this sweet quote (author unknown):



You gotta start romanticizing your life.

You gotta start believing that your morning commute is cute and fun, that every cup of coffee is the best you’ve ever had, that even the smallest and most mundane things are exciting and new.

You have to, because that’s when you start truly living. That’s when you look forward to every day.


I seriously love this. Consciously recognizing each moment as unique and exciting has been *the* deciding factor for me in living an amazing life.

The fact that our experiences are shaped directly by our thoughts and that we can learn to cultivate our thoughts to have a more optimistic (or inversely, negative) bent is simply mind-blowing.

I love this time in my life - learning, growing, gracefully stepping away from the 'should' to embrace the 'what if.'

And it's only just getting started.



Productive Yet Languorous

May 5, 2020

Another day! I had another pleasant realization last night at around 9pm that this week is très laidback. It feels so nice to not have something pressing to do at every minute of the day and evening!

While I have my client project - with steady progress each day, there's no need for stress or rushing things out the door. I wish I could go back to my past self (high school, college, etc) and teach her how to complete tasks and assignments gradually and pleasurably instead of waiting until the last minute and inevitably dreading the experience.

In somewhat related news, I've been doing a lot of personal development work during this period of COVID confinement - with meditation, thought work, and tuning in to helpful podcasts - and it has just made me realize how much progress I've made, as well as how much interesting work there still is to do!



New Week, New Project

May 4, 2020

Happy Monday, folks! After a relatively productive-yet-relaxing weekend, I'm ready for this new week - complete with the start of a new client web design project!

It's been a minute since I've done client work, and I'm actually really excited to get back into it for this project. It's going to be a simple transfer of the site from Wordpress to Squarespace, but with some custom JavaScript code thrown in by yours truly. Really looking forward to the process.

Other than that, this week should be pretty laidback with a couple of life-admin tasks to take care of! Yay!

Hope this week is great for you as well! Cheers.



My First Hackathon Submission: Success!!!

May 1, 2020

Wow-ZA. The last couple of days have been *intense* to say the very least. Over the past two-ish weeks, I've been steadily moving forward with my very first hackathon project, Wellbean.

I can't even begin to count the number of times I went back and forth about if, when, or how I was going to finish the project after coming up against so many confusion headaches and roadblocks.

Well, my friends, I'm elated to say that I submitted my project yesterday in a neat little package à la a blog post on dev.to which you can find right over here >>

And here's a quick demo of the project:



*Huge breath of relief and satisfaction...* I am so, so happy! Now, may the weekend commence with joyful relaxation, lots of reading, and some low-key question-answering for an awesome apprenticeship application. Cheers!



Roadblocks and a Big Mindset Shift

April 28, 2020

Okay. So I'm definitely facing a depletion in motivation from before. I spent a large part of the yesterday hung up and going around and around in circles on how to implement a Twilio API into my wellbean app to gather information from the database itself.

Now, after coming up against so many dead ends, I'm wondering if I should just hook up the API in a very basic 'Welcome, here are instructions for getting started with wellbean...' way.

Luckily, I have a virtual meetup tonight where I'm going to work on the app and hopefully talk through this roadblock with other coding ladies.

The thing is, though - as much as I want to submit this project to the hackathon with the full Twilio functionality, I *also* need to stay aware of the fact that even if I don't end up submitting it, I still have an absolutely epic project I've built up from scratch!

I learned and set up Firebase! I learned how to set up user accounts and databases! I finally learned how to use CSS Grid! Seriously, that's already more than amazing!

My plan for today is to spend some time learning about setting up Firebase Rules for data privacy and then implementing that into my app.

I may also work on a color/time function for wellbean to keep track of who needs to be contacted based on how much time has passed. I started in on it yesterday, but it needs a little bit more tinkering around :)



A Great Epiphany

April 27, 2020

Mondaaaay! I had an awesome weekend, especially with the epiphany that hit me over the head with my wellbean project!

Basically, after I was chasing my mind around in circles, I realized I was majorly overcomplicating everything. Here I was, torturing myself trying to make an entire, full-service application. I was coming up against so many weird scope issues, so I finally stopped myself and consciously wondered what this would all look like if it were easy?

Just from that musing, something instinctively clicked in my brain, and I realized that I *only* need to build the functionality so that it works in a local environment. In other words, I didn't need to worry about getting users' profiles all built out and pulling their information across different channels just so the app worked.

I only needed to lay out the instructions for getting the app to work on anyone's own machine (i.e. leave all the data-pulling out of it on my end, and allow users to use the app based on their own Twilio account and data).

Seriously, such a relief! Instead of entering this week as a wired bundle of stress pressed to make my deadline (April 30), I'm now really excited to (probably) finish everything up today and be able to put the final touches on the presentation before submission. Yes!



My Latest Creation: wellbean

April 24, 2020

Wowza. Whatta Friday. Overall, I made some major progress on learning how to implement Twilio with my app. After a bit of trial and error, I was sooo elated when the programmed messages started coming through to my phone.

I'd started with SMS alerts with Twilio, but seeing as that I'm in France and it's just easier to use Whatsapp for me (for testing), I ended up just going with Whatsapp functionality. At the end of the day, the app will still do what I want it to do, regardless of how the message is delivered.

And...I suppose now's as good a time as any to announce *what* my actual app is (since I haven't unveiled it yet!).

Behold.... WELLBEAN! It's an app that helps users stay connected to loved ones by sending them automated suggestions about who to reach out to on any given day. Just a simple SMS reminder can help plant the seed of connection and cultivate a sense of social well-being.

Once it's fully functional, I'm super excited to use it for myself to help me stay in contact with friends and loved ones during this crazy time.

Happy weekend, friends!



Think Deeply and Forget It

April 23, 2020

Ouf. There comes a day in every fun yet challenging yet inspiring week of coding that my brain and body just slam on the brakes. And that day is today.

It's Thursday, and I decided to take a break from my hackathon project for the day. Thankfully, it's as fully functional as I need it to be for the time being. Now, I need to hook up the Twilio/SMS send functionality to it.

As for today, I'm mostly avoiding high-input items. I'm just about to post this blog (check!) - and then I'll work on crafting today's Nelson newsletter to send out. Lastly, I get to draft up a contract and initial invoice for a new web design client project starting next month.

I spent some time reading over the Twilio documentation yesterday, but I have to admit I felt really in over my head. Thankfully I still have a week before the hackathon deadline (April 30), so I can definitely benefit from some much-needed rest. I may need to reach out for help around this - we shall see.

As Don Draper says in Mad Men: "Just think about it deeply, then forget it. An idea will jump up in your face."

Ya don't have to tell me twice.



Level Unlocked!

April 22, 2020

Yesterday, I left off mentioning that I was going to focus on getting each user's account synced up with their own unique settings within my hackathon app. I'm over-the-moon excited and proud to announce that I solved the issue in a relatively short amount of time yesterday (yaaaay).

For a little more context, I was writing logic in my program that basically said 'If a user inputs a certain item into their list (Firestore backend), add an ID property to that item that was an exact match with their own user unique ID (uid) (Firebase authentication).'

The issue was that whenever I'd log in as one user's email address (a@example.com) and add new items to their account list - I'd log out and then log in again as another test user (b@example.com), and the first user's information and input settings would show up (er, not ideal).

After a bit of good ol' fashioned thinking (and a good amount of trial and error), I decided to try to wrap the logic in the Firebase method onAuthStateChanged so that it essentially ran the code again for each new user that logs in. I also had to make sure to remove the list items upon a user logging out so they don't show up for someone else logging in (I'm sure there's a more secure alternative for how to do this, but at this point, I'm trying to focus on getting a *working* model of the app!)

Here's a snippet of the code wrapped in the onAuthStateChanged mentioned above:




auth.onAuthStateChanged(user => {
   if(user) {
    db.collection('contacts').get()
    .then(snapshot => {
       snapshot.docs.forEach(doc => {
        if(doc.data().id === 
        auth.currentUser.uid) {
          renderContact(doc);
        }
      })
    })
  } 
});                       


Today, I'm focused on rendering the list items in realtime (so as soon as the user enters an input value to be rendered, it won't be necessary to refresh the page to get the info to appear on the UI - it will automatically update. That'll be pretty easy, I know I've watched a tutorial about this - just need to refresh my brain!

Also, I'm going to spend some time going over the Twilio documentation to figure out what needs to be done to implement the SMS reminder functionality (I *might* look into Whatsapp messaging instead if it's simpler - we shall see). Onward!



Programming and the Bigger Picture

April 21, 2020

Yesterday, I was an absolute beast with coding and my Twilio hackathon project. Each time I came up against something challenging, I was able to break the issue down into smaller, more manageable parts.

It's becoming more and more clear to me how much programming is about knowing what solutions are available and *where* to look for them. The more familiar you are with bigger picture, the more tools you have on hand to put one foot in front of the other to solve hard problems.

The deadline for the hackathon is steadily approaching (T-minus 9 days left!), so I realize I need to get going with adding my Twilio API to the app.

But first, I need to focus my attention today on making sure each user is seeing their unique data once they're logged in. I'm confident I'll figure it out, but it was definitely the main issue I ended with yesterday.

I'm looking forward to checking back in here tomorrow with a positive report :)



Go Time

April 20, 2020

Happy Monday! Had a great weekend. Almost (!) no coding, but I admit, I couldn't hold myself back from tinkering with my hackathon project. I added a few more items of functionality, including displaying and hiding certain aspects of the app based on whether or not a user was logged in.

Today, I'm going to focus on clearing up some bugs I have with logged in and logged out states. Literally, just this moment of writing gave me a burst of inspiration for fixing something, so I need to wrap this post up and get to it!

Ideally, I'd like to think up a good structure for storing users' data in a Firebase database (I also have the first initial inklings of how to do that from meditating on it this morning - so good).

In a perfect world, I'd get my Twilio stuff all set up this week (meaning, starting to add my API logic to the app). In other words, this week is for working hard to get the full MVP out the door and then next week would be QA-ing it and fixing any last minute bugs before submitting it on April 30.

Go time :)



Getting Familiar with Firebase Authorization Fundamentals

April 17, 2020

Alright, team. It's a quarter to noon, and I need to get myself into gear for today's work!

Had a great morning - reading, writing, and meditating. Looking forward to a productive Friday afternoon.

I'd like to get as far as I can with the Firebase Auth tutorial I'm currently following along with. I'd say I'm a little less than halfway there. If I can finish it, that would be amazing; but I'm also not putting way too much pressure on myself in that regard.

If I can simply get to a point where I'm comfortable with it, and then move on to implementing user login capabilities with my hackathon project, then that'll be the move.

Hoping to release V1 of the UI next week - yeeee!

Calling to the muse for inspiration and motivation. Cheers!



What It's All About

April 16, 2020

Still keepin' on keepin' on with my hackathon project today. Since it's Thursday, I'll also be sending out another Letters from Nelson newsletter.

I'll probably work on getting the newsletter all drafted up first today (to conserve all creative energy and lower the risk of feeling unmotivated to do it later today).

Then, I'll continue on with my Firebase authorization tutorial, which I'll probably finish tomorrow. After I learn how to create and store all new users (yay!!!) I'll add that functionality to my hackathon project. To complete it, I'll add the Twilio API as well as logic specific to the app.

Woooo! I love love love how this is all coming together. Consistently showing up and making incremental progress, that's what it's all about. Cheers!



You Only Do Well What You Know Well

April 15, 2020

Spent yesterday following a tutorial for setting up Firebase as a backend database, and I'm *so* loving it! Every time I learn something new with code and web development, it simply blows my mind.

I think the most important thing as you're learning to code is the fact that simply being *aware* of what tools you have at your disposal will help you so incredibly much through solving any problems that pop up.

My plan for today is to finish up learning the ins and outs of Firebase/Firestore and then learn how to set up user authorization so that I can start implementing sign-up functionality on my app.

Oh - I guess I haven't mentioned the overall idea of it. Essentially, the app will be a tool that keeps people connected to their friends and loved ones with automated suggestions about who to contact on a certain day.

The user will create an account, create a list of all the individual people they want to be reminded to contact, as well as the frequency of desired reminders (i.e. once a week, twice a month, etc).

After I get the database structure organized and set up, I'll start to play around with hooking a Twilio API up to it. At this point, I think the simplest thing to do would be to enable SMS alerts for users.

Really, really, really excited about it.

And to end this post, here's some inspiration from the label of a really great bottle of wine we recently treated outselves to:



BENE FACIT ID QUOD BENE MAT: You only do well what you know well


Keep learning, keep doing. Fall in love with the process and it'll become a part of who you are.



So Many Possibilities to Pursue

April 14, 2020

I did a lot of CSS grid practice yesterday and it is really just amazing stuff. I'm surprised it took me this long to jump on the bandwagon.

But seriously - mobile responsiveness with grid is amazing. I *cannot* wait to continue implementing it into the UIs of the apps I build.

I got version one of the project I'm planning on submitting for the DEV x Twilio hackathon. Submissions are due on April 30, so I have about 16 days left to learn how to add a backend to store user data and registrations! Fun stuff, I'm really excited about it.

I can't wait to share more about the project, too! I'm keeping it a bit under wraps for now because I want to release it all at once. Considering also starting to record myself with my coding days (using Loom?) and sharing those videos.

So, so, so many possibilities to pursue.



Semi-Work Day

April 13, 2020

Mondaaaay! Although technically it's a jour ferié in France (the day after Easter), I'm going to treat it as a half-work day for me. Yesterday, I found this amazing YouTube channel - The Net Ninja, full of great tutorials.

My next move is to learn more about Firebase Firestore for implementing a backend structure to an app I'm planning on building (which I'll learn thanks to this Net Ninja channel!), but then some CSS Grid tutorials caught my eye, and I'm looking forward to using today to brush up on some style skills - especially since I've been wanting to dive into CSS Grid for a while but just haven't gotten around to it.

And lastly, as promised...here's the second part of the great tips I gleaned from Thursday's Tech Career AMA:



10 Great Break-Into-A-Tech-Career Tips

April 10, 2020

It's Fridayyyy! I attended a 'How to advance in your tech career' live AMA (Ask Me Anything) last night, and I'm happy to report I picked up a lot of great nuggets o' wisdom!

So, armed with my trusty Google doc with the video screen taking up the other half of my screen, I got to work taking those notes.

Here are the first ten of some great tips I picked up (I'll post the rest on Monday):




Spring Afternoons and Completed To-Do's

April 9, 2020

Happy Thursday afternoon! We just finished up a wonderful lunch out on our balcony. Sunny, breezy, peaceful - everything good about a spring afternoon. I'm grateful.

Yesterday, I finally buckled up and crossed off two of this week's items from the list. First, I added the 'Previous Editions' section to my Letters from Nelson landing page.

This'll give prospective subscribers a chance to see what the newsletter has to offer - always a good thing when considering signing up for any newsletter, I think.

The second thing I did was to add the entire Letters from Nelson project to my portfolio itself (hint: just click on the Projects tab above to check that out).

On days when you're just not feelin' it, *the* most important thing you can do is to make the decision to show up.

If you're wanting to go for a run, make the decision and then squeeze yourself into your sports bra.

If you're wanting to code something, make the decision and then open your text editor and code one thing.

If you're wanting to blog everyday, make the decision and then sit down day after day and write literally whatever's on your mind.

The last couple of days, I was so putting off my to-do list items, and then I just *made the decision* to show up, sat down and got to work. A couple of focused hours later and voilà! Mission(s) accomplished!



When JavaScript Becomes a Part of You

April 8, 2020

When I was *first* learning to code over a year ago with HTML and CSS and wondering what I'd move on to next - I remember talking on Slack with one of my colleagues - an engineer. This coworker was really such a helpful source during those first few months with his encouragement and perspective.

One really helpful thing he said to me definitely made an effect - so much so that I immediately wrote it down at the time for fear of not remembering it one day (and I'm so glad I did!):



JavaScript is going to be a new journey - since it’s a full-blown programming language. However, the fun is also on a whole new level - it’ll make you feel like a wizard!

Don’t look at it all at once. Start one step at a time - you won’t even notice how it’ll become a part of you.



That final 'you won't even notice how it'll become a part of you' is so incredibly accurate. With every passing day of learning and sharpening the skills we have, programming becomes a part of us.

It becomes a part of us in the way we think. In the way we solve problems. In the way we accept that we don't know the answer right now but give us some time and we have the confidence to figure it out.



Stoking the Motivation

April 7, 2020

We're in the midst of Week 3 of lockdown in France, and I have to admit, I keep getting a later and later start with sitting down to my work. This may be a more sit-and-relax-and-don't-stress-too-much-about-output time - so I'll follow suit.

Despite that, I still *do* want to somewhat make progress with my coding journey.

Today's post will be my three things I'm focusing on today/this week. My to-do list from yesterday was rather ambitious and I found that about 75% of it was pushed to today, so it's definitely going to be one of *those* weeks lol.

Here goes! Goals for this week:

1. Finish Section 8 of my JS course (has to do with AJAX and APIs and I'm actually almost completely finished so that's A-OK)

2. Scope out hackathon project - this fits in perfectly with what I'm currently learning with APIs (see above), so I'm excited to get a project idea I have out of my head and out the door!

3. Add past editions of the Letters from Nelson newsletter to the site *and* add LFN to my portfolio list

(And sprinkle in lots of reading and break-taking, as well!)



Rinse, Repeat, Refactor

April 6, 2020

Happy Monday! Yesterday, I sort of broke my 'no work on the weekends' rule and worked a bit on my JS course. Mostly just went over a coding challenge a couple of times to really cement in the information. It was great and I got a lot more practice with writing good, effective code.

One thing I do when I'm repeating a challenge or a project more than once is to make sure I really stop and think about the solution to something - especially when I'm stuck, but I know I've found a similar answer before.

It's extremely helpful to get yourself a working solution *before* checking the solution so that you can put the puzzle pieces in your head before glancing at something that will immediately remind you of the correct answer without the work of those neurons firing in your brain to retain the learning.

I'll put in a little example here. For the coding challenge, we had to generate a couple of reports about the three parks and four streets in a tiny town using classes and functions to display the reports to the console.

For one part of the challenge, we needed to log a statement to the console if any of the parks had over 1000 trees (the number of trees was included as a parameter in the Park class as numTrees). Here was my first attempt in thinking it through by myself:

  
  const checkNumTrees = () => {
    for (const element of parks) {
      if (element.numTrees > 1000) {
        console.log(`${element.name} has more than 
        1000 trees with ${element.numTrees} 
        trees in total.`);
      }
    }
  };              
  

So, the above function gets the job done, albeit not very beautifully. Going through it the next time, here's how it could be simplified:



  
  parks.forEach(element => {
    if (element.numTrees > 1000) {
      console.log(`${element.name} has more than 
      1000 trees with ${element.numTrees} 
      trees in total.`);
    }
  });                      
  

So now it's been simplified by using the calling the forEach method on the parks array while still using the if statement within the function. Better, but here's where it could be improved even further:



  
  const index = p.map(el => el.numTrees).findIndex(
    el => el >= 1000);
  console.log(`${p[index].name} has over 1000 
  trees with a total of ${p[index].numTrees} trees.`);                   
  

I'd say that overall, this last refactor gets the job done very cleverly, but for me, the clearest way of writing it would be the second way. I see it, and I immediately know what the function does and what results it should return; whereas, with this last refactor, it would definitely take me a minute to figure it all out.

I wonder if that'll change as I get more and more experience (probably). Although I've often heard that it's better to write clear, easy code than it is to write overly clever code.



Inspiration and Playing the Infinite Game

April 4, 2020

Hi friends! Wow, it's crazy how inspiration can leave for a bit to take a break and then come back tenfold after you just give it a little bit of rest!

Here's where I'm at: I've finally launched my own landing page for my Letters from Nelson newsletter (I'd just thrown it up before using the landing page builder from Mailchimp with the intention of coding my own in the near future).

So after a couple of days and a few false-starts with design (you know - where you code something up, and there's just something about it that looks super *off*), I'm proud to share it here >>

Over the past month, I've sent out four newsletters. I did a ton of nannying in previous years, and I *loved* finding super fun and unique activities for the kids I took care of - so this is definitely an extension of that in hopes of helping parents out with fun ideas for their kids during this strange time in our world.

Aside from that, I have a couple of 'life admin' items to take care of today - including hooking up a custom domain to my LFN site. I might have a weekend project of reconstructing the code from a website I saw and liked the design of. Also looking into a cool hackathon and seeing how I can get involved!

I also just started a new morning read - The Infinite Game by Simon Sinek. I'll leave you with this special nugget from the book:



As for us, those who choose to embrace an infinite mindset, our journey is one that will lead us to feel inspired every morning, safe when we are at work and fulfilled at the end of each day. And when it is our time to leave the game, we will look back at our lives and our careers and say 'I lived a life worth living.' And more important, when imagining what the future holds, we will see how many people we've inspired to carry on the journey without us.



Starting Off Slowly in April

April 1, 2020

Hello! It's about 20 minutes after 6pm and this may be my latest-in-the-day blog post yet, but I'm happy to have shown up!

Today's been a much slower day, and it's really felt good! Last night, I'm proud to have sent off my finished application to give a talk at this year's virtual CodeLand Conference! I've never submitted a proposal for a conference CFP, and I can gladly say that I've crossed that one off my coding-journey bucketlist.

Regardless of the outcome, I'm happy to have put my foot forward, and I'm confident I'll give a talk about coding at some point in the next few months, whatever that may look like!

I think I'm going to continue taking it easy for the rest of the day and tie up any current loose ends with my projects going on right now. I haven't worked too much lately on my Letters from Nelson app, so I might settle in to that and then push out a working app to start sending visitors to (instead of the thrown-together landing page à la Mailchimp!)

Here's to the start of April and two months already of consistent blogging - yee!



Off to a Late Start

March 31, 2020

Happy Tuesday! I've almost completely finished up my latest section of my JavaScript course, where we go over the updates of ES6 from ES5 with concepts like classes/subclasses, destructuring, the spread operator, rest and default parameters.

All such good stuff! I'm really excited to build another app with the course - the next one will be a recipe app, I think we may be incorporating APIs in this one, not sure though.

I'm getting a rather late start today since feeling a little under the weather this morning. Long story short, I watched The Pursuit of Happyness last night, and emotional hangovers are most *definitely* a thing.

I'm looking to put much of my focus today on submitting my application for my CodeLand talk and also finishing up my JS section by working on a coding challenge involving classes and subclasses. Let's get to it!



The Start of a Great Week

March 30, 2020

Goooood morning! Happy to be back at it again this week after a restful and long-feeling weekend without coding.

Today my focus is on finishing up a section of my JavaScript course where we're diving into coding some of the same things using first ES5 and then ES6 right after to review the differences between the two. It's cool because I first learned ES6 when I was just starting out with JavaScript last year, and reviewing it now feels good and easy - especially now that I'm so much more familiar with the 'why' of how much of JS works.

In other news, I'm going to be submitting my first application for a coding conference talk! It'll be with CodeLand (virtual this year in light of COVID-19). I have until tomorrow to submit it and I'm going to be working on the questions portion of the application today.

Lastly, I've been wanting to find and join an open source project for a while now, but I've literally had no idea how to. I'd always get confused on GitHub's calls for open source issues and 'Good for First Timers' options as well, and I had a feeling that I'd be better of finding *one* project and sticking to that one for a while.

Well... I think I found the perfect one (more details to come, but it involves an online library - so books plus coding equals my kind of heaven).

In a nutshell, I reached out to the team via email after stumbling open the project from a Facebook post. I then got a quick and enthusiastic response the next morning (I'm all about those fast turn-arounds!), got invited to their Slack group, and reviewed a quick list of some example issues that needed working on. I'll focus today on getting myself set up within the channel and getting a feel for the project, etc.

It looks like it's going to be a great week!



Daily Life as a Practice

March 27, 2020

And Friday rolls around, yet again! The days of the week now tend to blend together, so it feels like the weekend is just another set of days tacked on to the long stretch of confinement, but alas we all float on.

Today my main focus will be on starting the next section of my JavaScript course - something that's been on my to-do list probably every day this week but has yet to be actually implemented. No time like the present!

Anyway, I came upon this little nugget in my morning reading (surprise! It's once again from Steven Pressfield's Turning Pro):



Our work is a practice. One bad day is nothing to us. Ten bad days are nothing.



This is so true for so many things in my life currently. In times like these, it feels simple and almost effortless for me to get all the way back to basics. To stick to my morning routine. To carry on with my daily habits. To view it all as playing the long game.

I've noticed a lot of people in my life are finding it difficult to adapt to staying and working from home (with less freedom of going out, etc). For me, it's the best time to get back to those basics and to take advantage of the time to start building and further cultivating good habits - whether that be with exercising, meditating, writing, getting a good night's sleep, or anything else.

If we start viewing our daily habits as individual practices that we show up for as often as we promise ourselves we will, we won't fall victim to obstacles or setbacks. We'll just pick back up tomorrow and carry on with our amazing lives.



The Power of Getting Shit Done

March 26, 2020

After my not-so-productive Tuesday of this week, yesterday (Wednesday) was definitely a come-back.

As always, the most difficult part of getting all your stuff done is 1) actually starting and 2) actually *focusing* on each individual task.

So often, we run around stressed out about what there is to do, talking anyone's ear off about how stressed and busy we are, and then only half-assing each item on our list. At the end of the day, guess what! Nothing has really gotten done.

Anyway - as much as I could go on and on about that, let's get started on today. I've just finished this morning's YouTube exercise video (I've been getting really consistent with those so, yesssss!) and then today I'm going to be working on my Letters from Nelson app and sending out a newsletter to the email list.

Yesterday, I also spent a very focused hour building a spreadsheet for ideas for the newsletter, so that has removed a lot of the 'unknown' in terms of what to send out and when. Plus! More and more ideas have been coming to me, and I'm so thankful to have a designated place for all those little nuggets of inspiration.

Here's to another productive day and making little bouts of progress, however they may look for you.



Working through a Conscious Lull

March 25, 2020

Yesterday was one of those days where I just accepted that nothing was going to really get done. A bit of a weekday break of anything coding/technical-related.

Things on my mind today:

1) Working more on my Letters from Nelson idea-generating app - specifically the design and classList toggling I want to do on certain clicks.

I also had the idea of implementing the 'Add an idea' feature as a pop-up box that displays in an absolute position with the textarea and submit button there. I'll play around with that idea a bit.

2) Getting the next six weeks of Letters from Nelson newsletter planned out on a spreadsheet. I've been having such resistance with this, so I might as well get things done now so it's not all left up to reactivity and getting things out the door at the last minute.

This week (not necessarily today), I'd also like to move on to the next section of my JS course (after multiple run-throughs of the budget app section).

Progress - woooo!



Little Pleasures and Consistent Progress

March 23, 2020

Back for another Monday - one of the best days! I spent a relaxing weekend with Arthur and Nelson, just doing things around the apartment, cooking nice meals, building a puzzle, and even taking a long walk around our neighborhood (with permission slips in hand, of course). It's amazing how much we're appreciating the small (tiny!) beautiful things in our lives during these strange times.

My objective this week is to ease up from my budget application and continue on to the next steps of my JavaScript practice. As to what that looks like - I'll probably run through how to update the percentages of each item within the budget app one more time before brushing my hands off and wrapping it up.

I'll definitely come back to it in the future, especially for coding up a budget app of my own (i.e. not using any previously-coded samples or html files from the tutorial itself). That way, I'll be able to add it to my portfolio.

In terms of other ideas, I was inspired by something I saw yesterday - and now I want to code up an idea generator for parents to do with kids at home - much in the same vein as my Letters from Nelson project. Last night, I sat down with my notebook and brainstormed which modules and functions would be necessary for that.

I was amazed at how much progress I'd made up until this point simply by being able to fully visualize the application itself and which components needed to do what, etc. Excited to get to work on that and share it with the world!



A Different but Overall Great Week

March 20, 2020

Happy Friday! This week has been different, but overall, I'm grateful there hasn't been a staggering level of change from my normal routine working from home.

Yesterday, I scrapped my latest app.js file for my budget app and started anew! Round 4 (I think?) of building out the app on my own. This time, I've still left the functions and methods up as a sort of program 'skeleton' to remind me of what to add where. Even in doing so, I am *so* proud of myself for filling in the majority of functions with *no* notes!

The plan for today is to finish up Round 4 of building out the app (it's amazing how much quicker I can do it now than at the beginning of last week). Then, for next week - my focus will be on Round 5 of rebuilding it from absolute scratch. Wowza.

I'll also be laying out the scope of the next six weeks for the Letters from Nelson newsletter. I'm so looking forward to digging through ideas for future editions.

It's been a great week. Here's to focusing on the things we can control and taking care of ourselves in the meantime.



Onward and Upward

March 19, 2020

Whew! Adjusting to a two-person work-from-home experience has been exactly that... an adjustment.

Nothing negative, by any means whatsoever. But it is quite interesting to notice the small ways my daily routine has been changing. Regardless, I'm still doing my best to get in my read-journal-meditate morning routine and couple good hours of solid coding and learning.

I'm also pleasantly surprised at myself for taking to YouTube workouts in stride. I suppose that's to be expected when you have no other choice? (In France, we're currently on lockdown, so no gym or runs outside for me).

I took a small break from coding yesterday as I was busy launching an email newsletter geared at helping parents whose kids are stuck at home due to the virus. It's going to be such a good time curating all the ideas for kids to see and do, virtually. You can view the project and subscribe here if you're so inclined: Letters from Nelson

As for today, I'm set on reviewing what I've been working on this week and possibly re-coding the addItem, deleteItem, and updatePercentages portions of my budget app. Onward and upward!



Consistent Steps Lead to Mastery

March 17, 2020

Yesterday, the main focus of my coding work was in really working to understand how the addItem and deleteItem functionalities worked within my budget app.

To get a 100% clear picture, I sat down and took out a notebook and a pencil. I started with the deleteItem functionality, since that's what I'd left off on last week. From there, I looked at each of my three modules: the budget controller (data structure/behind the scenes of the app), the UI controller (what's viewable or able to be interacted with on the app's user interface), and the app controller (the part of the code responsible for enabling the budget controller and the UI controller to interact with and get information from one another).

I studied each piece and *consciously made sense of it in my mind* before moving on to the next function. I then did the same thing with the addItem functionality.

What I found was so interesting was that when I really took the time to isolate each specific functionality of the app and map everything out from beginning to end, it gave me such an incredibly clear idea of how everything fits together in the bigger picture of the entire app.

Today, my focus is on doing the same thing as yesterday as I map out the functionality of calculating the percentages of each expense against the total Income.

The process of consciously and consistently working toward understanding how a program works has been fascinating, to say the least. I'm confident that having a solid routine in place - even if it allows you to put in the work only one hour a day - is *the* key to finding success as a self-taught programmer.



Just Keep Coding

March 16, 2020

Happy Monday! Over the weekend, the social life of France has essentially been placed on lockdown, but we're well-prepared. I'm especially excited to get some major coding done over the next few weeks.

I just did an unexpectedly cool (and surprisingly easy!) thing this morning in removing all of the '.html' extensions from my page URLs. Essentially, it has to do with adding a .htaccess file to your root directory and then creating a couple of rules and pushing it to your server (pushing it to GitHub, where my portfolio site is hosted, for me).

Back to Monday. I ended last week on my third build of my budget app. At this point, it's becoming clearer and clearer where exactly I need to focus my learning energy. YAY for clarity because, let me tell ya, I didn't know which direction I was quite going last week during my solo build of the app. As one of my mentors, Marie Forleo, says: Clarity comes from action, not thought.

My three things I'm focused on today:

1. Picking back up on my budget app and focusing on the 'Delete Item from list' functionality specifically.

2. Writing out my list of steps to take and what to focus on when building and rebuilding an app (from tutorial to full mastery of it)

3. Checking out an online course called Full Stack Open and seeing if it's something I should add to my learning strategy at this time or not.

Happy Monday, again - this week is fully underway!



In Progress: Breaking Away from the Tutorials

March 13, 2020

Happy Friday! This has been an exceptionally great week for me in terms of personal motivation.

I'm proud to say that I've completed my morning routine each morning (reading, journaling, and ten minutes of meditation before diving into any work stuff), I've made great progress on my budget app (Round 2: redoing the tutorial *and* Round 3: building the app but not following the tutorial videos), and I've been being more mindful of my health (staying hydrated, eating balanced meals, exercising regularly, getting lots of sleep, etc).

In terms of the budget app, I started in on Round 3 (building the app but not following the tutorial videos) yesterday, and it was actually quite a challenge! Definitely a great example of why it's important to follow along with tutorials up until a certain point but then to consciously break away from them in order to build an app on your own.

To put it simply, it's hard! And it's definitely not as sexy as coding up a storm by following along with a tutorial.

But it's so, so important - and I'd go so far as to say it's *the* factor that sets self-taught developers apart from one another along their learning journeys: those who make the conscious decision to solve problems on their own and those who stay in the shallow end with the comfort and relative safety of tutorials.

But the magic there lies in pushing through those obstacles. In consistently overcoming that often-disheartening feeling of starting from 0. In keeping true to the vision, even and especially through the tough and uncertain parts.

I haven't gotten there in this specific context, but past experience tells me I'll *love* what I see when I come out on the other side.



How to Dynamically Set the Date Using JavaScript

March 12, 2020

Update: I finished Round 2 of my budget app yesterday! After doing so, I took out all of the functionality from the app (but left the function/method and variable names) so that I can go through and fill everything out myself.

It's easy to feel like I'm not really doing any groundbreaking learning, but I really do think this repetition in an increasingly challenging way is helping me *so* much.

Anyway, I learned this nifty trick to dynamically render the date on a web page using the Date object in JavaScript. Here's how that would look using a function:


  
  var displayMonth = function() {

   var now, year, month, months;

   now = new Date();

   year = now.getFullYear();
      
   months = ['January', 'February', 'March',
   'April', 'May', 'June', 'July', 'August',
   'September', 'October', 'November', 
   'December'];

   month = now.getMonth();

   document.querySelector(***).textContent = 
   months[month] + ' ' + year;
  };
    
 

So, if this code were running today, it would show 'March 2020' on the page, and then next month, it would dynamically render 'April 2020.'

The now variable pulls up a new instance of the Date object with today's date. The year variable uses that instance to get the current year with the getFullYear method of the Date object.

I create the months array with the 12 months of the year, and then we can use the getMonth method on the now variable to return a number 0-11 depending on which month it is. For this example, it returns 2 for March (since arrays start from 0).

Lastly, I update the text content of whatever class I query (this would just be a wrapper in the HTML file around where I wanted the date to go on the site) to the months array at the specific month index (in this case, 2 for March), a space, and the corresponding year variable. Voilà!



Hump Day Plans

March 11, 2020

Not too much on my mind this morning. (I always think that and then sit down to write the morning blog post and then write a lot more than anyone bargained for lol.)

On today's agenda: Finish round 2 of my budget app. It should take me a couple of focused hours. Googling 'timer one hour' and hitting enter usually helps tons with keeping the focus. 10/10, would recommend for anyone struggling with working efficiently for chunks of time (i.e. not scrolling through social media or finding another distraction every couple of minutes).

I'm also going to get my plan of action down on paper today re: re-developing one of my websites, So You Think You Can France, so that I can host it myself instead of on Squarespace. It should be a major project, so I'd like to finish my JS course before really digging in because I'm actively trying not to put myself in a position where I'm pulled in too many directions at once.

Cheers!



Finish the Project, Then Code It Again (and Again)

March 10, 2020

I'm pleased to announce that the second run-through of my budget app is swimming along so much faster than the first! The combination of already knowing the overall structure and the familiarity with the code that has already been written has proven quite handy in really sealing in the lesson.

The only annoying thing is that I'm still very conscious of the fact that - if left to my own devices - I still wouldn't be able to code this all on my own. So, I think once I've finished coding the budget app this time around, I'll simply list out the steps and then code it all up without going along with the lessons themselves.

Granted, it'll be largely from a place of memorization, I think it'll definitely help fill in the gaps in my knowledge by pointing out exactly where I'm getting stuck. Then, I'll be able to double down on those bits and improve from there.



A New Way of Reading for Self-Improvement

March 9, 2020

While the weeks slowly pass by, Mondays often seem to roll around quite quickly for me - which I'm not complaining about, since it's the day I get to dive back into coding and projects!

Not too much to say this morning, but I did see an interesting Twitter post where someone claimed that instead of reading one business/self-improvement book at a time, he actually reads several. So, on average a chapter of each per day.

At first, I was like, Whaaaaat? That seems so strange. So of course, I tried it out. On the drive back home last night, I had one eye on my Kindle and the other on the road... Just kidding, I wasn't driving! But, I decided to give it a try with three books that I've already read and loved:

- Turning Pro by Steven Pressfield
- You are a Badass by Jen Sincero
- It Doesn't Have to Be Crazy at Work by Basecamp's Jason Fried and DHH

And I continued on with it for this morning's reading! It's a little strange, but it's actually kind of cool - it's like being in a room with these incredibly smart people and getting a few daily lessons from each. To be continued? We'll see!

As for what's on my plate for this week, I'm going to be taking apart my budget app and putting it all back together again. I'm also going to be looking into taking a website I've crafted off of Squarespace and re-developing it myself so as to be able to add it to my developer portfolio - an idea that struck me out of nowhere last night as we barrelled through the French countryside under a full moon - also to be continued...



Round 1: Complete

March 6, 2020

This week, I accomplished my goal of finishing up my budget app tutorial with the JavaScript course I'm currently taking. In a final step for me, I took a huge piece of paper and copied out the overall structure and functions of the app. Now...is it totally finished/complete and does it finally give me the opportunity to move on to the next project right away?!

Certainly not!

In fact, I'm going to be taking it apart first thing next week (dare I say... deleting all the code?!) and redoing it from a place of more familiarity with the overall structure and functionality of the entire app and how its components all fit together. I'm feeling excited about it, but also sad that I have to delete all ~450 lines of the app's code. Maybe I should print it out for nostalgia's sake...

Anywho, we're off to the French countryside for an impromptu weekend en famille. Since I won't be coding, I'm looking forward to hitting the ground running come Monday. Ciao!



The Weird Thing About Deleting Items from Lists in JavaScript

March 5, 2020

When we create any type of program that includes functionality for adding and deleting items from a list on an app's interface, we need to pay extra attention to the features we include to delete items.

Before learning how to delete items off of lists, in my mind it seemed as simple as telling that specific item to delete itself from the DOM and it would disappear. But this is so wrong, and it really doesn't make any sense if you really think about it and have some JS experience under your belt.

Essentially, we can't just tell an item to delete itself. Instead, the deletion needs to be the responsibility of another related item. So, what we actually need is the item's parent element to do the deleting. Once we have access to that parent element, we can use the removeChild property to do so.

In other words, it's impossible to delete the item itself in JS, so we need to move up from the element to the parent node and then insert that same element to be removed into the removeChild property. Here's an example of that as a method of an object:


  
deleteListItem: function(selectorID) {
  document.getElementById
  (selectorID.parentNode
  .removeChild(document.
  getElementByID(selectorID));
}
    

And here's that same example after a bit of cleaning up/prettifying:


  
deleteListItem: function(selectorID) {

   var element = 
   document.getElementById(selectorID);

  element.parentNode.removeChild(element);
 }
  

The end.



Getting Comfortable With Being Uncomfortable

March 4, 2020

Something I continually think about is the idea/necessity of being comfortable with temporary discomfort when it comes to growth or leveling up in life. We can apply this simple yet effective concept to absolutely anything we come up against, and - instead of giving up just as the going gets tough - we can positively thrive over time and after getting more habituated to the discomfort.

I was in my Body Pump class at the gym yesterday that I try to get to twice a week. It kicks my butt - and it's certainly never comfortable in the moment - but I also find such motivation to push my body each time to get stronger. The routine stays the same for a few months, so it's easy to start getting used to what to expect each class, but it's also a great way to track your progress in terms of taking fewer breaks during the repititions or adding more weight to your bar.

Pushing through the hard parts when it's really freaking grueling is the ultimate sweet spot where you're pushing yourself to the next level.

And it's the same for me with coding. Day after day, I know that if I continue to show up and put in the work (which, let's face it, isn't comfortable the majority of the time), I'll get better and grow to be an all-around better developer.

Getting comfortable with being uncomfortable is probably one of the best things we can do for ourselves under any circumstances when our goal is grow, improve, and ultimately master whatever we want to.



JavaScript Budget App Updates

March 3, 2020

Yesterday I made some major headway on my budget app (following along with building it via my JS course) in that I got all of the primary functionality working (i.e. entering incomes and expenses, making the calculations behind the scenes and also on the UI, etc).

What I'm now focusing on is the functionality behind deleting individual items from the list once they've been added as an income or expense. I've more or less done this before, but it's so great to go through it all in a very clear and well-explained manner - rather than relying on a few patched-together blog posts from various internet sources.

As mentioned before, my goal for this week is to get the app up and running and then to take it apart and rebuild it. I'll probably go through the course instructions again but this time with the foresight of knowing what comes next and all that good stuff. I'll probably also write out general notes for myself to help me when I eventually build it on my own without following along with the course. Reminder to self: learning is not linear.

I'm also currently building the app with three different modules as IIFEs (immediately invoked function expressions), but I'm looking forward to updating those as separate modules. The three modules are the budget controller (behind the scenes for the income and expense databases), the UI controller (responsible for any changes to the UI based on user interactions), and the app/global controller (responsible for connecting the budget controller and the UI controller, and for initializing the app).

I'm also getting a major lesson on code architecture and keeping everything organized. I'm learning about the importance of thinking about and writing out the structure of the program well before typing the first line of code. All really great stuff!



Diving into March (and Coding)

March 2, 2020

Happy Monday and happy March! Starting off Month #3 of 2020 already - crazy, but in a good way! I personally feel great about it because in other times, each new month was accompanied by feelings of 'How the heck is it already March?!' and 'Time is passing me by and I don't even know where it's going!!'

From my previous post - I admittedly didn't get much coding done on Friday. I mentioned I try not to code on the weekends, but even on Friday it was tough for me to get in the zone - so I kind of didn't lol. I think I may have cracked open the text editor for an hour at best, added a new feature to the budget app I'm building along with my JS course, and called it a day.

But all in all, we're doin' quite alright, folks! Today I'm pretty tired, but I'm angling to get back into the coding mix. This week, my goal is to finish the budget app tutorial, and also to get really comfortable with it's structure and how the different modules of code fit together (still kind of mind-boggling, but I can feel those neurons firing upstairs!).

That way, next week, I can take it all apart and build it back up again!

So, as I prepare myself to dive back into all the code, here's a great quote I picked up from From Steven Pressfield's The War of Art this morning:



There's no mystery to turning pro. It's a decision brought about by an act of will. We make up our minds to view ourselves as pros and we do it. Simple as that.



In the interest of turning pro, I'm now heading into battle - despite the start-of-the-week drowsiness. Wish me luck!



Monday is the New Friday

February 28, 2020

Something I've noticed over the past few weeks that I didn't realize before is the finite mental capacity we have each week. If we're going all-out day after day, it's recipe for burnout, loss of motivation, boredom - you know, all the fun stuff we simply assume is a just a necessary part of the work (hot take: it's not).

My week looks a little something like this: Monday through Friday, I spend anywhere from one to a few hours coding, learning - whatever it looks like to push me in the direction of where I want to be in the future. During those days, I give myself until around 6pm to do it, and if I don't - well, I just don't get my work done for that day (which I don't like, and which doesn't happen often, mind you).

After 6pm on weekdays, I dedicate my time to purely non-work activities - reading, spending time with my friends and loved ones, being outside, building a puzzle, watching Mad Men.

And then weekends, I don't code. I don't work. I don't stress out about sending in job applications or getting back to every email. Or at least I try my hardest not to.

Weekends are sacred and restful. And this is a huge transition from how I treated off-time in the past. Before, I was going nonstop, pushing myself well past any limits that may have been there. Now, I have a healthy separation between work time and rest/play/decompress time.

Restful weekends and evenings allow for us to recharge and get excited about the work we get to dig in to the next day or week. When Friday rolls around, I can really feel the difference in my energy level compared to Monday when I was fresh and ready to roll.

I love Fridays, but - dare I say - I think I may now love Mondays more.



The Unexpected Blessing of Being Out of Work

February 27, 2020

Yesterday I was inspired by someone on Twitter proclaiming the improvements to her overall life despite being out of work and on the hunt for a new job. And I fully, completely agree.

Fortunately, in my final months at my last job (which I left at the end of 2019), I was able to really put my head down and save up a hefty living expense fund that's set to last me several months. I knew I wanted to make the transition to become a software developer, and I also knew that I didn't want to be rushed and at the end of my rope financially when it came to finding the perfect fit for my career.

In the two months that I've been unemployed, I've done so, so much. Not to mention, I'm probably in the best place I've been physically, mentally, and emotionally - maybe ever.

Giving myself the opportunity for a long runway definitely took some planning and sacrifice in the months leading up to it, but I wouldn't have it any other way. I currently spend my days working through my JavaScript learning process, building projects, applying to jobs only (!!) if they inspire me and make me feel like I'd like to be a part of the team, going to the park with my pup, reading (so much reading), getting regular wonderful exercise, and getting at least 8-9 hours of sleep every night.

As I was leafing through my copy of How To Be Parisian Wherever You Are (love this sassy little book!), this passage stood out to me, especially during this particular period of my life:



Take the time to talk to the elderly lady next door, to read a book, to walk to work instead of riding the subway when it's a beautiful day. Take the time to escape for a weekend with friends.

Take the time to listen and to get to know yourself. Take the time to change, to grow, to rest. Take the time to say yes, take the time to say no. Take the time to look after your body, to eat well. Take the time to ask yourself who you are and what you want.

...

Take the time to take time because nobody else will do it for you.



So, in this beautiful, lingering period of being between jobs and in the midst of a major career transition, here's to doing just that.



'You Must Continue To...'

February 26, 2020

Last weekend, I was set on attending a conference detailing the life of iconic artist, Frida Kahlo. I'd seen the announcement online and swiftly cancelled my normal Saturday morning Body Pump class at my gym in favor of a more cultural pursuit.

Lo and behold, after around an hour in line (it was suggested to arrive early due to limited seating), and just as I'd gained entrance into the building, we were told that capacity had been reached. Grrr!

Instead of regarding the morning as a failure, I had a backup plan, which included grabbing a latte from one of my favorite cafes, taking a seat on a sun-drenched bench on the bank of the river, and leafing through the copy of Crime and Punishment I'd brought with me (just in case, you know, there was a need for another plan).

When I got back home, I decided to watch a couple of short features about Kahlo's life anyway, and this quote from husband Diego Rivera to Kahlo after first viewing some of her early work struck a deep chord of inspiration:



In my opinion, no matter how difficult it may be for you,
you must continue to paint.



I took this as a nudge for me to continue to code each and every day. Even (and especially) when it's difficult to feel the progress or when it seems like a certain concept has the least likely chance of clicking.

Whatever it is you're trying to learn or build, stay the course. You must continue to do it - every single day. You'll be glad you did when you look back in the future and thank your past self for your tenacious consistency.



Cleaner Code: Adding Methods to Objects

February 24, 2020

In my JS class, I've been building and erasing and rebuilding a quiz program to fully cement the process into my mind. While it's minorly distressing to erase code I've written, it's more worth it to write it over and over again as a means to getting better and better.

With this recent quiz program - I've built a Question function constructor to be used for the various questions within the quiz. Here's the bare bones of that constructor:


    
  function Question(question, answers, 
  correctAnswer) {
    this.question = question;
    this.answers = answers;
    this.correctAnswer = correctAnswer;
  }
  

When I get to the section of my program where I want to display a random question in my list of questions (I've left off the writing of these questions within this particular blog post, but just know that there are three different questions housed in an array, and they're accessed by a variable called random that makes use of the Math.floor, Math.random, and the questions' array length), I need to add a function called displayQuestion.

So, I could do the following to add the method to the Question object/function constructor as follows:


  
function Question(question, answers, 
correctAnswer) {
  this.question = question;
  this.answers = answers;
  this.correctAnswer = correctAnswer;
  this.displayQuestion = function() {
   console.log(this.question);
        
   for (var i = 0; 
   i < this.answers.length; i++) {
     console.log(i + ': ' + 
     this.answers[i]);
   }
 }
}

The problem, though, is that it really isn't that clean or readable. So, the solution here would be to use the Object.prototype method to add the displayQuestion method to the Question constructor:


    
function Question(question, answers, 
correctAnswer) {
  this.question = question;
  this.answers = answers;
  this.correctAnswer = correctAnswer;
}
     
Question.prototype.displayQuestion = 
function() {
 console.log(this.question);
      
 for (var i = 0; i < this.answers.length; i++) {
   console.log(i + ': ' + 
   this.answers[i]);
 }}
    
   

Now, we can clearly see that the displayQuestion method has been added to the Question function constructor. It wasn't totally necessary to add it in to the constructor itself. I like it!



Faced with a Fork in the Road

February 21, 2020

While I'm committed to improving my programming craft between jobs, I'm still keeping an eye out for any positions that look great. Most notably, if there's a great remote position that catches my eye, I'm happy to package up a nice little application and send it on its way.

While the main goal is to make a successful career transition into programming, I've also had my eye on more technical support roles (to make for a smooth transition from pure customer support to something more technical and eventually full programming).

My main struggle with this thinking, though, is - why continue with support when I have the chance to make a complete and total transition into programming? Am I thinking in terms of limiting myself? Am I letting this scarcity mentality reel me back in when I consider the amount of work I still need to put in to gain these skills?

The most difficult thing about it is the fact that my intuition is fully nudging me in the direction of working to become a full programmer. But I do want to work. I want to be a part of a team now. I want to continue on with my financial goals of fully paying off my student loans and investing in my future.

But I can't help but wonder if I'll end up letting the shorter-term job acquisition blur the truer, grittier goal of mastering my craft and launching head-first into the field of programming.



Weekend Breaks from Coding

February 18, 2020

It may seem counterintuitive to take breaks over the weekend when learning to code or when you're practicing to really improve your skills, but I've recently learned that taking a couple of solid days off from coding and mental gymnastics is such a cool thing.

Not only do you come back to your text editor on Monday with renewed motivation for getting back to your projects, but you also have this pool of creativity that almost seems to be bubbling over. What I mean is that those couple of days you gave your mind to take a rest gave it the opportunity to come up with so many great new ideas that you're excited to bring to your own coding practice when the time comes to sit down at your computer.

This past weekend, we took a break from the city and headed to the French countryside to be with Arthur's family. We relaxed, enjoyed great meals, drank champagne, and played Monopoly.

And from that, I got inspired to code up my own version of Monopoly! I've yet to start, but I can tell you my brain has already gotten started with mentally laying things out. Stay tuned for that!



Enlightened Self-Interest

February 13, 2020

This quote serendipitously came into my life recently, and I haven't been able to get it out of my head:



Striving is fine, as long as it's tempered by the realization that, in an entropic universe, the final outcome is out of your control. If you don't waste your energy on variables you cannot influence, you can focus much more effectively on those you can. When you are wisely ambitious, you do everything you can to succeed, but you are not attached to the outcome-- so that if you fail, you will be maximally resilient, able to get up, dust yourself off, and get back in the fray. That, to use a loaded term, is enlightened self-interest.

- Dan Harris, 10% Happier


If this isn't something that inspires consistent action day after day after day, then I don't know what is.

Each time I come up against something that's really tough right at the beginning, I think of this quote just as my motivation starts to slip. And each time I do something a bit out of my comfort zone (apply to a job that's way out of my league, start in on a complicated side-project, or get rejected in any way), I think of this and of how important not being overly attached to the end result is.

It's a bit like a 'what's the worst that could happen' reminder paired with the idea that everything always works out in the end - and it definitely gives me a healthy dose of perspective to keep on keepin' on.



Learning is Not Linear

February 12, 2020

Learning is not linear. It involves ups, downs, peaks, dips, plateaus, drops, rises, falls, rinses, and repeats.

Keep going, keep practicing, keep learning. One day in the near future, you'll be breezing through that which is stumping you today.



Better Coding: JavaScript Conditionals

February 11, 2020

For my latest coding side project, Dice Game (adapted from my Jonas S. JS course on Udemy), one piece of the program's logic requires that rolling the die results in a variable holding a random number between 1 and 6. Depending on which number the variable logs, one of six images of the face of a die then shows up on the screen with a bit of nifty DOM manipulation.

When I was first writing out the code, my initial thought was to write out an if/else statement with all of the conditions of the random variable corresponding with each image of the face of the die, as follows:


        
  let dice = Math.floor(
    Math.random() * 6) + 1;
    
  let diceImage = 
  document.querySelector('.dice');
  diceImage.style.display = 'block';
     
  if (dice === 1) {
  diceImage.src = 'dice-1.png';
  } else if (dice === 2) {
  diceImage.src = 'dice-2.png';
  } else if (dice === 3) {
  diceImage.src = 'dice-3.png';
     } else if (dice === 4) {
  diceImage.src = 'dice-4.png';
   } else if (dice === 5) {
  diceImage.src = 'dice-5.png';
  } else if (dice === 6) {
  diceImage.src = 'dice-6.png';
  }
      

But then I learned that I could update the diceImage.src using type coercion by adding parts of the image name as a string with the corresponding image number sandwiched in between:


        
  var diceImage = 
  document.querySelector('.dice');
  diceImage.style.display = 'block';
  diceImage.src = 'dice-' + dice + 
  '.png';
      

Voilà! Three lines of code instead of sixteen!

It's things like this that make me really excited about JavaScript and its (and my!) capabilities. Not only are there a lot of cool programming concepts to keep learning, but there are also endless ways to make coding those programs more and more readable, clear, and effective.



Make Time to Make Time

February 6, 2020

Yesterday I was inspired by a YouTube video that was serendipitously recommended to me on my feed. I started to think about the idea of 'making time.'

Making time to take care of ourselves, making time to cook high-quality meals, making time to sit down and learn or code in a highly focused manner - instead of flying by and trying to get everything done in a 30-minute time slot.

This idea is great motivation for not simply checking every little thing off the to-do list in a very half-assed and not fully committed way, but instead, accomplishing bigger tasks that move the needle in a more significant way.

Along that same line, here's an excerpt I really love from Jason Fried's post on the Signal vs Noise blog:

There are lots of ways to carve up an hour. 10 x 6. 15 x 4. 30 x 2. 45 + 15. 20 + 20 + 20. The key is not to carve it up. And when you stack it up – one full hour after another – you really see the compound benefits of uninterrupted time.


I love the idea of being able to fully complete any tasks we have on our plates by leveraging the power of truly uninterrupted time. I'm thinking of a task that we fear will take us the entire day, and then when we sit down to focus solely on that project, it ends up taking a true fraction of the expected time.

It really all starts with being mindful, and making the time, to do our best work and live our most enjoyable lives.





Refactoring My Tip Calculator Program

February 5, 2020

In one of my exercises from my JS course yesterday, we had to create an object, john, representing a person and the number and prices of meals he had on vacation and how much he tipped with each meal. According to instructions, he preferred to tip as follows:

- For meals less than $50, tip 20%
- For meals between $50 and $200, tip 15%
- For meals over $200, tip 10% (I know - I wouldn't want to be John's server either.)

Here's the code I started off with for calculating both the individual tips he gave for each meal, as well as each total meal cost (cost of meal with tip included):



              
var john = {
  bills: [124, 48, 268, 180, 42],
  tips: [],
  totalMealCosts: [],
  calcTip: function(){
    var tip;
    var totalMealCost;
          
    for (let i = 0; 
    i < this.bills.length; i++) {
      var bill = this.bills[i];
      if (bill > 0 && bill < 50) {
        tip = bill * 0.2;
        totalMealCost = bill + tip;
      } else if (bill >= 50 && 
      bill <= 200) {
        tip = bill * 0.15;
        totalMealCost = bill + tip;
      } else {
        tip = bill * 0.1;
        totalMealCost = bill + tip;
      } 
      this.tips.push(tip);
    this.totalMealCosts.
    push(totalMealCost);
    } 
  }
 };
            


And then after some refactoring, this is my final program (manually transpiled from ES5 to ES6):



              
  const john = {
    bills: [124, 48, 268, 180, 42],
    tips: [],
    totalMealCosts: [],
    calcTip: function(){
      let totalMealCost;
      let tipAmount;
      for (let i = 0; 
      i < this.bills.length; i++) {
        let bill = this.bills[i];
        let percentage;
         if (bill < 50) {
          percentage = 0.2;
        } else if (bill >= 50 && 
        bill <= 200) {
          percentage = 0.15;
        } else {
          percentage = 0.1;
        } 
          
      tipAmount = bill * percentage;
      totalMealCost = bill + tipAmount;

      this.tips.push(tipAmount);
      this.totalMealCosts.
      push(totalMealCost);
        } 
      }
    };
            


The main thing here is the fact that I removed the tipAmount and totalMealCost variables from each tipping condition and moved them instead to the end of the for loop.

I'm working more on not repeating myself in my code, and I'm realizing that it all comes down to practicing and eventually reaching higher skill levels - after a certain amount of time, thinking about how your own code could be improved becomes as natural as anything.



The Power of Learning Over and Over Again

February 4, 2020

I'm always overjoyed when something that I've been working on mastering/learning for some time finally settles in with that ephemeral click.

Today I finished up the Basics section of my JavaScript course, and I'm very proud to say that I flew through it with soaring colors. I wish I could go back to my past self when she was just settling in to trying to figure out what JavaScript was, tap her on the shoulder, and let her know that everything was going to come full circle and click one of these days.

The secret is in putting in the effort day after day after day, even (and especially) when things aren't making sense. It takes learning something (like rock-solid JS foundations) over and over again before the concepts will seem familiar and - dare I say - enjoyable.

Proudest moments of the day:

- Fully understanding the use of the this keyword in multiple exercises
- Writing a solid, functional tip-calculating program from objects and methods



A Blog is Born

February 3, 2020

Here it is - the first official post of my self-developed portfolio and blog site! I'm still trying to wrap my head around dynamically rendering blog posts, so for now, I'm (embarrassingly) statically rendering them within the blog page. I feel like I'm on the brink of an idea and it involves pushing posts into an array that renders through DOM manipulation on the page. I know it would be a breeze with React or Gatsby, but for now I'm trying to focus solely on JS.

Speaking of which - I started in today on a JavaScript course on Udemy. I always love the beginnings of any JS lessons, books, etc. I'm pretty aware of how far I've come and I love being able to complete all the exercises with relative ease. Looking forward to spending these next couple of weeks focused on that and continuing to strengthen my JS foundation.

I'm hoping to document at least every day or two. I recently shipped a new side project - Three To-Do's A Day. I'll be updating some features and interactivity over the next few weeks, but I just love that feeling of publishing something (even when it's not completely perfect).