Sunday, December 31, 2017

Full Circle

A year minus ~10 days ago today, I received my acceptance email from Hackbright Academy, marking the start of a journey that would quite literally change my life. Just a week ago, I accepted an offer from MakerSights, where I had been working as a software engineering intern for the past three months, to be a full-time junior software engineer.
Both occasions fell on the week of National Sangria Day, of which I had celebrated at Spark Social's bottomless sangria event.  I couldn't feel luckier to have been granted this good fortune two years in a row, and I'd like to think that this will be a continuing trend, both for the good news and sangria drinking.

As I think of the coming year and what I've had to put on pause in 2017 because of the career-switching, job-applying, and interning, here's what I'd like to see the 2018-me achieve:
  1. Become a morning person. That is, be able to wake up early enough to: 
  2. Go for regular morning runs 
  3. Finish my React Node web app 
  4. Finish my Warriors data visualization app 
  5. Cook Julia Child's Beouf Bourginon 
  6. Travel to Portland 
  7. Travel to Austin (during ACL) 
  8. Make a 1-s everyday video 
  9. Dye my hair 
  10. Attend a comedy show 
  11. Learn Spanish 
  12. Cook a whole fish 
So there you have it. Tangible goals, here we go!

Tuesday, October 10, 2017

Reflections of the End of Funemployment

As the blog title suggests, this [all too long] funemployment life is ending soon, which means hooray I will be working again! Earlier in September I accepted a 3-month internship offer at a startup and they were really gracious in waiting for me to finish up my other interviews and being open to negotiations (compensation/benefits/start date). I told them I was available to start work beginning of October, and they actually pushed my start date to the 16th. TBH I was super relieved to have been given this buffer of time to catch up on some much needed sleep, relaxation and me-time.

Even though I had initially been hoping for a full time job post-Hackbright, I'm really just eager to get started on my career in software engineering. I realized that an internship might actually be a blessing in disguise; I'm sure the learning curve will be steep and really hard, but I'm hoping that knowing that my main purpose is to learn above all else will make my transition into the industry a little less intimidating.

So far I have taken advantage of the remaining weeks of my funemployment (sans job search) by:

  • Sleeping, loads of it.
  • Visiting my sister, her newly adopted bunnies (4!), and my high school best friend in Corona/LA
  • Attending CRSSD and showing the bf my old stomping grounds in San Diego
  • Cooking, a lot! I've experimented with steak, artichokes, shoyu tamago, chimichurri sauce, lots of noodles, etc
  • Binge watching Parks & Rec (1 more season to go!), and many other shows on Netflix
  • Volunteer coding for SponsorLane
  • Building a full-stack app with the MERN stack...slowly but surely
  • Accompanying the bf to Santa Rosa for the Sonoma Harvest Festival. I unintentionally scored a free wine/food tasting experience there by befriending some winemakers from Ekitmo who were all too eager to meet someone who can speak Mandarin there
  • Purchasing tix to the Museum of Ice Cream. I couldn't help it!
  • Running more than I did while job searching, although still not as much as I'd like
  • Fooding. Did I mention food?
Also, if you haven't tried TJ's uncultured butter from Brittany, France, do yourself a favor and get it. 

With this carefree lifestyle coming to an end, I'm now back in studying mode. Actually, I don't think I've ever truly stepped out of studying mode for more than a day or two. It's been interesting having an unstructured lifestyle with no concrete obligations or schedule for the past few months (especially in this last month once I stopped job searching), but I also feel immense pressure to make the most of my time...even pressure to have as much fun as possible! 

For instance, if I wake up past 11am or noon, on one hand I feel like I've wasted so much time I could have spent in the park/beach/city, but on the other I'm faced with an internal battle thinking about how much I'm going to miss sleep once work begins. 

Another thing is I feel bad whenever I'm not coding and studying with all this free time, but when I do spend a good portion of my day coding and watching video tutorials, I feel bad not being out in the sun. I can't win with myself!
However I will say that I'm extremely grateful for these first world problems. I'm grateful that this startup took a chance on me, I'm grateful I made my personal goal of finding a job within the 3-month mark, and I'm grateful I won't have to go to bed wondering if I'll need to ask my parents to sponsor my unemployed self soon (at least not for the next few months). 

Also, honorary mention:
You've kept me sane throughout this process. Thank you, gracias, xie xie.

Tuesday, September 5, 2017

Resilience

Job searching is no joke. The amount of uphill battles, disappointments, ghosts, and self doubt is enough to make me wonder more than enough times if this will all be worth it. If I had to pick one lesson out of hundreds that it's taught me so far, it's the surprising adaptability of my resilience.
I've had an onsite interview get canceled on me, hiring managers/recruiters ghost on me, phone screens gone badly, multiple projects thrust upon me (3 in one week!), and countless rejections in this 2+ months job search so far. I can see all of these things happen again and again, easily. After all, there's no limit to how many rejections a candidate can experience in any given time frame. A rejection today doesn't mean there won't be another two waiting in my inbox in an hour, for instance.
However, through all this, I'm still alive and ok. I had coffee with a fellow bootcamp alum a few weeks ago, and she reiterated one thing I can always look forward to after an interview: the fact that after all that is said, not said, done, and not done, I can count on coming back to my nice and comforting bed.
Sounds silly, but this thought has done away with the tunnel vision of my interviews. The day (and life!) does not stop with the interview. Whatever the outcome is, I make sure I am ten steps ahead already, even if it's tiny, baby steps of making my way back to the warm embrace of my comforter.

I deliberately plan things to do after an interview before the interview even happens. I buy ingredients for the next dish I plan on conquering and have them ready in my kitchen to prep for when I'm done interviewing. I sign myself up for evening workshops at Rithm School to swing by to after a whole day of interviews. I make checklists of what I need to get from Trader Joe's so I can't just sulk my way through Powell Street and all the way home. I keep myself occupied to keep myself moving forward.
I attribute the resilience I've developed to the plan-ahead/look-ahead strategy I've built upon that bootcamp acquaintance's words of wisdom. .
Knowing that I have something to look forward to after an interview and when the job search ends is key. I will survive and I will get that job, and I cannot stop reminding myself of this when the going gets tough. Onward!

Sunday, August 13, 2017

Warriors Data Viz Project | Part I: The Inspiration

One of the things I really miss about Hackbright is project time. Is that weird? I loved the unobstructed time we had to ourselves to just be lost in our own code. I'd have "codepiphanies" during random times of the day--in my sleep, when I'm trying to relax with a glass of wine and Netflix on a Friday night, in the shower, on the Muni, etc, and they were enlightening.

Even though I technically have all my time to myself now, it's not the same. My time is still divided into chunks, and it's hard to be immersed in code when I'm worrying about applying to jobs, keeping my algorithms studying up to date, staying active in the community with events, etc.

Last week, Hackbright held a mini hackathon for three hours, which was a great motivator to starting a new project. Even though we could have just worked on our projects at home, having a special, blocked out time at the HB lounge with a TA and technical mentor there for help just made things different.

I started on a project I had been wanting to tackle for a while--data visualization using data on the Golden State Warriors! Why the Warriors? I didn't start watching basketball games--or any sports--until I moved to the Bay Area three years ago, so it's really fascinating from a newbie sports fan's perspective to discover how frequently and suddenly players can just be poached and traded. I remember Jesse showing me this after DeMarcus Cousins of the Sacramento Kings suddenly got acquired after the All Star Game by the New Orleans Pelicans, spurring a bout of confusion with everyone, including his own manager:

The New Orleans Pelicans flipped the NBA on its axis late Sunday night when they agreed to a deal for Sacramento Kings center DeMarcus Cousins, according to The Vertical's Adrian Wojnarowski. (Source: Bleacher Report)

I was shocked to find out that a player can suddenly be uprooted just like that! Also interesting to me is how the teams have to adjust their game and strategy to the trading of players. Just as a team has finally turned into a well-oiled machine after a season together, they could be sent into a spiral of having to go through this whole process again with the loss of some familiar players when new ones are traded in.

So I figured, since this is all so new to me, and I've been wanting to give a go at data visualization (nothing in my Hackbright project really required one), why not learn by doing? And that's how I absorb information the best: kinesthetic learning. If I have to wrangle with data on the Warriors, I'm bound to learn a few things about the different teams they had throughout the seasons while also learning how to use d3 to visually depict the whole picture.

I'm really excited! I've started building my scraper so I'll go into details on how I'm doing that in my next blog post of this series.

Monday, July 31, 2017

An Addendum to My Cover Letter

I've been submitting a lot of cover letters, and for my own sanity I've been trying to customize them as much as possible. The whole find-and-replace method for cover letters is really not my cup of coffee.

If I don't know that much about the company, I'll make sure I go through their website and find out what they're really about, read their blog (engineering blogs are even better), and comb through the Internet for any relevant articles about their products. Then I'll think of why I'd want to work there and how I can contribute to their platform, which is sometimes hard to do without having access to use it.

Then, I'll craft a well thought out cover letter and submit it along with my resume, links to my LinkedIn/Twitter/GitHub, etc. I can't not submit a cover letter when the option is there, that's my policy. I don't like to do things half-heartedly because I can't help but wonder: what if that one cover letter makes all the difference?

I've always believed that positive sentiments outweigh the negative, which is why my cover letters are all focused on the positive stuff. I'm optimistic about my skills as an engineer and I'm excited to talk about the projects I've enjoyed building on my journey to becoming an engineer. These things I can go on and on about.

However, I'm not oblivious to the areas where I'm lacking. Studies show that sometimes, all it takes is for one negative thing to ruin everything. So let's think of it in terms of my skill level as an engineer. I don't have a CS degree. I don't even have 1+ years of engineering experience. Already I can think of two basic requirements in almost all software engineering job postings that shed a negative light on my background. Which is why it's a hard pill for me to swallow that I can't dispute these cold, hard facts.

Instead of tiptoeing around my lack of a CS degree or years of experience, I wish I could address these points of deduction head-on in my cover letters. That being said, since I can't bring myself to invite any negativity into my cover letters, I realized that I can address these frustrating points in my blog:

1. I know I don't have a CS degree. I wish I did! I thought about it senior year of college but didn't want to have to go through all the prerequisite classes to get to the CS major classes when I was so close to graduating with two already-complete majors. However, I did self-select to enroll in Hackbright, where I was able to become proficient at Python, Javascript, and SQL (along with some other frameworks and tools like Flask, SQLAlchemy, jQuery, AJAX, etc.) enough to build a web application from start to finish, backend to frontend!

2. I don't have a full year of working experience in software engineering. And I'm not going to pretend and say I do because I can't speed up a year any more than the sun can. I do, however, have the work ethic of someone fresh out of college. I just graduated! Not from a 4-year institution, but from a 3-month full-time program that made sure I had a lot discipline (hello, 0 income life) before, during, and after the program. I had to save up enough $$ prior to applying to Hackbright, quit my job to attend Hackbright, be present and engaged in classes and lab all day, work on assessments that required hours of my time, design a project front to end, and present it in front of other engineers. I'll be damned if I let all this hard work go to waste by not giving it my all at whichever company decides to take a chance on me.

3. I have incredible experience in other industries (read: lots of soft skills). Prior to becoming a software engineer, I was in marketing. I've done marketing both in-house and at an agency. I've worked with 15+ different clients from the tech, lifestyle, and hospitality industries, many of them at the same time. I've managed our marketing team, and was described by my boss as her right hand. I know how to tailor my speech around different clients, email them at the right time, and decipher what they say and want so I can convey these requests to our project manager and designers. I'm great at empathizing, and I think that's something incredibly valuable that's incredibly hard to convey in a cover letter.

4. Because I just graduated, I'm like a sponge! I know I have a lot of catching up to do, which is why I want to continue learning. Since graduating Hackbright, I've attended a hackathon, helped a coding nonprofit write lecture material, attended many many coding meetups, signed up for a few classes on React and built a few apps with this framework, and I'm going to start learning Node.js next. Here's the thing: I'm just getting started. I'm not dead-set on my ways of how things should be in the world of programming like how some seasoned engineers may be, because I don't know what the "ways" are. I'm still discovering my way and having loads of fun while I'm at it, and I wish I could convey this excitement over the ATS.

So there you have it. If I think of more, I might add to it, but here it is. The addendum to my cover letters that have been/are going to be sent into the abyss of job portals.


Friday, July 28, 2017

Brief Breathers

This week I decided to take some unprecedented breathers from my usual job application-study-event routine. I still did all three, but I peppered in some new experiences just to spice things up a little. It's challenging sometimes not to get tunnel vision with the job search, so to put things into perspective I decided to sign up for some activities outside of software engineering to remind myself that there is a world outside of the one I'm so wrapped up in.

Intro to UX Workshop
On Monday I decided to attend General Assembly's free Intro to UX Design workshop. I've always wanted to attend one of their free sessions to see what it's like but it's usually during the daytime, which is not ideal for someone working the 9-5.

It was really fun! I loved how we honed in on the design decisions of various mobile apps and digital products, and then split up into groups to think of how we would design an imaginary festival app built by Spotify. It let me exercise my creative juices and think about something other than code for a bit.

Nextdoor Research Study
I'm a pretty active user on Nextdoor, the neighborhood app. I don't post that much stuff but I like to be in the know of what's going on. Whether it's crime, classifieds, or shop openings/closings, I like to digest it all. So it was no surprise that when a product manager reached out for research participants to test out something they're building for their app, I immediately signed myself up.

Plus, I always like to see what different offices look like. Because I myself have not been privy to working in big, fancy schmancy offices before, it's always exciting to see how spacious and nicely decorated a workplace can be.

It was fun being the second person to test out this feature/campaign Nextdoor wants to try and discovering all the bugs in their platform; I felt like one of those quirky field study participants on TV who can't stop asking questions and calling out things for not being user friendly. Being paid to be super opinionated is really fun!
Also, the method in which they recorded my actions on the app on my phone was hilarious: They had me hug an engineer's laptop from behind and play with their app in front of the webcam to record my motions. DIY recording at a tech company at its finest.

Volunteering to Pack Supplies for Homeless Youth (At the Crossroads)
This was also one of those activities I'd always wanted to do but haven't been able to because of scheduling conflicts in the past. I love volunteering at the SF Marin Food Bank, and I wanted to check out how other nonprofit volunteer sessions are run. They had 3 activities going on: pack bags of snacks, QA for candy packets, and write thank you cards to donors. Jesse and I actually got to do all three!

First, we worked alongside all these other friendly volunteers in an assembly line putting snacks in bags. When we finished, the nonprofit organizers had us stuff already really-packed packets of candy with even more candy. Basically the idea is that they give these packs of candies out, sometimes to groups of homeless youth, and they don't want there to be a difference in volume among the bags. So we had to shove as many Snickers, lollipops, Starbursts, Reese's, etc. as we could into each packet.

After a good half hour of trying to wrangle a few candy packets closed, Jesse and I decided to switch stations to give our fingers a break...and then subsequently found our hands cramping up instead writing thank-you cards to generous donors. It was all really fun though, and I loved how nice everyone there was. I'll definitely be back!


So, yes, with new perspectives gained this week, there's now a new motivation to keep chugging along the job search ride!

Monday, July 17, 2017

5-5-5

It's been 3(!) weeks since we've been out of Hackbright and I'm starting to wonder if I'll continue counting these weeks until I get a job. Probably. The 3-6 months average (for HB grads to find a job after the program) has been pretty much ingrained in my head. I hope I'm closer to the 3-month mark than 6-month mark.

Now that I've been out of Hackbright for 3+ weeks, I feel like I have a better idea of how my time has been intentionally (and sometimes unintentionally) carved out. Knowing what is and and isn't feasible, here's how I want my time to be carved out moving forward:

Introducing: Karen's 5-5-5 Daily Job Searching Rule (Mondays - Fridays)
5 Job Applications
5 Coding Challenges
5 Sections on Problem Solving with Algorithms and Data Structures

And wherever I can fit in some emails, I'll do it. Even though I can already see myself having some difficulty on days when I have meetups or coffee meetings scheduled, I think I'll adhere to this rule as much as I can, especially the first two.

On weekends I'll focus on building out my projects and reviewing coding challenge solutions.

We'll see how this goes!

Monday, July 10, 2017

A Week of Firsts

I've been two weeks out of Hackbright so far, and I can say with confidence that though this has been an uphill battle just like how everyone warned me it would be, it's an uphill battle peppered with firsts that are not too shabby.

First First
This weekend I attended my first hackathon, organized by Girls in Tech and sponsored by Hackbright, DocuSign, and many more. Aside from the awesome swag (hello Memebox and Jins!) and constant stream of brain food and fuel, what I enjoyed most was being surrounded by awesome women with awesome ideas coding awesome things.


I got to see my cohortmates, say hello to fellow Hackbright alum I've met and haven't met before (they're everywhere!), and most importantly, build a project from start to (almost) finish in less than a day. Some teams stayed overnight, but my cohortmates and I opted to head back to our respective homes after 9pm, work remotely in bed, and get some much needed rest.

My mentors have been telling me I really need more projects on my resume since I don't have a prior career in tech I can talk about, and that's what I got from this hackathon. In a few days my teammates and I will meet up in person to make some additional features to our app and deploy it. Even though we didn't win any prizes, I'm super excited I'll be able to deploy my first app ever. This will make deploying future projects I'm planning on creating seem much less intimidating. Let the project floodgates begin!

Second First
Today I received my first application rejection. And it was not from an ATS bot, so it does count towards a [long overdue] first rejection in my books.


It sucks, but I know it's gonna suck even more if I let it get to me. At least someone, some person took those few seconds in their day to scan my resume and decide "Nope!" as opposed to a machine scanning my resume and placing it in the bucket of send-auto-rejection-email.

Last week I read a post by someone on LinkedIn saying that her favorite word is "Next(!)". I think I might adopt this into my own vocabulary of favorite words. Because the next thing can always have potential to be more exciting than the previous.

5pm Update: Make that 3 rejections in 1 day. Let the application rejection floodgates also begin!

Monday, July 3, 2017

In Defiance of Murphy's Law

I've been a week out of Hackbright, and to say I'm stressed would be an understatement. Every day I wake up wondering how I should best optimize my time for the day; should I spend it tossing cold applications into the abyss of forgotten resumes, emailing people asking them to tell me how they got their jobs, studying on LeetCode/Hacker Rank/Cracking the Coding Interview/Problem Solving with Algorithms, or working on my next project?


The answer is usually: preferably all of the above. It's exhausting, and the thing is, I knew it was going to be. I signed up for this life and now I have to own it. This fun-employment is not going to get the better of me.

It's happened more than once where I've emailed people about job openings at their companies that I see posted online only to have them tell me they just filled the positions.


It's disappointing and almost feels like my joblessness is following the rules of Murphy's Law. Then, I step back and see the (somewhat cliched) silver linings. I've made some great connections so far who are willing to help me outside of just passing my resume along or giving me a recruiter's contact info. I've been humbled by the realization that getting a job in the tech industry isn't just attending a bootcamp and learning how to write an app. I have a greater admiration for every single engineer who has had to go through phone screens, whiteboarding interviews, networking, studying, building more projects and putting themselves out of their comfort zone just to get to that final job offer.


The real, final test is now. Now is when I'm put to the test of whether I want to watch another episode of New Girl or work through another coding challenge. Do I want to spend that extra $5 on a beer at a bar (actually, sometimes maybe yes) that I can get for $2/bottle if I bought a six pack and drank it at home, or on a cup of coffee with a person I just met who can provide me valuable insight into the job search process? Do I want to spend that extra hour of time window-shopping for things I can't afford right now, or on reading up how to design a good elevator bank?

I'm faced with hard decisions and questions every day, and sometimes things that seem like they can go wrong will go wrong. What really matters is how I face that adversity and put myself in perspective. I'm really looking forward to when I can look back on this time period of my life and give someone else the wisdom, help and advice they need to move things along. But until then, onwards to the studying and job hunting!

Tuesday, June 27, 2017

On a Mission: Little Red Riding Hoodie

The things that make Hackbright graduates stand out: our brains, our resilience, our wits, our perseverance, our ability to learn quickly, and our red hoodies.


On Friday of Week 10 we had our "Red Hoodie Ceremony" which mirrors that of the tassel thing you do during your college graduation ceremony, except that we were instead donning our hoodies in front of the familiar lecture hall instead of onstage somewhere big and foreign.

I remember when our cohort manager asked us to try on their sample hoodies to determine our size, many of my cohortmates talked about wearing theirs in the comforts of their home, which is what I would imagine many many people do with all their hoodies, and what I do as well. Some of them said the red was too bright for their taste and others said they might layer theirs inside their other jackets.

Me? I like to wear mine to all the events I've RSVP'd for, whether they're hosted by Hackbright, PyLadies, Women Who Code or anyone else. I'll admit that red is not something I naturally gravitate towards to, but in this scary post-Hackbright life of trying to find a job, I've realized that I need a cloak of bravery to tackle this thing called being-in-the-outside-world. I picture myself as "Little Red Riding Hoodie" navigating her way through the dark forest of Black Hole-ish job application portals and rejections and facing the big bad wolf known as Imposter Syndrome who's ready to devour any confidence she has in herself. Okay this metaphor is getting a little out of hand, but you get what I mean.

Although I don't like drawing attention to myself, I've found the Hackbright red hoodie to be almost like a rest stop next to a long stretch of highway. It signals familiarity and comfort. There have been quite a couple of times I've been approached or recognized by a fellow Hackbright alum because of my red hoodie, and likewise I also feel a huge sense of relief when I spot a red hoodie in a sea of unfamiliar faces.

And in those moments of warm welcomes I feel like I'm exactly where I belong.

First Day of Life After Hackbright: Done!

Hackbright ended last Thursday, but today felt more like the official first day of "fun-employment" to me since it's Monday and everyone is at work/class and I'm not. I have not had unstructured free days to myself since...forever. College is probably the closest time I came to having huge chunks of time to myself but even then my weeks were still more or less whipped into shape by classes, side jobs, business org meetings, events, and more.

Now, I get to dictate what I want to do, and when I want to do it. I can choose to study, whiteboard, attend meetups, work out, eat, or even not do any of those things. It's liberating and nerve-wracking at the same time because for some reason I feel like I have more pressure to be productive more than ever. There's nothing telling me I can't continue studying because the material will be covered in later weeks, or that I need to go to bed early because there's an early lecture in the morning.

So what did I do on my first day post-Hackbright? Now that I think about it, quite a bit actually! I....

  • Woke up at 8am and cooked some breakfast
  • Studied and job searched
  • Went on a run around the sunset reservoir
  • Grocery shopped
  • Cooked lunch
  • Studied more
  • Sent some emails
  • Learned the concept of memoization for recursion(!)
  • Attended an Algorithms & Interviews meetup hosted by Women Who Code at Demandbase (and saw a few of my cohortmates!)
  • Listened to a great podcast on applying design thinking to my life 
  • ...and will have blogged about my day!

One thing I do need to make sure I do better on is follow my calendar schedule. It's so easy for me to jump from coding on Hacker Rank to finding job openings on LinkedIn to writing emails when I should really be sticking to one thing for at least a half hour to an hour at a time. It's hard not to get distracted since this job search is a multi-pronged approach, but focus is key and I need to make sure I give all dimensions the attention they need.

We'll see how things fare tomorrow! As of now I pretty much have my evenings booked for events this week, so that just means I need to make sure I get more studying done during the day. Fingers crossed!

Monday, May 29, 2017

Hackbright Week 8: A Decision to Trust My Instinct

I come from the world of marketing, and in the world of marketing, you can oftentimes fake it 'til you make it, which more or less means faking answers 'til you find the right one later to correct yourself. Things change so fast in the world of marketing that trends, platforms, and solutions come and go just like that, and you're expected to adopt to new things and are able to forget old ones if they become irrelevant.

In the world of learning how to code, for me at least, this is not really the case. If you have the wrong syntax, your code will break. You have the wrong logic? Your code will will break, maybe not immediately but eventually. Oftentimes when you are stuck, that's all you are going to be for a while. You can't really fake it 'til you make it, unless you stick a placeholder "pass" statement in your Python function to come back to later. It's important to have a strong foundation and knowledge from the beginning to avoid a lot of frustration. Not to say you can't be corrected or learn new things because you can totally go on Stack Overflow and find a million solutions to one problem, but I tend to absorb everything our instructors and TAs say like a sponge, and I find it sometimes quite a feat to be corrected in one thing once it's settled into my brain.

"Where are you going with this?" you may ask.

Well, on Week 8, our cohort manager Leslie announced that they will be opening up a TA position for students to apply to, as they always do for all cohorts. When I first heard about it, my instinct was immediately to think, "Nah" because as appealing as it sounded to be able to re-learn the material while getting paid to do it and also be able to interact with the awesome staff in a different level, I don't have any formal experience in teaching and didn't want to stray from my goals of finding a software engineering job as soon as possible after the program.

Two days later, my advisor came over to check up on the progress of my project and encouraged me to apply for the TA position. Moved by his vote of confidence, I agreed to give the interview a shot. However, two days went by and I started to panic. Call it imposter syndrome all you want, but I felt I would not be able to overcome the fear of imparting coding wisdom on future Hackbright students without getting real world software programming experience first. In other words, I didn't feel like I could or wanted to fake it 'til I make it as a TA, especially when there are other students' learning involved and at stake.

I struggled for a few days with my decision to opt out the interview process and focus on my own learning, but was later super relieved and happy to find out that Hackbright could not have made a better decision to choose the cohortmate that I'm sure everyone thought was the best choice to be a TA. If anyone was up for the job, it's definitely her! She's awesome, smart, funny, friendly, and has tons of teaching experience. Whoever she is advising and TA-ing in the next cohort can consider themselves a lucky bunch!

I took it as a sign that trusting my own instincts was right, and that everyone will end up where they need to be!

Monday, May 22, 2017

Hackbright Week 7: The Power of "This"



When I think about my current state--the state of being at Hackbright, where my main job is to learn--I'm sometimes caught off guard at how much we are all living in the now, the present, this moment. If we weren't, we wouldn't have quit our jobs and previous lives, given up a good part of our social lives, and forked over a fortune of money with the chance of having these sacrifices drag on for another good couple of months afterwards while we're job hunting if it weren't for "this".

Today, in modern meme times, when you hear someone say something that resonates exactly with how you feel, it's not uncommon to say "This" while expressing some kind of way of pointing to the message, like via a carrot or physically pointing with a finger. More accurately, according to Know Your Meme:

^This is a single-word demonstrative pronoun used on message boards and social networking sites to show agreement with quoted or reblogged posts. Besides its usage as a single-word text post or tag, the term can also be found in image macros and reaction GIFs in which subjects are shown pointing upwards.

In the world of programming--Javascript to be exact--the concept of "this" is also something to be revered with high regard if you want to keep up with your code. I'll admit, I'm [only] 26 but honestly I refused to acknowledge the importance of memes until I realized they were going to stick around for a while so dammit I needed to at least keep up with the times to retain my youth. Anyway, same goes with AJAX requests. The first time we were introduced to them, I was like huh, these are cool but I think I'll stick with my handy, trusty form submissions. 

Of course "this" way of thinking is most likely the reason why until I struggled (and am currently still struggling with) converting a lot of my code into seamless AJAX post requests, now that I realize how critical they are to making my user flow work. 

Our TA said that as an inside joke, the ed staff would assign "this" to a variable named "that"

What happens in AJAX requests is that you are basically putting a stop/hitting a pause on a standard behavior of an element (e.g., the submit button of a form), intercepting the request to customize what you want to send to your server, and making your program report back to you on what happened via a success function. So you are getting stuff done in the backend and changing things on a web page dynamically without needing to make it refresh a million times.

Cool, huh? It sure is, but only after you've been exposed to "this". So when you click on a button to put a pause on its action, how does your app know which button you are stopping? "This" was the easiest answer that one of our TAs told me to use, and boy was she right! If you have a class of buttons that would behave the same way when clicked, the one you click on now becomes "this", and you can perform various actions on "this"and its parent(s), sibling(s), innerText, innerHTML, etc.

What magic, what fun, what happy discoveries! This is what I'm doing now and this is what I will be doing for a living. This is what makes learning about code so great. 

This.


Sunday, May 14, 2017

Hackbright Weeks 5 & 6: Codepiphanies and Scotch Tape Solutions?

So we're halfway through Hackbright and it still feels surreal, but maybe because everything is happening so damn fast that my brain is having a hard time just trying to catch up to the realization that, "Oh yeah, wasn't it two years ago this time that I discovered Hackbright by inputting the search query 'all women's coding bootcamp' into Google and happening upon what I thought could only be a dream come true?" Fast forward two years and here I am working on my project--MY project! Who could have foreseen this? Karen from two years ago certainly did not dare to dwell too much on this imagination that is now a reality.

WEEK 5:
Anyway, so I've been trying to rack my brain on any deep insights I received on Week 5, and yes I did learn so much so fast as always, but I think it really just boiled down to two things:

1. Now that we have completed our first week of projects, boy am I damn glad we had that 4-day long pair programming exercise building a movie ratings app from start to finish. It really did give a strong backbone template to my project's data model structure and solidify my knowledge in where to even just begin.

2. I am so glad that afternoon lectures have more morphed into project time. Not just because we really do need those extra hours for working on our project because working at night at home is exponentially harder, but because I was really starting to feel the fatigue break through in the afternoon lectures. I struggled hard on two to three occasions to stay awake during afternoon lectures on Week 5 and got really frustrated at myself for it. My body and mind are just at two different paces, and the gap really started to widen on Week 5.

WEEK 6:
So thoughts on our first week of project time:
You know when your parents tell you something and you don't really believe them until it happens and you realize that they've been around longer and of course they have more wisdom so you think to yourself, "Why didn't I just believe them in the first place"?

Well yes, this is exactly what happened when I realized our cohort manager Leslie was right to tell us that everything you think will take a long time for your project most likely will not, and everything you think will be a piece of cake most likely will not. I don't know if it's a bad thing because either way you win some and you also lose some.

So in my case, here was what I thought would take a long time: 1. data modeling 2. creating requests to the Spoonacular API.

My initial data model was not hard to create, but it did go through several modifications in which every time a schema of a table is changed and I have to: drop my database, recreate the database, recreate the tables, create a dummy login account, add data to this dummy account............and my feelings can be aptly summed up by the lovely Ali Wong:

Creating requests on the other hand, was done in just a pinch. I thought it would take me ages to fill in the key-value pairs of a GET request but as it turns out the Python requests library had me going like:

Who knew making requests could be this easy? Now, I know this is because the Spoonacular API is all nicely laid out and some of my cohortmates definitely did not have this experience with getting their data, so I got really lucky with what my project needed in terms of data and the available options of APIs that would cater to my project.

On the other spectrum of things, what I thought would be easy, however, sadly was anything but. On the second day of projects I made my first successfully GET request and had to do everything in my power not to scream with joy at seeing the JSON file print in my terminal. I thought this was it! But noo, the joy was fleeting. Not soon after I was making these requests and getting responses was I elbows deep in sorting through deeply, deeply nested data. Dictionaries nested in lists nested in dictionaries nested in lists nested in youknowhowitgoes. Again, not an entirely unsolvable problem, just tedious.

So when I was finally able to parse into the nests and retrieve what I needed, I came to the realization that my "be all end all" endpoint was not doing its job correctly. To give some context, in a nutshell my app is about finding recipes. Recipes have ingredients. You can tell by the title of some recipes the immediate ingredients you will need. For example, a Grilled Steak with Mushrooms and Gravy will no doubt have steak and mushrooms as key ingredients. It will never, for instance, only require garlic as its one and only ingredient, which is what the Spoonacular data, and hence, my app was returning.

I was almost at the brink of being all, "Screw this!" and telling the world, this data is telling you that you can cook a steak with mushroom meal with just garlic?! Then WHY YES, THAT IS WHAT YOU WILL HAVE TO DO BECAUSE DATA DON'T LIE. But then the logical, chef-y side of me decided to wade through the kitchen fire and test out another endpoint in the API to see what it can get me. 

Long story short, I found a roundabout solution to my problem, was able to recycle at least a good chunk of my first nested-data-retrieval code for this second endpoint, and all is good in the world for now.....until I break my code once again by trying to add more features and fix more bugs.

Sometimes, I feel like I'm just slapping a scotch tape on my broken code as a [temporary] solution to see if it will stick. I'm not sure if what I've fixed will dismantle and come to haunt me later down the road or if it's even a conventional way to solve an annoying bug. Only time (and my mentors) will tell.

Here we go.

Tuesday, May 2, 2017

Hackbright Week 4: Revelations of a Different Kind of "Click"

If there's one thing that has stayed constant in all the studying I've done throughout my years of education (elementary school, middle school, high school, and college), it's the inexplicable ability to retain the most information while in the most random and transient places to be studying--on a moving bus, in the dining hall, in between classes, you name it.

Last week, we were introduced to SQL, and I'm not gonna lie, at first I thought it was pretty straightforward and easy because of how simple its syntax is. However, once we were introduced its connection to Python, I felt not only overwhelmed but also really inept among my peers who appeared to be zipping through the lab exercises like they were nothing.

Feeling frustrated with myself, I started studying on my commute to class the next day. And lo and behold, when my partner and I continued our SQL pair programming exercise, I was suddenly able to rattle off the solution without thinking. As I studied our code during lunch, I was actually surprised at my own code...can you believe it? I couldn't! It's like the solution came out from a part of my brain that I didn't even know existed. It was a miraculous realization and a glimmer of hope that maybe, just maybe, I wasn't completely lost just yet.

Now, I'm not saying that everything just suddenly "clicked". This is not a fairytale and I did not just suddenly transform into a software engineer after studying on a bus (I wish!). As I've mentioned before, I'm surrounded by so many smart women around me every day. I'm not gonna lie, it's a little intimidating and disheartening at times to almost hear the gears click in their heads during lecture and ask intelligent questions, or see the lightbulb go off as they fire away code at their keyboards during lab and ask for a final code review well before the end of the day.

Why can't the gears in my head click this way? I don't know, but what I've realized is that maybe they don't need to. I often worry that if something doesn't "click" right away, maybe it never will. But what I've come to realize is that it don't need to click within the first hour, day, or even night. The lightbulb, gear, or whatever little machine is in my head is working hard, and its time will come.

The little nuggets of powerful information I can collect little by little each day can and will be enough, and will able to work together to drive that wheel of ambition one step closer to its destination.

Tuesday, April 25, 2017

Hackbright Week 3: New & Old

When I first started Hackbright, I thought regular blogs--even just weekly ones--would be easy. Boy was I wrong! There's been so much material being injected in our minds every day that it takes me so much willpower just to stay awake past 10 or 11pm (in comparison to when I used to go bed past 1am easily with longer work hours). But anyway, here are the highlights of last week:

Monday
I think I could speak for almost everyone in our cohort when I say that it was refreshing to be able to take a break from all the hard Python classes and material and transition into something we were more or less pretty familiar and/or comfortable with: HTML & CSS.

There's been quite a good amount of changes I've noticed in HTML5 and CSS (3?) since I last really, truly wrote HTML & CSS (and reviewing the languages on Codecademy don't count) so I was happy to have gotten a refresher.

Tuesday
We learned Flask! I had seen a Flask demo before at a PyLadies study group way back when and have always wondered more on its features and functionality. It was really satisfying to finally get the "Aha!" moment of how all the scripts and programs we've been writing in Python can be "applied" or translated into an accessible format on websites, web apps, etc. For the longest time I've been confused as to where the connection between Python and the web lies, as I feel like I've been coding Python in an isolated environment that's only executed in the typical Terminal console.

In the morning we also had a great Career Coffee session with Wendy from Career Services. I've gotta say it was one of the most hilarious moments (IMO) when she was addressing the 3-6 month average time it takes a post-Hackbright grad to land a job, and said something along the lines of "Some of you may decide to take a month long vacation after this program, are currently pregnant, or will find out you're pregnant and decide to take some time off for yourselves..." I could literally feel the oxygen drain from the room as everyone gasped and could not contain the laughter. I think I can say for sure that getting pregnant is the last thing on everyone's minds right now.

Wednesday
Big day--we met our mentors! It was nerve-wracking and also exciting because we were all so eager to find out who they were, but at the same time nervous about what we were simply going to talk about for at least an hour. Two of my mentors showed up, and the other I actually met this week. They're all super different in their backgrounds and have a lot to offer; I can think of one mentor who will make sure that whatever I turn in has beautiful code, another will guide me to make my project look great presentation wise, and the third one can give me lots of guidance in interviewing.

Just in the few conversations I've had with them I've definitely changed my perception on job hunting in the industry; before, I'd always thought I'd want to work for a company whose product I use all the time...I definitely still feel this way, but since the world is oftentimes the opposite of perfect, my mentor suggested I widen my reach and revise my thinking instead to be: I'd want to work for a company whose product I directly OR indirectly use. In other words, building a product that you simply know many people use--even if it's not yourself--can bring great satisfaction.

Thursday
Testing, testing 1 2 3. We took a dive into debugging and testing in the lectures, but not before we had to get more practice with using Flask in our morning lab pair programming. My partner and I decided to power through lunch to get as much as we could get done in the exercise, as it was a really lofty one with many "layers" of thinking and conceptualizing involved for each step of the solution.

Also, I'm continually amazed at how much work our instructors and staff put into creating the exercises, homework, assessments, and any accompanying material. Not only do they make the instructions entertaining to read, but they also even go so far as to create functioning websites of the imaginary businesses and characters featured again and again in our materials.

I gave my tech talk this afternoon as well; I thought I kind of just fumbled through it without much preparation (I did not want to psych myself out; this tends to happen when I practice giving a presentation and hear the horrible sound that is my own voice), but I'm happy to say that everyone paid attention til the end and asked me questions. One of my cohort mates went so far as to tell me the next day that she enjoyed my lightning talk!

Friday
So, there was a city-wide (ok, not actually true; it only hit downtown and the adjacent neighborhoods which basically means city-wide during the day) power outage! For some reason this did not compute in my head when I was crossing all the streets that had no working traffic signals or lights. I just thought it was some construction going on.

We managed to get some review in for the previous week's assessment before lunch. One of my amazing cohort mates took 10+ of us on a field trip to her Google office for free lunch!! So many of us were super excited to finally be able to experience the coveted free tech company meal, in particular Google's. However as we were rushing back to try to make it back to our 2pm lecture we found out Hackbright was gonna call it a day. It was both a great and also worrying thing for me because it was great to be able to enjoy the sunshine and some much needed day drinking, but also worrisome that we would be behind our schedule on learning...and also--of course I decided not to charge my phone before leaving the house that morning because I thought I could just do it at lecture. But of course the day I make this decision there is a power outage, so I felt I was worried about being powerless in a powerless city the whole time and couldn't stay with my cohortmates for that long lest I risk not being able to meet up with Jesse afterwards.

So after getting a drink at Mojo with the ladies I called it a day with them, met up with Jesse and the Spritz team for drinks, got more drinks with Jesse and his friend and went home happily full for a relaxing weekend!

Wednesday, April 19, 2017

Hackbright Week 2: A Rollercoaster of Emotions

Monday
Mondays are hard, emotionally and physically. It's hard to reboot from a weekend of relaxation and relatively easy skills assessment, and even harder to delve deep into a subject of Python I'm not all too comfortable with--dictionaries. Even though our lecturers have a knack of explaining things in a really easy, almost matter-of-fact way that clarifies confusing concepts to us (or at least to me), our  knowledge is usually truly put to the test during lab. I was paired with an awesome partner who resonated my exact thoughts on being on the same wavelength and page (of the dictionary, so to speak) as each other, and it made dictionaries seem so much less daunting.

All in all, I was so glad we got to practice using dictionaries as a counting tool, but I still feel I need some practice to solidify my comfort in storing this particular way to solve problems when it comes to counting occurrences of things in Python.

In the afternoon, just as I was feeling like my introverted self was starting to really surface, I found out that I was to pair by none other than myself! To be honest, I was pretty excited to see how this would go, because I've always wondered how fast I could get one of our lab exercises done alone, and I was ready to rise up to the challenge. It was not long after that I began to realize why the "two heads are better than one" concept really holds true; I was stuck on something for a quite a bit and realized later that it was something small and rather trivial that I overlooked, and lamented to the lack of a partner who would have for sure caught that in a heartbeat as a I was typing.

Great lesson learned; as much as pair programming can be daunting and unnatural, it is necessary for faster growth!

Tuesday
This was one of the more difficult days (if not most) for me so far in this program. As I mentioned, I'm not that great at dictionaries to begin with, and my confidence took a blow when it came to using dictionaries on our Markov Chains lab exercise. It was fascinating to learn about Markov Chains and how this algorithm works, but putting it to practice was a doozy.

It usually takes me a minute or two of thinking logistically how I would design and write my code before I delve in because I like keeping track of when, why, and how I should place things where I think they should be. That way, at least I'll have an idea of where it might have broken if/when it does and trace the bugs from there. However, this isn't the same approach other people might take, and it can sometimes make me feel like I'm not processing info or coming up with plausible solutions as fast as my partner is. I definitely do not enjoy feeling like I'm not bringing enough code to the table.  In the end though, I told myself that it's whether I can review and retain the information that matters the most.

Wednesday
We continued working on our Markov Chains lab exercise today, this time with a "real world" application courtesy of Twitter's API. My partner and I got a little too ambitious with our content idea for our tweet generator that we ended up in data cleaning hell for the last hour or so until the end of the day. Dirty data, I hope our encounters will be infrequent and short.

On a happier note, my advisor approved my independent project idea! He said he liked it a lot and immediately understood how and why I wanted to build it, and was able to give examples of how he can see it being used in real life situations. Even though I know it's not always a good thing to seek validation to feel good about yourself, I think that it was quite rewarding in this particular case as it was coming from someone who is an expert in code, knows what is feasible for me, and can be a great resource when the time comes to get me there. It's truly a wonderful feeling!

I also met with Jen from Career Services during lunch hour for my career strategy session. As it turns out, she and I have a good amount of history and interests in common! We both enjoy doing artsy, creative stuff. We were both in our Yearbook teams in high school, wanted to become graphic designers at some point in high school/college, and ended up where we are now because of it. She's also a huge foodie!

Thursday
After all that Markov Chains stuff, I had thought that everything would just get even harder with Python classes, as classes are always something that online courses and books get to last. They are a lofty subject and hard to drill into your brain, but I think all those long paragraphs of explanations, analogies, and such from Learn Python the Hard Way really helped drive the core concepts into my brain for months prior to Hackbright, so it was actually pretty easy for me follow along our lectures on this topic.

And who knew you can actually draw things with Python? That was a cool thing to discover!

After class I wanted to revisit some old stomping grounds, and decided to nestle somewhere familiar to me pre-Hackbright: PyLadies study group! I could actually feel my body relax from all the tension that's been accumulating in my brain these past two weeks just by stepping into Clover Health. I was so happy to see the nice security guy at the elevators, the study group hosts, the neatly lined rows of tea and drinks in the fridge, and the [leftover] food.

We also got to see a great presentation from our guest speaker on how she analyzed social media groups, content, and activity around the 2016 presidential elections. It honestly made me feel just a tad bit smarter being able to recognize some of the libraries/modules she used in her data scraping and analyses that I would otherwise have no clue about if it weren't for Hackbright.

Friday
Classes galore! We stayed with our Thu partners for lab and advanced into more complicated features of Python classes. I had always been instructed to stay away from class inheritance, especially multiple inheritance (as LPTHW tells it, like princes of fairytales who cannot un-discover a forbidden forest that hides the dragon he must defeat, novice programmers cannot resist the lure of inheritance in classes), but it wasn't as bad as I thought it would be. If anything, our lectures on inheritance actually helped me solidify my knowledge on classes as a whole. Even if I may not end up using a ton of child classes that spawn off a million other parent ones in my code (who knows), at least I'll know how to do it if I ever need to venture into that forbidden forest!

At the end of the day, we had a nice, relaxing pizza social. No card games this time, just plain ol' talking, which suited me just fine!

----
Last Thoughts

This week's skills assessment was long. Like cancel-hangout-plans-with-friend-halfway-through-Sunday-because-this-will-take-10-hours-long long. I felt bad, as I haven't met up with Yammi in a while, but she completely understands, which is awesome. Focusing on this program has become my top priority, and it's a comfort knowing I have supportive friends and family who get that I would be doing myself a disservice if I didn't complete the assessment on time knowing I could have had more time to do it.

Also, can I just say that there must be some kind of rewiring happening in your brain when you transition into a [software] engineer that makes you start having an affinity for stickers?? Jesse has always enjoyed collecting stickers and putting them on his notebooks, dresser, etc. right away, and I've always kind of laughed at this eccentric behavior. However, now I find myself drawn to all the various GitHub Octocat stickers, and even just the random ones at meetups, shops, etc. Jesse is trying to credit himself for getting my on this track but I honestly think it's the little engineer in me slowly but surely showing her true colors.

Sunday, April 9, 2017

Hackbright Week 1: Excitement, Exhaustion, Rainy Thoughts, and Anticipation

I've officially completed my first week of Hackbright, including the very first weekend skills assessment homework! I think it's safe to say that it has all been what I've been expecting and more. It still feels surreal that I'm now back in "school" in an environment where my main purpose is to learn, learn, and learn more. I'm not bogged down by the need to please clients or write a million replies to emails. Instead I'm focused on just me and the betterment of myself.

First things first, can I just say that I've never had more need to snack, sleep, and recharge from all the extroverted activities we've had to do? I've never been much of a snacker...more of a sit-down-and-eat-a-nice-filling-meal-at-the-end-of-the-day kind of person. However, now that we're constantly being injected with so much new info and knowledge each day, it's like my brain is burning through its fuel so fast that it can barely keep up without an hourly dosage of granola.

Day 1: Excitement
I think I can safely speak for everyone in my cohort that there was not a single soul there not to be excited in the presence of other strong, likeminded women. Here I was, in the cream of the crop of picks at Hackbright, finally fulfilling my dream! We spend a good half of the day going through the long but necessary laundry list of housekeeping details.

Later, we split up into our Hogwarts houses (Gryffindor--I've always known I'd be in your house!), met our fellow housemates, came up with our attendance cheer ("Code More!"), and split for lunch. I had a great time getting to know a few of my cohort mates as we bonded over talk of food. In the afternoon, we had a short lecture on mazes and algorithms, and split into pairs for our first pair programming session. Even after having slogged through the painfulness of Scratch before, I was apparently still not immune to Blocky's similar traps. I cannot for the life of me wrap my head around these programs.


Day 2: Exhaustion
With the lack of sleep from the past week, the exhaustion had started to really kick in by Day 2. I found myself really focused in lectures and engaged in conversation, but by the afternoon I was really starting to feel that sleep would be a big component in ensuring success in this program.

Two of the biggest things I learned on this day?

1. Try to give things a try, and not just on the “try / except” statements (sorry, I had to do it), but in opening my mind to new ways of thinking and being willing to break code to make code (as aptly put by one of our TAs). I was so set on how my partner and I should place our code in this newly introduced method that I felt bad when our instructor came over, broke what we thought was a good code, and showed us that what my partner had suggested might be a solution was right after all. Also, being exposed to the beauty of the “while True” loop was not lost on me; thanks pair programming partner! You have opened my eyes to why two heads is better than one.

2. There is no way I should think that I could go out on a weekday night now and not suffer. I went to my boyfriend’s friend’s birthday dinner in Palo Alto after class, and as birthdays go, ended up staying there until close to midnight. What happened at the dinner? I can’t really say because the whole time I was there I wasn’t there; all I could think about was sleep and homework. Lesson learned: stay close to home on weekday nights lest you want to be the Debbie Downer of the bunch!


Day 3: Accomplishment
Nothing says a good week like a good Hump Day. Though I was still tired from the night/week before, I came in ready to tackle the day.

During pair programming, my partner and I honed in on math functions/operators and with every additional “Further Study” challenge we completed, the more I could feel my confidence get a small boost. My partner reminded me the useful range() function when it comes to iterating over an arbitrary number of arguments that a user inputs. range() has always been a weak spot for me as it hasn’t been drilled in my head that it is a number (or set range of numbers), and not an actual list to iterate over. I feel like I still need to solidify my comfortableness in using range() in the next couple of days.

In the afternoon, my partner and I were so engrossed with our self-made calculator that we decided to power through the challenges until the end of the day. It was an immense feeling of accomplishment that could not be beat by even the throbbing headache that ensued afterwards.

My boyfriend being the saint he is, came over to cook me dinner while I napped off the headache. Needless to say, I cannot be grateful enough for the wonderful support system I have so close to home!


Day 4: Rainy Thoughts
So I knew this day would come; I had always felt the self-doubt bubbling beneath the surface long before Hackbright, but it didn’t really come out to play until Day 4 when I felt myself struggling to keep up with my partner on coming up with solutions to create our own list functions that didn’t use built in list methods like extend, append, etc.

Just FYI My partner did give me full disclosure that she had experience in the material, which I really appreciated because when I was struggling to understand how she came to the solution she did, I was able to pick her brains on her thought process. She was really patient in explaining it over and over again until the light bulb started glowing, although it did not fully light up until I took the opportunity to read the code repeatedly while she was at her advising session.

I guess I thought I had the concept of lists down before this day, but it turns out that slicing them is a whole other beast.

To top it off, it started storming that day, which I’d like to think was a reflection of my own mood, and while I was walking in the rain armed with groceries to the Powell Muni station, I realized I had left my coffee cup still half full of coffee on the shag rug in the lecture hall. To ease my mind, I ended up walking back to Hackbright, found out someone had already cleaned up my mess, and decided to leave a “sorry” post-it next to my seat.


Day 5: Fri-Yay!
By the time Day 5 rolled around, I decided to take the encouraging notes plastered all over Hackbright to heart and reminded myself that hard as it may be, this is not an arms race. Everyone learns at their own pace and are their own benchmark of success. Did I acquire knowledge I didn’t know a week ago? Hell yes. Did I push myself out of my comfort zone? I would say so!

It was great being able to socialize with the Hackbright staff during our Friday night social. I got to know a bit more about Joel, Kiko, and Ahmad that I don’t think I would have otherwise been able to. It was also just nice being able to relax and have a good laugh with everyone during Taboo.


I can’t wait to learn more and finally be able to acquire all the knowledge I need to build my independent project and call it my own!

Sunday, March 5, 2017

Saturday, February 18, 2017

Fried Rice, Rice Baby! Part 1 Completed: The Check & List (aka "Checklist") of Ingredients

So it's been a few weeks since I started on my fried rice recipe generator on Python. While I haven't been working on it nonstop or consistently (I took a break in between to learn the basics of Git, play around with Github, and polish my knowledge on the command line), it's something that I've been slowly chipping away at.

 There's a lot of repeats in the code, such as asking the user for input on whether they have meat, veggies, or even the basic rice and eggs for their fried rice, which I'm hoping once I become more knowledgeable in Python I will be able to return to the code and point out ALL the parts that I can pare down, as it becomes quite laborious to scroll through all this code.

 Anywho, here's a screenshot of what Part 1 of Fried Rice, Rice Baby can do! First it's an ingredient check of the essentials (day-old rice, eggs), then an ingredient check of optional ingredients (meat, veggies, "flavor makers" aka garlic/onion/soy sauce).

Why do I ask for these optional ingredients? Because as you will see later on, it affects the order in which things need to be cooked. For example, if you have bacon for the meat, which takes longer to cook and releases a lot of fat, as opposed to shrimp, which cooks fairly quickly and release no fat, you will need to add bacon first above everything else in a Bacon Fried Rice dish as opposed to Shrimp Fried Rice dish.


From initial outline (which you can see in a previous blog post):



To code:


To final output of ingredient check & list (aka "checklist" hahahah)