The One Where 2018 Comes To An End

Photo by rawpixel on Unsplash | https://unsplash.com/photos/GwsXX--WwjU

via GIPHY

In the moment, it can be difficult to realize what you’ve accomplished in a year.

2018 is no different.

As the year comes to a close, I wanted to reflect on everything that I accomplished—or didn’t—in the past 365 days.


Spoke at Tech Conferences

I might have gone overboard with applying to speak at conferences in the past year. But, I wouldn’t have changed a thing. Speaking at tech conferences is a way for me to give back to my community by sharing my story with other developers.

In May, I spoke at Codeland. I spoke about my experiences with Creating and managing my first ever open source project on Github. Before Codeland, I hadn’t spoken at a conference in almost two years, so I was beyond excited to hear that my proposal had been accepted! Giving that talk and hearing from other Code Newbies that my story—the good and the bad—echoed theirs was touching.

Guide your team with an Email Playbook, Litmus Live, San Francisco

A few months later I spoke at Litmus Live in Boston about a project from my work as an Email Developer. Litmus Live 2016 (then called the Email Design Conference) was the first ever tech conferences I spoke at (and attended) so it was exciting to be back with a new story and new experiences under my belt.

There were a few other conferences I submitted proposals for but did not get picked. And that’s ok! There’s something that can be learned from just applying.

Completed a Mobile Web Specialist Nanodegree

I wrote about this in detail, but to sum it up, completing this Nanodegree was one my biggest personal and professional accomplishments in 2018.

Coming in as one of the 50,000 participants in phase 1 of the Nanodegree, I was in over my head. Javascript was a prerequisite and I knew enough to be dangerous, but the concepts in the initial stages of the course were foreign to me.

Service workers? No, I haven’t actually worked in a restaurant. ES6? Isn’t that a video game convention?

Photo by Hello I'm Nik on Unsplash | https://unsplash.com/photos/z1d-LP8sjuI
Photo by Hello I’m Nik on Unsplash | https://unsplash.com/photos/z1d-LP8sjuI

At the very beginning, I considered giving up. With the help of the community and a whole lot of Googling, I completed phase one of the course. And, to my surprise, made it into phase 2 where the course material got even more difficult and interesting. Over the course of 9 months, we took a Restaurant Reviews app from being static to mobile first to offline friendly while keeping accessibility best practices and load times in mind.

This was huge!

Most of these concepts, I didn’t know existed in 2017. Now, I am comfortable enough with PWAs, IndexedDB and ES6 to build new applications. This course has pushed me in ways I wouldn’t have though up and has inspired me to keep going. I recently started an Intro to Computer Science course and have written my first lines of Python!

Made 312 Contributions on Github

Not bad!

312 contributions on Github in 2018

While slightly less than what I did in 2017, I did participate in more projects overall than I had in previous years. Some through Hacktoberfest—which earned me not one but two shirts this year—and some were projects of my own where I wanted to experiment and try something new.

Promoted to Senior Email Developer

Photo by rawpixel on Unsplash | https://unsplash.com/photos/gVWQJQEc6lA
Photo by rawpixel on Unsplash | https://unsplash.com/photos/gVWQJQEc6lA

This was a big one.

Getting promoted to Senior Email Developer meant a lot to me, professionally. It helped me to see that I am really, freaking good at what I do and to continue in the direction that I am going.

Over 1100 Tweets

What can I say? I really like Twitter.

Tweet. Tweet. Tweet.

With my total count at 1190 at the time of this post, this number doesn’t surprise me at all. Between tuning into Twitter chats and Tweet-storming at conferences, Twitter is a big part of how I stay connected with the developer & email geek communities.

One thing I tried to do more of this year was to share out interesting, enlightening or helpful articles that I’ve read elsewhere on the web. Usually, I’ll pull a quote from the article and tag the author or publication if I can.


In the last hours of 2018, I look at this list and I’m almost surprised.

This is a lot of stuff.

If you asked in in January if I saw myself as having given tech talks in New York, Boston, and San Francisco, I would have said that sounds unlikely. The same for gaining a deeper understanding of Javascript, or buying a house (!) or even getting a promotion.

But it all happened!

Yes, things got really rough at points—like moving in the middle of trying to keep up with the nanodegree—but I got through it. The hard work, late nights and support network helped to make that happen.

To recap, 2018 was a whirlwind.

I am glad to be through it but am also very thankful for the opportunities—personally and professionally—that have come my way in the past 12 months.

To 2018—thank you! And to 2019—bring it on!

Cheers!

I Cried After Completing my Nanodegree And It Was Worth It—My Udacity Journey

Photo by Hello I'm Nik on Unsplash | https://unsplash.com/photos/z1d-LP8sjuI

The Start of the Journey

It’s hard to think that almost a year ago I was applying for a Nanodegree. I was not on the hunt for scholarships or looking to enroll in a bootcamp or nanodegree. I saw the opportunity on social media and almost did not apply. Afterall, I thought, I knew how to code—I had been learning to code for years! I was mostly self-taught but I was employed as an email developer. There were people with similar backgrounds as me who were struggling to find something—anything—in tech. I thought that I didn’t deserve the scholarship and this was before I even applied!

The more I thought about it, the more I realized that I owed it to myself to apply. There is no good in self-selecting. After thinking about it for a few days, I took a chance and drafted an application.

The Office | You miss 100% of the shots you don't take - Michael Scott (Wayne Gretzky)
“You miss 100% of the shots you don’t take” – Michael Scott (Wayne Gretzky)

Since I had a background in front-end development, I took a chance and applied for the Mobile Web Specialist track. It looked like it could be challenging, but I was excited about the idea of learning dynamic front-end languages. I did not come into the scholarship with a goal except to do my best to learn from the experience. If I made it to the second phase—the full Nanodegree—amazing! If not, at least I did not self-select and would walk away knowing more about mobile web technologies than I had before.

In early January, two months after applying, I got an email. My application had been accepted! I was one of 50,000 people who had been selected for the Grow with Google scholarship. I told everyone—including my Mom. To say that I was excited was an understatement.

What Was Accomplished Along the Way

Since completing the Nanodegree, a few people have asked about my experiences in the program. I was honest. The program was more difficult than I expected. Coming into it, I knew enough Javascript to be dangerous, but ES6 was a whole new world. I had never heard of promises outside of elementary school secrets and I certainly did not know Javascript classes existed. As I worked through the course material and learned new concepts I realized there was way more to coding for the web than I realized.

Service workers? Nope. Never heard of them. IndexedDB? A database inside of the browser? No way! Lighthouse audits? Cool! I had used Chrome for years and didn’t know that tool existed just a few clicks away.

The learning curve to all those new concepts was one of my biggest hurdles. With HTML & CSS when I run into an issue, I could troubleshoot it relatively quickly. With the coursework, especially service worker, IndexdDB and promises, I was completely out of my element. Taking a break from the course material helped me to get through those hurdles. From reading Jon Duckett’s Javascript book while in jury duty or streaming Javascript videos on Youtube, I learned that it was 100% ok to look at external resources. As long as you get the concepts and can work through the problems, you are on the right track.

Web Design Books by Greg Rokozy | https://unsplash.com/photos/vw3Ahg4x1tY
Web Design Books by Greg Rokozy

My challenges with ES6 and promises meant I often got stuck when trying to add new functionality. It comes with being a developer. To be a good developer, you need to learn how to ask good questions so that you can get unstuck. You need to know how to articulate what is happening in your code, what you are expecting to happen and what you have tried so far. It helped to build my confidence in the course material to know that yes, I tried A, B, and C, but I still get XYZ error when I was expecting something else.

Doing this, also made it easier to get help from other scholarship recipients who could help to guide me to a working solution. Concepts like passing parameters between function finally clicked after talking it through with another scholarship recipient. When I finally worked through a concept, I was exhilarated! It gave me to push to keep going. If I could figure out that one bug from the day before, I can get through the project.

Reflection on your Journey

Now that I’ve completed the Nanodegree, I feel amazing!

I’m not going to lie. I cried when I saw my certification of completion. It represented over 9 months of new concepts, frustration and feeling like I would never be a real developer. But I did! This certificate and the projects that I worked on during this course help to prove that. I am a developer. Period.

Looking back, I learned a lot but also that there’s so much more to learn—that I’m ready to learn. My experience in this course has shown me I’m on the right track with learning Javascript, with React being the next item on my learning list. I also feel more confident in my technical skills now that I survived—heck, crushed—the selection process and course material. I am confident that I can jump into trying new things—I’m looking at you Python!—and be ok in the end.

Talk: What I’ve learned as an Email Developer

Thanks for tuning into my talk, What I’ve learned as an Email Developer during the Moms Can Code Virtual Summit!

Here are links to the resources mentioned during my talk.

Resources

Email Design on Pinterest – A sample of some beautifully designed emails

Really Good Emails – A collection of hand-picked email designs and resources

EU General Data Protection Regulation (GDPR) – Informative site about GDPR

CAN-SPAM Act: A Compliance Guide for Business – An overview of the CAN-SPAM guidelines for businesses

A Snapshot of an Email Team – A breakdown of demographics of email teams, according to a survey by Litmus

Creating your own Gulp Based Email Workflow System – Story of how Tori, an email developer, created her own email workflow system

What’s Goop – Launched in the fall of 2008, GOOP was originally conceived as a weekly email sent from Gwyneth Paltrow’s kitchen

Email Testing – Email on Acid email testing

The Ultimate Guide to CSS – In-depth list of which CSS features are supported in which email clients

CSS Inliner Tool – Mailchimp tool for inlining CSS for emails

#emailgeeks on Slack – A Slack community where email marketers, designers, and developers meet to talk shop

Email Client Market Share – Email client usage worldwide, collected from 1.03 billion email opens.

Litmus Year in Review – 2017 stats from Litmus

13 Email A/B Testing Mistakes that Limit Your Success – Tips to ensure you are getting the most out of your email A/B testing

Follow me on Twitter. I tweet about email development, tech and reaction gifs

#CNC2018 “Code More” Mission #1: Goals, Assumptions, Risks

Photo by Anas Alshanti on Unsplash

Now, we’re in the first official week of the Code Newbie #CNC2018 “Code More” Challenge! Last week, I wrote about what has worked and not worked when it comes to goal setting. This week, the challenge focuses on what can prevent us from reaching the goals we set. Here are my thoughts.

  • I want to code more because:
    I really like learning about coding for the web. I’ve worked with code in one way or another for the past five years and I always come back to wanting to learn more about building websites. As a self-taught developer, I felt like I was always missing something from being an actual web developer (hello imposter syndrome!), so I tend to focus my energy on building that skill set. The web changes fast and I want to avoid becoming stagnant or falling behind!
  • I know I’ll have reached my “code more” goal when:
    This is a tough one. You’ll never know everything about code, or the web, or coding for the web. However, I consider myself as having met my goal when I can look back and clearly see what skill gaps I have filled or are working on filling. I also consider feeling more confident in my skillset as a sign that I have completed my code more goal.
  • My top three assumptions for reaching my goal are:
    • Working full time. After being in the office, sometimes, I do not want to spend more time staring at a computer screen. Also, my brain hurts sometimes 😐
    • Managing my time. See above. If I am clear about my goals, I can better manage my time and make progress. However, that is easier said than done
    • Personal life. As much as I love to learn to code and wish that was my full-time job, it is not. For me, there is more to life than sitting in front of a computer screen. Health, family, and friends are priorities too.
  • Of these assumptions, my riskiest is managing my time.
  • When I think about my riskiest assumption, three possible root causes are:
    • Prioritizing easy/instant gratification over long-term goals.
    • Saying “yes” to being lazy, instead of “yes” to being productive/working toward my long-term goals.
    • Being too generous with my time. I need to respect my own time in order to be successful.
  • 3 ways I might address these root causes are:
    • Do not overcommit! I’m guilty of taking on “all of the things” and not really having time to do them all. Or letting not-as-important things (I’m looking at you Netflix!) take up the time I do have.
    • Focus on one thing at a time. Humans are terrible at multitasking.
    • Track accomplishments. I did this last year and it made a big difference when I was feeling unaccomplished.
  • Of these, the biggest cause that’s worth tackling first is focusing on one thing at a time.

Photo by Anas Alshanti on Unsplash

#CNC2018 “Code More” Pre-Mission

Photo by Ash Edmonds on Unsplash

As part of the Code Newbie #CNC2018 “Code More” Challenge, here is my pre-mission homework:

GOAL: Understand what has and hasn’t worked in past attempts to code more, and start thinking about long and short-term goals.

What has worked?

  • Having an accountability buddy / going through a challenge with other people in my network
  • Saying my goals aloud (or on Twitter)
  • Setting SMART goals
  • Writing down my goals so that I can refer to there
  • Having a project where other people depend on me – I don’t want to let someone else down. For example, I was really happy with my Halloween countdown timer project that I did for Hacktoberfest. I didn’t talk myself out of participating. I was so excited to practice merge commits / etc that I was easily putting 3-4 hours in daily to keep it up to date. It was a project I was really excited about, it was fun, I learned a lot and was able to help other people practice as well. I really enjoy sharing what I’ve learned with other people. The positive feedback is a confidence booster too!
  • Based on the above, I know that I am someone who learns by doing. More than that, I like having a project that means something in the end. That is probably why most classes with fake projects don’t go well for me. I work full time so I don’t have unlimited time resources like I did in college

What has not worked?

  • Most free / cheap Udemy classes. The quality can go either way and I’m not as motivated to move through the material.
  • Setting goals that were to vague or unrealistic. I’ve since learned that I do better when I write things down and break them into smaller pieces. Sometimes learning to code every night isn’t realistic
  • Daily challenges don’t work so well for me. My mood, energy levels, priorities, etc, vary day by day, so the daily stuff doesn’t usually happen. For something that has expected checkpoints / time commitments (1hr a day OR 5 hours a week) I do tend to do better. Some days I feel like coding for several hours or I am in a good headspace to learn, others I am not
  • Rebuilding my portfolio has not been a project I’ve successfully completed since the last major redesign in 2013ish. I keep starting with great intent and not really going anywhere. I’m embarrassed at not having a site (or rather, an online presence that speaks to the work I do, etc) but it keeps not being a priority for me. I need to be ok with using a theme and filling it in with some killer content then waiting to build something from scratch that is perfect. I think I focus on the bigger picture and don’t break it down into small enough chunks. The deadlines I set are arbitrary / etc so I tend to scramble to having something up before a conference, etc.

What are your long-term goals?

  • To be a front-end developer! I can do front-end development work, but I feel like an imposter. I don’t feel comfortable as a front-end developer or that I’d be able to make it in a front-end developer role, and I would like to fill that gap. I’d like to learn or improve my skillset in the following areas (to start)
    • AWS
    • Bootstrap
    • Git
    • SASS
    • Javascript / Jquery
  • I’d like to expand my comfort level with design thinking and leadership. I’m torn between sticking with the developer route (which seems hard to get into) and the designer route (equally challenging since I’ve been out of the design game for a while).

What are your short-term goals?

  • By the end of this challenge, I’d like to have my website hosted on either github pages or AWS.  I would also like to make significant progress in the Udacity course I am taking.