Railsbridge SD

I had a fantastic weekend volunteering at Railsbrdige SD (for women). This program is very familiar to RailsGirlsLA, which I participated in about a year ago. RailsGirls LA was great. It was a two-day setup that consisted of an installfest (evening of day 1), building a rails app with a mentor (day 2), and an after party. All meals were provided for and the event was completely FREE! All you have to do is apply (which consists of completing lessons such a Try Ruby). A RailsGirlsLA event is held about once every six months, and is all organized by volunteers! My only qualm about this event is its location. LA is about a 2-hr drive (without traffic... and there's always traffic). So since then, I have frequently thought about creating or reviving RailsGirlsSD (if one had ever existed), to bring such a program to my local community. But thankfully somebody beat me to it with a similar event called Railsbridge! 

Railsbridge originated in San Francisco, 2009, by Sarah Mei and Sarah Allen. It is also a 2-day FREE workshop (day 1 - installfest (6pm - 9pm), day 2 - build an app + afterparty (9:30am ~ 5pm)) but is structured in a much different way.  Instead of each person being paired with a 1-on-1 mentor, the students were split into classrooms based on experience and operating systems. Beginners consisted of people who have no experience at all, and may have never used a terminal before. Intermediates were those who had little to proficient programming knowledge, but maybe no experience with Ruby and/or Rails. Advanced consisted of people who were more familiar with Ruby/Rails, but maybe needed a refresher course and/or wanted to level up. Each class had at least one teacher (some had two) and several TAs. As a volunteer, I really appreciated this setup. I TA'd for the intermediate group of Mac users. Maybe next time I'll teach? If interested in participating, all you have to do is register for the event and you're in, however for this edition, there was an extra emphasis for women, and/or those part of an underrepresented group in tech. If you didn't fit either description and still wanted to participate, then it was encouraged that you brought along someone who qualified under such demographics.

Like RailsGirls, the program is put on by sponsors and volunteers, and its curriculum is open source! I have to applaud those responsible for writing the docs because it was thorough and easy to follow. One of the students wasn't able to attend the installfest for example, so I sent her the docs and offered assistance if needed. Agreeing that the guides were well-written, she was able to configure her machine in preparation for day-2 all on her own. Planning Center Online hosted us in their awesome space, and the event was supported strongly by Learn Academy, Dev Bootcamp, and several sponsors. Snacks and lunch were provided, as well as FREE childcare!

It was SO so great, and REFRESHING, to see a room full of diversity and positive energy, all eager to learn! I saw a lot of new faces and tried to encouraged those I interacted with to keep learning. Hopefully I'll see them again at Girl Develop It, or other events throughout the community. Even though I got stumped by a couple of questions (especially regarding Windows machines at Installfest), I was able to either help the student google the answer and/or ask a more senior dev for debugging help. As a result, I also learned a thing or two in the process. Overall I am so proud of this event and am grateful for its existence in the San Diego community. I will absolutely be volunteering again. 

How I Change My Career

Hello World! 

I have so much to update you on! Where do I begin?

1) I've been on A LOT of technical interviews, on avg about 2 per week for the past month. - Remind me to blog about that. 

2) Verve Mobile hired me as a Software Engineer! I've officially accomplished a HUGE goal of changing careers and am now looking forward to learning, growing, and becoming one bad ass developer! - Remind me to blog about that too. I'm just wrapping up my first week. 

3) Today I'd like to share a talk that I gave yesterday at Full Stack Talks (below). I actually hate public speaking. During the entire talk I could feel my heart pounding as if it was going to burst out of my chest! But being a good speaker truly is a goal of mine, especially because I hope to help and inspire others. That and I'm a big believer in doing things that scare me... within reason. That pocket of discomfort = opportunity for growth. #justdoit #worthit 

#QCIntern2016 Wrap Up

Seeing that my last day at Qualcomm is next Friday, August 26th, I suppose I should do a final recap of my time and experience here. This may or may not repeat topics from my initial #QCIntern2016 Q&A post

1) The number one question I get now is whether or not Qualcomm will be rolling me over to a full time position. Believe me, I was definitely fantasizing that they would, but unfortunately (or fortunately?) the universe has different plans for me. I interviewed for two positions during my time here. The first being an administrative role. I know you're probably wondering why I would consider that. The short answer is that I was about to be unemployed again, I could've probably done that role blindfolded (7 years worth of experience there), and it could've been a foot in the door at Qualcomm. All those reasons were logical, but after the interview I knew that I needed to stick to my ultimate goal of switching careers. I was invited to the final round but kindly declined it. The second role I interviewed for was Web Analyst. No, I wouldn't have been coding as much but that role still required one to be familiar with development and various technologies. They act as the middle communicator between the customers and developers, which I thought would've been the perfect compromise between my previous career as a Project Coordinator and my current interests in technology. But plot twist (stay tuned!)

2) If you want to be a developer, Chrome's dev tools should be your "bread and butter". Learning how to use them will literally add time back onto your life! I wouldn't be a chapter leader if I didn't plug Girl Develop It here. We have a workshop  coming up that'll teach you all about them! My mentor showed me several debugging tricks using these tools throughout this internship, which I will be forever grateful for. 

3) I spoke at the Women's Summit! It was only a 5 minute lightning talk but man was I nervous! Like many, the thought of speaking publicly rattles me to my core but it's something I would like to master, so I'm glad I accepted the challenge. I spoke about changing careers and it seemed to have been well-received. On a separate occasion, somehow I got talked into giving another talk (15-20 mins) at the Full Stack Talks meetup on September 8th! I plan to further develop this speech, giving advice to other career changers/wannabe devs. 

4) Qualcomm will be sponsoring me for the Grace Hopper Convention in October! That's hella exciting!

5) I attended many events, including: Tech Talks, Executive Talks, Workshops (like Android Development), Surf lessons, Women's Summit, QPAWS (therapy animals), luncheons, Lean In Circles, and probably more that's currently slipping my mind. 

qaad.JPG

6) I've completed about sixteen tickets during my time here. My favorite was probably the assignment where I had to add a clone feature to one of their applications. It was challenging but a good learning opportunity. 

7) I learned Java on the job. Majority of my work revolved around Java in some way. Some of the applications used Groovy and Grails, which is still Java based. People ask me if learning Java is hard but I didn't find it too challenging, especially when dealing with legacy code. For instance, my applications already had tons of code in them so I could easily replicate similar ideas/functionalities by looking at the existing code. I'm still confused by the many Java keywords but Google is great. This experience taught me that knowing one language makes it super easy to pick up others. It seems like they essentially all have the same basics, just different syntax. With that said, now I feel a bit rusty on my Ruby and Rails, so I plan to build a project or two to brush up. Thankfully I also used a lot of JavaScript at Qualcomm, so I'm good there. 

8) Companies call me now. Ever since putting Qualcomm on my resume, I actually get recruiters calling me back. I have been on at least 2 technical interviews per week for the past month. Before Qualcomm, no one bothered to give me a shot. 

9) I've made friends here. I've become closer with other GDI Interns and with the members of my team. I wish I could share some photos with you but I won't to respect their privacy. In particular, my mentor's girls are now just as obsessed with Pokemon Go as I am; probably even more actually! He sent me photos of them posing with Pikachu. And my boss's girls loved the Sprinkles cupcakes I brought in when the building lost power. I had actually purchased them as a thank you to my team, but by time I got back everyone but my boss had gone home! I gifted the cakes to him and received the sweetest photo of two little girls practically wearing the frosting. 

10) I'm so thankful for the opportunity to intern with Qualcomm. They've got some amazing innovations that continue to blow my mind, and I'll make sure my next phone has a SnapDragon chip in it! Ya! I can't believe I'm saying that (I LOVE my iPhone). I would highly encourage you to get involved with Girl Develop It to not miss any future opportunities to intern here. In addition, I'm so proud to be a part of a group that extends such opportunities to others, and I'm grateful for my co-leader, Courtney Lach, and previous GDI leader, Alanna Burke, whose work made this opportunity possible for me. I've got to do what I can to pay it forward! 

How to: Mental Toughness ft. @flowjunkie and @AthenaSanDiego

Last night was my first time attending an Athena event. Feeling inspired, I stayed up late to write but decided to finish it the following morning once my eyelids felt too heavy to keep open. But it looks like I forgot to click the save button, so here we go again! Tips for mental toughness round 2! Why doesn't this CMS auto save?

I first heard about Athena at an event about 3D printed shoes that I never blogged about. Do yourself a favor and click that link to geek out at how amazing it is for technology to be applied to various aspects of our lives! With Feetz, you can get a custom shoe made for YOUR perfect fit which is determined by a machine that takes photos of each foot, measuring 22 different angles! They're a startup local to San Diego but recently scored a deal with DSW, so we may be seeing them throughout the US soon! I have a discount code if you're interested in purchasing a pair, but reach out to me about that later because I'm losing focus. Let's get back to mental toughness.

As I was saying, I was first introduced to Athena because Girl Develop it shared a booth with them at the shoe event. Athena is an organization that promotes the professional and personal growth of entrepreneurial women in life sciences, technology, engineering and healthcare. There is an application process for membership, which unlocks some seriously awesome perks, a sisterhood of power women (and men) and connections. Upon approval, there is an annual membership fee which also helps to support the community via high school scholarships for example. However, in regards to the events, you don't have to be a member to attend. For last night's event, the non-member ticket cost $75 vs $50 for the members. And yes, members still have to pay to attend events. Given my circumstances at the time, I didn't submit an application but bookmarked this org as a future to-do item. But by the grace of Qualcomm, who offered free tickets to the event, that future came sooner than later.

To be honest, I was feeling very anxious about attending. I knew that I wouldn't know anybody,  but I pushed myself to go anyways. I'm thankful for being that person who hates being late, so I usually arrive way too early to everything. Arriving early allowed me to ease into my surroundings before the crowd of other attendees filled the room, who enjoyed networking with wine and small bites to eat. Being an unfamiliar face, I was grateful for the woman who approached me (thank you), who happened to have been a Software Engineer turned Program Manager. Sometimes being introverted is socially difficult for me, but I tried my best to feel confident among a group of extremely inspiring and talented individuals. The social lasted an hour and I was grateful for the advice bestowed upon me from the women I met, who taught me that it is OK to be assertive and unapologetically go after what I want, which is the perfect segue to the event's topic, "Forging a Mental Six Pack" with Renita Kalhorn.

By no surprise, Renita is a woman who has already accomplished more than others do in a lifetime, all by mastering her mental state and maintaining a state of "flow". A black belt Julliard concert pianist, she has trained Navy Seal candidates in mental toughness and delivered leadership and development programs for Fortune 500 clients. It was a pleasure to witness her speak. There is a calming presence about her that made me feel safe. I'd like to share some takeaways with you, even though she also included a lot of the scientific data behind each point during the talk. I will be practicing these techniques daily. 

1) Feel your feelings. Observe them and pinpoint where it is in your body that you feel it. That feeling is just a chemical reaction that ends up negatively manifesting in your body and mind if you hold on to it for too long. Instead of trying to numb the discomfort (which I usually do with food), take a moment to acknowledge it, stick with it and let it go. If you are irritable, write down what's bothering you then throw that paper away. Burn the mental fat of guilt, anxiety, stress, resentment, etc. Harboring it will do you no good. I especially appreciated the bit where she talked about setbacks. The difference between champions and everyone else is that they're able to move on the quickest from mistakes. 

2) Strike a pose. Watch the TED talk by Amy Cuddy for details. Practice power posing for at least 2 minutes per day. 

3) Make decisions and make them often. Here she included the Buddha quote, “Pain is inevitable, but suffering is optional.” We get to choose how we respond to our circumstances and emotions. For a personal example, learning how to program has been hard for me. But instead of saying "this is so hard" every time I sit down to code, I could switch that to "I'm up for the challenge". If I keep saying "this is so hard, this is so hard", guess what it's going to be? HARD! Even at this internship, when I am given tasks I don't know how to do, it makes me feel uncomfortable. But that discomfort is actually opportunity for growth, which is never a bad thing. It's OK to be uncomfortable. 

4) Practice! For this, she had the group pair up for an exercise where we'd pretend we were asking our boss for a raise. We'd practice saying our request and reasoning out loud five times, to know how it feels to say uncomfortable words and to embrace them; it gets easier. Then we practiced telling our partner the positive outcome of our request. Because I was sitting in a row to myself, I was surprised when she came over to be my partner! 

5) Visualize. When you truly visualize what you want in life, your brain doesn't know the difference between what's real and what's being envisioned. You'll become engrossed in such positive feelings that your real-life actions will start to align with your vision. I've always referred to this as the Law Of Attraction, which I'm a huge believer of.

6) Create micro-goals and celebrate. The example she gave here is when a 3-year-old is happy because she "did it" no matter how little that "it" was. 

7) Live in a constant state of gratitude.

I'm so glad I attended this event and I look forward to the opportunity of one day joining the Athena organization. As an intern amongst such lady bosses, I left feeling empowered and inspired to be and do great things with my life. On a final note, I've said this before but I have to say it again. I'm blow away by the support and opportunities within Qualcomm. I'm here to soak up every minute, and I'm looking forward to attending other sponsored development events, like ToastMasters, soon.

 

#QCIntern2016 Blog Series: 1

Between my new role as chapter co-leader with Girl Develop It San Diego and starting my internship at Qualcomm, I’ve been extremely busy. I missed being busy though. The “worst part” about it is rejoining the rat race called rush hour; a commute that should take 20 minutes easily turns into an hour. But honestly, it’s worth every bumper-to-bumper minute. I absolutely love working at Qualcomm and wish my internship would never end.

Today is the start of my third week here and I’m still geeking out at every turn. There are literally robots rolling around on their main campus, among their “little city” of smart buildings. I’m calling it a city because there are so many buildings that they offer free shuttle services to get you to and from. There are cafeterias which grow their own produce in the campus gardens, food trucks and bagged lunch services, gyms, pools and fitness classes, museums, libraries, and even an on-site medical facility! The quality of life is incredible here. I have met several employees who have worked at Qualcomm for 8 -10 years. And at least three people on my team have been here for double that amount of time! This usually blows my mind anywhere else but after getting comfy here and learning about this company, its innovations and culture, I’d probably never leave either! Qualcomm is an inspiring place to be and I’m honored to have been selected for this opportunity. Additionally, knowing that this is probably a once in a lifetime chance for me, I literally sign up for everything! Some of the supplemental intern activities include: tech talks, a series of talks by the executive team, volunteer activities, classes (about drones, android development, dragon boards, robots, etc.), surfing lessons and a 16-hour mobile hackathon. Majority of the other interns I’ve met are young (19 years old) and are still in school, bright eyed and bushy tailed. But here I am; I graduated 7 years ago, was recently laid off, and I’m in the midst of attempting a career change at 29 years old.  Though I don't consider myself "old"... yet,  I know that I don't fit in with their traditional intern demographics. So again, my level of gratitude for this experience is indescribable. I intend to make the most out of every second.

 I’ve been meaning to blog a weekly check-in to share this point of my life with you. I’ll have to be careful though, as I’ve signed a proprietary agreement. If you’ve been hanging around here then you know I like my screenshots, but I won’t be doing that for this series. Instead, for my first #QCintern2016 blog post, I’m going to do this Q&A style. I collected these questions via frequently asked in-person convos, Twitter and personal e-mails I've received. If you have additional questions, feel free to leave them in the comments below and/or follow me on Twitter for when I make the next all-call.

1)      How did I find this opportunity?

a.      Although you can find internship opportunities directly on Qualcomm’s website, from my experience it seems like most of them require you to be a college student. I graduated from UCSD in 2009 so whether it was luck or fate, I’m thankful I got involved with Girl Develop It (GDI), through which this opportunity presented itself. Qualcomm is one of GDISD’s biggest sponsors but this is the first time they’ve offered internships to our members, (I think). I joined GDI about a year ago as a “student” to learn more about development. I was a recipient of their Front End Development scholarship, which allowed me to take a 6 month series of their classes at no expense, under the agreement of attending them all. The intern opportunity was originally announced about two or three months into the series, being limited to the scholarship recipients. Additionally at the time of announcement, only three of the scholarship recipients would be chosen.  But I am proud to report that all seven of the recipients were placed! What an incredible opportunity for us all, one that reflects the values of Qualcomm! As a career changer, I know how valuable this experience is. Breaking into a new industry with limited relatable professional experience is a challenge. As a newly appointed co-leader of GDI, I look forward to offering such opportunities to others and getting other companies involved in our internship program too.

2)      What was the application/interview process like?

a.      I applied via Girl Develop it, not Qualcomm, which was done online in a short essay style format. There were multiple questions aimed at getting to know you, your background, and aspirations. After a month or so of consideration, I was invited to technical phone interview with three different teams, two people per team.

3)      How long is the internship? How many hours per week? Is it paid?

a.      The internship is for the summer and lasts for 12 weeks. Because I was previously unemployed I’m able to commit to 40 hours per week, but they are flexible and don’t expect you to quit your job as a requirement of interning. This is a paid opportunity.

4)      What team am I on? What projects and technologies do I work with?

a.      In brief, I basically work on the custom development IT team that creates tools to support HR and identity management processes. I am assigned tickets on Jira for 2-week sprints. So far, majority of my tickets involved clearing out the backlog by making UI changes to an application, which got deployed on Friday! For those assignments I used: Subversion, Spring Tool Suite, HTML, CSS, JavaScript, JQuery, Groovy and Grails. It’s neat to know that once my code passes testing and QA, my work on this application can be seen and used by the entire company! My next assignments were assigned today and they’ll be heavy in Java and Velocity.

5)      Did I set up my own development environment? If so, how did I know what I needed?

a.      Configuring my system was probably one of the more frustrating tasks I’ve experienced thus far, especially since I’m used to my personal computer which is a Mac; here they use Windows and PCs. I report to a manager but I also work closely with a mentor, who is a Software Engineer. When I accepted the internship offer, I reached out to my mentor on LinkedIn to find out the tools I should familiarize myself with. So prior to day 1 I tinkered with majority of the tools on my personal machine, and I already started learning unfamiliar languages such as Java. However, I came across several problems trying to do the same on the PC they issued to me. Thankfully my mentor is kind and is always willing to help, doing so without making me feel dumb.

6)      What is the culture like? Describe the office environment and diversity of the team.

a.      This may not be entirely accurate because we have quite a large team (42), which includes members in India, Ireland, and Mexico! But in regards to my local office, majority of the employees are men of Indian or Caucasian descent. There are no female developers but there are two ladies on my team who are involved in system analysis and QA, one who has worn traditional Indian attire without a sense of hesitation. There is also a wide selection of food choices to accommodate different cultures and dietary preferences. My building even has privacy rooms reserved for nursing mothers. Additionally, I recently received a notification for signups to walk in the San Diego Pride Parade with Qualcomm's CEO and executive team. Although I haven't seen many other African Americans, there is an African & African American Diversity Group/Employee Network that meets about once a month. I plan to attend one of their meetings soon. Otherwise, in only two weeks the team has done a great job at making me feel valued and included by: inviting me to internal meetings, inviting me to post-work events like Happy Hour, accepting my requests for informational interviews, and expressing interest in me/Girl Develop It. I have my own cubicle and the atmosphere is corporate but casual; on Fridays we wear Star Wars t-shirts. 

7)      What do I hope to gain from this experience?

a.      There are several ways I could answer this question. Let's get the obvious one out of the way first. My ultimate cinderella story would be to excel at this role so much that Qualcomm won't want me to leave! I dream about them seeing my potential and inviting me to join their team permanently. Besides that, of course I'm here to: learn as much as I possibly can, contribute to the team's successes in whichever way I can, meet and connect with as many people as I can, and spread the word about Girl Develop It. That last bit is an interesting point because now that I've accepted a new role with GDI, I no longer operate for myself anymore. I've always loved helping others, hence my youtube channel and this blog, but I can feel that desire to do so now more than ever before. In addition to my personally motivated career goals, everything I do, every person I meet, and every event I go to is ultimately done so to share the wealth of knowledge with all, but especially with other GDI members. By doing so, I hope to make a difference in people's lives and help to close the gender and minority gap in the technology industry. I believe in GDI's mission and I'm proud to be in a position to actively do something about it. So I like to think this intern experience doesn't just belong to me... it belongs to us all.

Geek Girl Tech Con 2016 Recap

Today was my first time attending Geek Girl Tech Con - San Diego. Leslie Fishlock is the mastermind behind this empowering event, which helps to encourage diversity and inclusion in tech. It was great to see such a supportive community of women of all ethnicities and ages interested in and contributing to the industry. It was also nice to see men supporting us too! Though it's one of the smaller conferences I've been to, the vibes were good, offering a safe space for a day of learning. The conference took place at USD and consisted of various tracks ranging from different types of programming, social media, business and more. I am not sure if the talks were recorded so unfortunately I can't make any promises of watching it later. However, here is a recap of my day:

8am - 9am: After checking in I took time to collect some swag, explore company booths, and take advantage of the free professional head shot. Even though I barely have enough room, I couldn't resist another sticker! 

9am - 10am: Opening remarks and introductions.

10am - 11am: First Step in Creating your App: Prototyping It - Elina Kim and Rocio Montes Sponsored by Intuit - These ladies did a great job explaining the importance of prototyping. I've heard about it before but never understood its intricacies and importance. It's easy to assume that a prototype of anything is a basically just a mockup of an idea, but of course there's more to it than that. "A picture is worth a 1000 words. A prototype is worth a 1000 meetings" Do it right and you'll be much more efficient and effective with your clients. They covered the following steps:

1) Low Fidelity = understand what the user needs. Usually ideas quickly jotted down via pen and paper to show its visual representation. 

2) Mid Fidelity = during this stage, digital tools like photoshop may be used to further draft/develop the visual representation of an idea, however it's recommended that no color is used during this phase so that the customer feedback can be focused on the visual flow and functionality of the app. 

3) High Fidelity = how will you deliver a positive experience so that your user will choose your app above others? The idea will come to life via code during this stage, where a customer can physically interact with it and provide feedback. 

This session wrapped up with tooling advice/demos and an exercise. Checkout Moqups, Invision, and Pop if you're interested. It surprised me how much I enjoyed prototyping a concept. 

11am - 12pm: CODE: Debugging the Gender Gap - This was SUCH a good documentary. Girl Develop It San Diego recently partnered with The Patent Nerd to give a screening of it, so be sure to sign up to view it on meetup.com I am tempted to write an entire blog post to discuss my thoughts on this film, but I'll refrain from doing so now and save the discussion for our meetup.

12pm - 1pm: A variety of sandwiches, cookies, and drinks were available for lunch. This is included in the cost of the event ticket.

1pm - 2pm: PANEL: WHY I HIRE BOOTCAMP GRADS Sponsored by LEARN Coding - This panel featured four companies discussing the pros/cons of hiring bootcamp grads. I appreciated their insightful perspectives, especially because it's helpful to understand not only what they're looking for, but also what they consider to be challenges in hiring grads such as myself. With this information, I can better empathize with employers' concerns and work hard to reassure them of my talent, passion and hard work ethic. 

2pm - 3pm: The World of Creating An iPhone App - Julian BryantJulian has an amazing story that totally inspired me to work and try even harder. He is a self-taught IOS developer who now works as a freelancer. To be honest, an idea for an app is what originally started me on this programming journey and I can't believe that it's taken me almost a year to direct my attention towards mobile development. This was truly my first time seeing how mobile apps are created and it blew my mind! IOS development looks like so much fun and I cannot wait to give it a go by making the prototype sketch above come to life. Recently the WWDC2016 conference announced updates to Swift, but I don't think I want to wait for a Swift 3 book to surface before tackling it. I'm eager to start learning it now! UPDATE: I built my first app and will blog about that process soon!

3pm - 4pm: Android Mobile Development - Leticia RaborIn contrast to Julian's presentation, it was interesting to see the differences of developing for Android. In comparison, Android seemed A LOT more complex, but thankfully I am learning Java at my internship so it's neat to know that this knowledge can apply to mobile development as well. It would be a fun project to build my prototype for Android too.

There were two more 1hr sessions after this + a reception hour, which unfortunately I did not stay for. My mission for today was to attend talks on subjects that were completely new to me. Being a nerd at heart, I loved every moment of learning today... mission accomplished. If you have the opportunity, I'd recommend attending this conference as it's held in various locations across USA. 

"Lemonade" + Tech Resume Tips Recap

The title of this blog post has nothing to do with Beyonce's new album. Well maybe it does; I suppose she titled her album that way to suit to her particular circumstances as I have done, but let me be clear that our circumstances are not the same. I'm titling my blog post this way as a play on the old cliché, "When life gives you lemons..." because I am finally making lemonade.

Since being laid off, I've completed Learn Verified, attended tons of Meetup groups, and started to teach myself new languages/frameworks. Additionally, I've recently been appointed as the co-chapter leader for Girl Develop It San Diego, and accepted an internship offer at Qualcomm. I'm so excited, I literally cannot stop smiling! Additionally, I've started exercising regularly, eating more healthfully, and practicing gratitude with daily affirmations. I'm so thankful for these turn of events.

I would love to continue this post detailing the lessons I've learned about myself during difficult times, but I think I'll save that for another day. Since finishing my code school bootcamp, I've been in career mode learning about the importance of networking, cover letters, resumes, and more, but I've yet to blog about the post bootcamp journey. So I'd like to take a second now and share some tips from the tech resume workshop event I attended last night. 

As stated, last night's meetup was all about tech resumes. The first half were lightning talks from a panel of industry experts, including recruiters! After a brief intermission, the panel and audience reviewed and critiqued live resumes (including mine)! While normally the thought of this would terrify me, IT WAS SO HELPFUL. I will be redoing my resume as soon as I'm finished typing this post! Additionally, it was awesome to see different groups come together to support the tech community, including Dev Bootcamp, Learn Academy, Zeeto, Girl Develop It, Geek Girl, InnovaSystems International, and Qualcomm, facilitated by Sunny Datko and Michael Roberts Jr. I will do everything in my power to encourage a repeat of this event in the future, and/or an extension of it to cover tech interviews, for example. Of course, everyone has their own opinion for what a resume should/should not be, and each person's profile/education/experience will be different, but below are just some of tips I found to be helpful for my personal situations.

TOP 5 TECH RESUME TIPS: 

  1. Employment gaps are a red flag. If you've been laid off but it has only been a few months, it's OK to leave your last position as "present", but clarify your layoff situation with the recruiter if contacted. Additionally, my resume has a two-year gap for when I decided to go back to school full-time. I COULD actually put the part time positions I had during this time but they were retail jobs, and not relevant to the tech world at all. It was suggested to combine my timeline under "experiences" instead of separating "work experience" from "education", so the dates are more fluid and a recruiter doesn't have to guess at what happened during what is perceived as a gap.
  2. 6 seconds rule = the time it takes for your resume to be judged as good or trash. This sounds harsh but imagine all the resumes recruiters have to filter through! Especially if they don't personally know you, you aren't special. How will you stand out? Take advantage of the "prime property" which is the information "above the fold", as if you were to fold a piece of paper in half. In my case, it was suggested that I move my education from the bottom to the top. Companies tend to have strong opinions about bootcamps. They either view me as being awesome that I've dedicated my energy to learning a new skill, and completed it, which shows potential in many areas. Or a company may be turned off by how "junior" I am. Additionally I have a bachelor's degree from UC San Diego which also shows dedication, even though it's in a non-tech related field. So I'll be updating my resume to show my education first, then my projects, skills, and so on since I my professional experience isn't my strongest point, coming from a non-tech background. However, if you are someone who has ten years of relatable experience, put that in your prime property.
  3. Use a word cloud app - Some companies, especially larger ones, don't even use human eyes to review resumes on the first round. Instead, they have some automated process that looks for keywords in its database of resumes. This site allows you to emulate this process by posting your resume and the job description, to see how you'd compare. Use this tool to beat the system. I've linked one but Google around for your fav. Be sure to tailor every resume to the job description for your best chances.
  4. Cover letters are outdated. Again, recruiters have to filter through a lot of content. Big blocks of paragraphs slows down this process. On that note, be sure to bullet point your experiences in your resume, using action verbs as the first word. It should be listed in chronological order, starting with your most recent experience. Additionally with every experience, there should be one less bullet point with 7 being the most for your current/recent position. If you live in San Diego/ West Coast, limit your resume to 1 page. If you live on the East coast, it's OK/preferable to have more than one page.
  5. PROOFREAD. I know you're saying "duh", but this is not a joke. Get as much feedback as you can from multiple people. If you have grammatical errors, typos, or misspellings, your resume will be trashed!!! <- ie. Don't use multiple exclamation points. 

I could go on but I'm going to stop myself here. This was legit the most useful meetup event I've been to in a while and I hope these tips help you if you missed it. 

Code Wars + TDD Walkthru: Boiled Eggs

Girl Develop It San Diego was full of extra content this weekend, at our Intermediate JavaScript class. I've already written a blog post about today's special guest, Nelson, who spoke about the importance of User Experience. But yesterday we also got a bonus lesson from our TA, Adam, who introduced Code Wars to us. Code Wars is a site where you can practice solving algorithm-like questions using a variety of different languages. With every correct solution you can "rank up", so there is also a social aspect to the site as well. Additionally you're able to compare your solution with others, and comment on them too! 

I appreciated Adam's walkthru and approach to solving these problems using TDD, so I would like to attempt recreating his example in this blog post. If you'd like to follow along, after you've created an account and logged in, you can search for the "Boiled Eggs" exercise by clicking the icon underneath the red Code Wars logo. 

As you can see, the blue logos indicate the different languages you could use to solve this exercise. We will solve it together using JavaScript. After selecting this lesson and clicking "Train", you will be brought to the main view which will contain the instructions on the left, an IDE (where you'll code the solution), and a Test section (which you can edit to practice the concept of Test Driven Development - TDD) on the right. (But you can also change the layout, and background color).

The instructions state: 

"You are the greatest chef on earth. No one boils eggs like you! Your restaurant is always full of guests, who love your boiled eggs. But when there is a greater order of boiled eggs, you need some time, because you have only one pot for your job. How much time do you need?
Your Task
Implement a function, which takes a non-negative integer, representing the number of eggs to boil. It must return the time in minutes (integer), which it takes to have all the eggs boiled.
Rules
+ you can put at most 8 eggs into the pot at once
+ it takes 5 minutes to boil an egg
+ we assume, that the water is boiling all the time (no time to heat up)
+ for simplicity we also don't consider the time it takes to put eggs into the pot or get them out of it."

Immediately Adam directed our attention to the Test section, explaining that we should write our tests first so we know it will meet the requirements, vs manually testing with our code alone. Manual tests are inefficient and error prone, which explains the "why" behind the TDD concept. Code Wars usually provides pre-written tests but Adam encouraged us to write our own, explaining that a good test suite will be specific and ideally have 1 assertion per test, unlike what was provided to us below: 

So let's rewrite our test suite, one step at a time! Because the site provides us with tests, it's pretty easy to use those as examples for writing our own. But there is a section of the site for test documentation with each language you choose. As you will see in the example below, we will pass a parameter to our cookingTime() function, which is the number of eggs we'll boil. The second number represents the number of minutes it'll take, and the last element is a string that'll read " # eggs" (which should match our parameter number).

So in the above screenshot we just separated the first test to be a test of its own, "it should take 0 minutes to cook 0 eggs". If you run this test as is, it should fail since we haven't written any code in the IDE yet. The results of the tests, by default, will replace the instructions on the left: 

As you can see, our test states exactly what's wrong in a way that's easy to understand, because we've specified our test. It expected 0 and got undefined. So without overthinking it, how can we get our first test to pass? Let's simply give it what it expected and return 0. 

Congratulations! We just passed our first test, using TDD! Let's think of our next test. We have 1 pot that takes 5 minutes to cook a maximum of 8 eggs. So let's make a test for that, 1-8 eggs! It'll look something like this: 

Again, if you run the test now, only our first test should pass because we haven't written any code that could satisfy our new test. Try doing so now before looking at the next screenshot! Keep in mind that there are several ways to solve the same problem but our goal will be the same, which is to pass these tests before continuing on. 

Fantastic job, but we are not done yet! Time to write our next test! This time you should think critically so we can be efficient. Sure, you could write a test for 11, 12, 13, 14, 15, 16, 17, 18, 19 eggs and so on, but it would be more strategic if you think about key numbers such as 16, 17, 24, maybe even 32. Why? Because given this example, we know that it'll take an additional 5 minutes for every 8 eggs. So at 9-16 eggs, it should take 10 minutes to cook. At 17 - 24 eggs, the eggs will be ready in 15 minutes. At 25 eggs, the time will increment again by 5 minutes, being ready in 20. Let's write a test to simplify that! 

You know the drill now. If you run it, this test should fail as we haven't written any code for it yet. 

You could split this test up so it will have one assertion per test, but I'm going to continue as is since I think by now you get the idea of TDD, and we are so close to solving this challenge! Now take a second to write the solution in the IDE to get this test to pass! We came up with the following:

Which can then be refactored to simply this: 

Did you get it to pass? Good job! At this point, we can submit this challenge as we have satisfied all the requirements. But feel free to keep writing tests to play around some more. Test out an edge case for instance. What if the parameter we pass isn't an integer? Go ahead, write a test for that, then code in a validation feature for it to pass! 

After submission, you are able to see other people's solutions which is always neat because you'll see that there are so many ways to solve the same problem. I always find comparing my solution with other's to be fun and interesting. And Code Wars even categorizes them, such as by "Best Practices" and "Clever". 

In conclusion, I hope you found this to be helpful! Code Wars is a great tool and I plan to use it for my technical interview/whiteboard prep! I'm also excited to use it as a tool to practice testing too! (Thanks Adam!)

"UX is like a Kitchen" by Nelson Abalos Jr.

In today's Girl Develop It San Diego class, Intermediate JavaScript (Day 2), we had a special guest who gave a presentation that I quite enjoyed! Nelson Abalos Jr., a seasoned web designer currently working at Webflow, is a great speaker and I really liked his shirt :) He spoke about the importance of User Experience (UX). It is something that should be considered, even if you aren't "officially" part of the front-end team. Additionally, UX doesn't just pertain to web development. For example, take a look at the video above about doors! User Experience is every where, every day! And a bad UX can ruin everything!

To recap, UX is like a kitchen (at a restaurant). There are many employees doing their own jobs, but each person/job must ultimately work together for your successful dining experience. The four components needed include: fresh ingredients (aka great content like copy, imagery, videos, etc), a clean kitchen (aka clean code, clean file names, easy to use intranet), a beautiful dining area (aka a beautiful front-end design), and fast service (aka optimized code to serve the user data quickly). If, as a diner, you end up waiting 50 minutes for your food for example, you will likely be frustrated, upset, and never come back to that restaurant again. This will be the same result of a user visiting your website, with a slow load time. So user experience should be important to everyone on a development team. Everyone's job is important. 

According to Nelson, an example of a great user experience is Google.com. Google is intuitive, simple, and easy to use. At one point, Google's search competitor was Yahoo.com. Both websites can do the same thing, by why did Google prevail? No one ever says they've "yahooed" something. Perhaps it's because Google has a more pleasant user experience! Google is basically just a search bar, whereas Yahoo is cluttered with everything from the news to politics to the weather. 

UX is so serious that there are scientists who specifically study the way we use products. For example on a website, which type of button attracts the most clicks? Round ones, square ones, red ones, etc? The answer to that question may even affect the amount of sales from that site! On that note, Nelson recommended getting to know analytics and AB testing. Lastly, if you'd like to learn more about this topic, he recommends checking out the articles written by Digital Telepathy. And if you want a good user dining experience in San Diego, he recommends Juniper & Ivy

Why did I decide to learn software development?

If you google my name, you will find my Youtube channel, #thepaintedlipsproject. The purpose of the channel is to provide and demonstrate how makeup looks like against different skin tones. Anyone who wants to participate can do so by uploading swatches with the hashtag, #thepaintedlipsproject. The channel was created to help solve the issue of representation and diversity amongst the beauty industry. I receive thank you e-mails or comments daily from viewers, saying that I've inspired them to be comfortable in their own skin to saying that I've helped aid them in their beauty purchases. With nearly 25,000 subscribers, I'm tickled by its growing success and absolutely love what I do. It was this hobby that led me to the path of programming.

When it comes to creating video content for my channel, I've taught myself everything I know from the use of software like Photoshop and Final Cut Pro, to the operation of cameras and lighting. This channel has taught me so much that I consider it to be an asset to my skill sets, but we'll talk about that later. Flash back to about 7 or 8 months ago, I was inspired to create a blog and/or app that would compliment my channel. I knew exactly what I wanted, but I didn't know how to create it. I ran into various content management systems (CMS), like the one I'm using now for this blog, but that didn't satisfy me; I wanted to learn more. (Side note: there is nothing wrong with using CMS. They are helpful tools too!) So that curiosity led me to resources like Code Academy, and shortly after I wrote my first line of code. 

My channel generally revolves around beauty, but I also include bits of lifestyle such as fashion, skincare and wellness. But this month I will be trying something new! I am planning a special video, which I hope will be well-received and spark curiosity amongst my viewers, to consider a career in tech. I'm inspired to use my platform to encourage others to learn how to code, especially since 94% of my audience are females of various ethnicities, ranging from 13 to 54 years old! I would be proud to introduce programming to a demographic who may have never even considered it before. Additionally, why shouldn't career talk be included with the beauty category? Being a smart, independent woman is beautiful too! My channel can be used as an outreach tool to encourage diversity in tech!

Up until now, I've been trying to keep my programming world separate from youtube, fearing that employers would discover it and give me a pass as a result. How naive of me. But like stated before, Youtube demonstrates several favorable characteristics of mine, such as being a: leader, self-starter, creative, passionate and committed person, with a positive influence, amongst others traits. Yep, I'm totally tooting my own horn! Youtube is something I am proud of. Why not use it to show employers part of who I am? Additionally, one time I had a tech interview in which the interviewer asked me about my channel. I was unprepared and surprised by the question because I had never included it in my resume or application! But of course he googled me! Duh! Since the results of my googled name ranks my Youtube above my LinkedIn, I might as well embrace it fully, do good, and bridge my two worlds into one.