From zero to Pinterest in less than a year
Last year, I found myself in the incredibly fortunate position to have multiple job offers for software engineering roles at dream companies. As someone who had zero idea how to code just a year before, this felt totally unbelievable and unlikely. All of my expectations about what was “possible” as a new developer were completely blown away.
During the course of my 3.5-month job search, I interviewed with some amazing well-known companies such as Pinterest, Disney, Poshmark, Twitter, Amazon, Asana, Lyft and some absolutely incredible startups too.
Now, ten months into my role as a Pinterest Apprentice Engineer 🎉, I wanted to put together some advice for current and future job-seekers and career-changers looking to break into tech. Every person has their own unique experience, background and strengths of course, but these are some of the insights and strategies that worked for me.
P.S. Please enjoy the very appropriate images and gifs from an amazing film, Disney’s Frozen II. As usual, I couldn’t help myself. 🤓
Join a community
As a female entering the traditionally male tech space for the first time, I was thrilled to find so many online communities built for women in tech. These global communities are supportive, inclusive and positive, operating under the notion that “all ships rise with the tide” and that we’re stronger together. The women in these groups cheer each other on, help each other with technical questions, and lift each other up whenever possible or needed.
In my 10+ years of professional experience (and 30+ years of life), I have never encountered anything remotely like this, and the “women in tech” community has been the greatest surprise of my journey thus far. The advice, friendships, mentorship, expertise and support from these women is so incredibly valuable, and I wish I had joined them much sooner.
Here are some of my favorite tech communities for women and non-binary people:
- Women Who Code- virtual meetups, job boards, interview practice sessions and Slack spaces. Special shoutout to Women Who Code San Diego who are exceptionally awesome! ❤️
- Women in Tech- Slack space. An incredible community of women lifting each other up and supporting one another in career and in life.
- Elpha- online community
- Women Tech Network- Slack space and conferences
- Women in Web Development- Facebook group
- Tech Ladies- job board and virtual talks
- Diversify Tech- job board for women, minorities and other underrepresented groups
- Girls Who Code- job board, virtual talks and conferences
- Power to Fly- job board and virtual talks
For the organizations with job boards, there’s often an opportunity to create an online profile for recruiters to find you as well. Diversify Tech was especially helpful in this respect, since at least 4 people reached out to me on LinkedIn after finding me on there. If you belong to a marginalized group, I encourage you to add yourself to their list!
I was also really fortunate to have a dedicated Slack space for my incredible bootcamp cohort (aka “Pry Me a River” 🙌) and another one for all of the bootcamp alumni.
Getting involved in a community is important for a lot of reasons, but that especially holds true now in COVID times. It can be an isolating feeling learning to code and job hunting, dealing with rejection and imposter syndrome in all its various forms, on top of a global pandemic no less! I’ve seen a lot of great developers sink themselves into a dark hole instead of leaning on others for support. As it turns out, we all deal with those very same feelings and rejections, no matter how experienced we are, and having a community to lean on can invigorate you or, at the very least, keep you afloat when things get hard.
Go to virtual meetups and conferences
There are lots of other online communities that exist in addition to those for marginalized groups and specific schools. Just a quick search on Meetup.com will direct you to a ton of options for everyone, and a never ending supply of great virtual talks, algorithm/data structure review sessions and opportunities for networking. You can strengthen your skills, learn something new, and meet potential friends, colleagues and mentors along the way.
If you’re an introvert and the idea of attending a virtual meetup makes you nervous, that’s ok! You can keep your camera turned off and just observe until you feel comfortable enough to join in. People who run these meetups are usually super nice and welcoming. They won’t force you to participate if you don’t want to.
By going to conferences, I was able to connect directly with recruiters and senior employees at large companies that I loved. There are often AMA opportunities, so take advantage of those! Even if you just type a question in the chat, this is a chance to get career advice, insider information about a company’s culture or interview process, and plenty more. If you attend a talk that you found helpful or interesting, reach out to that presenter on LinkedIn telling them so! A genuine thank you can go a long way.
Don’t be afraid to reach out to people/Be genuine
I’ve heard so many people lament that they hate “cold emailing” and how “fake” it feels, so I have to ask, why are you being fake? There’s no need to pretend to be interested in someone or some company when you really couldn’t care less. There are countless companies and individuals doing really cool stuff out there. Be curious! If you see someone with a great portfolio or a seriously impressive project, reach out and tell them so!
I’ve found that people are generally really nice when you approach them with genuine curiosity, respect and admiration for their work, and if they have the time, they might be willing to speak with you. I’ve had some great conversations with people whose work I truly admire (A cognitive dress using Watson! Disney Imagineering! Pure CSS art that looks like oil paintings! UX Engineering!), and they’ve been kind enough to offer advice and tell me about their projects in depth. Some people were even generous enough to jump on a phone or video call. You can learn SO much from others, so why do you feel afraid to reach out?
We’re lucky enough to live in a time where you can talk to almost anyone online, from any company, at any level. The Head of Engineering and the CEO are just fellow humans. If they’re too busy to respond and you don’t hear back, that’s ok, don’t take it personally! I reached out to the VP of Technology at one company expressing my enthusiasm about a role and the company (not expecting to hear back) and he graciously put a word in for me. Several interview rounds later and I had a job offer! The point is, you just never know.
Most importantly, remember to stay genuine and humble. People are less likely to connect if you:
- Don’t send a personalized note along with your connection request
- Don’t address them by name (or by the correct name!)
- Say something like you’re just looking to “expand your network”
- Come off as demanding or unappreciative
- Sound vague or uninterested
If your message isn’t genuine, thoughtful and clear, chances are the person will notice that too, and you won’t get the outcome you were hoping for. Go ahead and ask them about their work, their engineering journey, their advice for an aspiring developer, or something you found interesting on their profile or elsewhere. If they’re working at a dream company of yours, or you’ve applied to a role there, ask them what it’s like to work there! It’s also ok to reach out when a job isn’t posted. That way the pressure is off and you can focus on trying to genuinely learn. 💡
Another thing to note:
Always, always say thank you.
Say thank you after every interaction, every meeting or piece of advice given. It’s really important to be appreciative of that person’s time and show that appreciation! Nobody is required to help you, offer mentorship or accept your connection request. Likely they’re doing so because they wish to pay some good forward, maybe because someone else helped them when they were just starting out. Their generosity and kindness should never be taken for granted, so please, please express your genuine appreciation and say thank you. 🙏
Target companies and roles you’re actually excited about
I’ve seen a lot of job-seekers apply to countless random job postings that they find online, with daily or weekly quotas for the number of applications sent. With the current state of the COVID job market and competition stemming from the influx of entry level developers coming from bootcamps, this doesn’t feel like the best strategy to me.
Instead of throwing resumes at every random opportunity I found, I focused on companies and products that I was really passionate about.
Over 3.5 months of job searching, I only applied to 45 roles total, 51 if you include the ones that reached out to me directly. That’s about 3 roles/week.
Even if the company didn’t have a big name, I tried to focus on other aspects I was passionate about, such as the company mission, the product, the role itself and the people working there. For example, there was one early stage startup that reached out to me and I’d never heard of them before. When I learned about their product, mission, and met the people working there, I was so blown away that they soon shot to the top of my list! ❤️
If you follow your passions and interests, whatever they may be, you will naturally light up with enthusiasm and genuine curiosity in your cover letters, connection requests and interviews. I’m not currently a hiring manager (although I was in the past), but I’m pretty sure most of them would rather take on a candidate who shows genuine excitement for the company and role, rather than someone completely indifferent. An employee who really cares about their work will be more engaged, eager to learn and probably more enjoyable to work with!
Learn data structures, algorithms and JavaScript fundamentals
If you attended a bootcamp or are self-taught, you’re most likely missing some important computer science fundamentals. I definitely was. My bootcamp sadly taught us nothing about any of these topics, so I had to learn them myself after graduation. A bootcamp will only take you so far. These concepts are required for most tech interviews, and even if they don’t come up often on the job, we still need to know them.
Here are some resources that helped me:
- Stephen Grider’s Coding Interview Bootcamp: Algorithms + Data Structures (Udemy- check for when courses go on sale!)
- Colt Steele’s JavaScript Algorithms and Data Structures Master Class (Udemy)
- Grokking Algorithms (book, free online version available)
- Women Who Code San Diego algorithm/data structure review sessions
- Mock interviews with FAANG senior engineers through Skilled and Interviewing.io (Pramp also offers these with peers for free)
- Leetcode (easy and medium problems mostly for entry level roles)
- Hackerrank
- You Don’t Know JS (book, free online version available)
The more practice problems you do, the more prepared you’ll be. I’ve seen the same problems repeated in interviews and code challenges that were posted on Leetcode, Interview Cake, or in the Udemy courses with slight variations. You probably won’t be able to memorize all of the solutions (I certainly never did!) but the familiarity and techniques of approaching the problem (ie. sliding window, two-pointer) can be reused.
I also recommend taking every opportunity to practice interviewing, as much as possible. Tech interviews are notoriously scary and I’ve written a number of blogs to help others practice JavaScript fundamentals (such as here, here and here) and CS concepts (such as here, here and here). The more you practice interviewing, the less scary they become. I remember shaking through my very first one, and feeling weirdly almost excited(??) for them further down the line. 😉
This goes for first-round/screening interviews as well. It can be difficult to talk about yourself and offer your “30-second elevator pitch” to new people, so the more you’re able to practice, the more natural and seamless it will feel.
Write tech blogs
You might be thinking, “I’m brand new at this, what the hell do I know?!”, but I promise that you know more about something than someone! How about a person who has never touched JavaScript before? Or someone who has no idea what Big O Notation is? If you like writing, a tech blog is a great way to solidify your own knowledge of a subject, while teaching someone else at the same time.
I wrote 18 tech blogs over my learning + job search (19 including this one!) and they’ve been one of the most helpful assets for multiple reasons:
- They forced me to learn concepts in depth, which helped a TON with interviews
- They gave me an excuse/opportunity to learn new things I was curious about
- They helped other new developers grasp concepts in a more approachable, less “robotic” language that often accompanies tech documentation
- They helped me enter the engineering community, making new friends and networking contacts
- They demonstrated my written communication style and got the attention of recruiters and hiring managers, leading to interviews
- They paved the way for my first tech talks
You can write about literally anything: a new concept you’re learning, productivity tips, a tutorial for a method or small project, some cool animation you think others might enjoy, or maybe even a walkthrough of an algorithm you recently solved. Anything goes!
Here is a perfect example of how helpful writing a tech blog can be:
During my very first mock tech interview with a senior FAANG engineer, I stumbled using the Array.sort
method documentation and it hurt my score. I had zero desire to make the same mistake twice, so that week I dove into learning it and wrote a blog article on the topic. As I usually do, I shared the article within the dev community and someone from Women Who Code reached out, asking if I’d be interested in turning that article into a tech talk. That talk led to another talk, and ironically this exact array method was the key to passing my initial Pinterest code challenge. It came full circle, all from one blog! 🙌
Give tech talks
Tech talks are great in similar ways if you’re comfortable with public speaking. They’re also a bit more unique than tech blogging, so if you’re job hunting they can be an effective way to stand out. I had several recruiters, hiring managers and industry professionals reach out mentioning the talks I’ve done. One person told me that the talks showed initiative, desire to learn and passion for programming. They’re also a nice way to demonstrate your verbal communication skills, which is hard to convey through a resume or cover letter.
If you think you’d like to give it a try, reach out to meetup organizers expressing your interest! These talks can range from quick lightning talks (5–10 minutes) to longer, more in-depth talks (25–60 minutes). My first one was a lighting talk (based on that Array.sort
blog), so it was a helpful way to dip my toes in. Now that everything is virtual, you can give a talk literally anywhere around the world, and meetup groups are always looking for new speakers!
Share your wins
If you write a tech blog or give a tech talk, make sure to share it with your network and on LinkedIn. Maybe that article you wrote or that talk you gave will help someone learn something they’ve been struggling with. At the very least, it will help you build your professional online presence which is important, especially as a career changer. If you complete a Udemy or Coursera course, share it! If you’re doing a 100-day or 30-day coding challenge, share that too! Show that you’re actively learning and genuinely excited to dive in.
On the flip side, don’t overshare, especially when it comes to sensitive information. Don’t mention companies you’re currently interviewing with publicly by name, or tell the world about every code challenge, rejection or person you’ve connected with. There’s no need to post on LinkedIn every single day. Keep your public posts professional, honest and mostly positive in tone. We all feel imposter syndrome and we all experience rejections, but publicly complaining about how much job hunting sucks (let’s be honest, it really does sometimes!) won’t make you appear desirable to work with. It’s important to try to keep your head up, especially in these insane times, and best as you can, “just keep swimming”! 🐠
Pay it forward
By now, if you’ve had some luck finding a job or success along your journey, remember to reach out a hand to help someone else climb up. Even if you’re just one step above, every bit helps, and chances are that many people have helped you along the way. Maybe you were lucky enough to connect with an inspirational mentor, or you had a great instructor (shout out to Ian!), or you read an article that helped you, or someone with more experience took the time to offer you advice or share their journey.
One of my absolute favorite things I’ve learned about the dev community is how supportive it truly is. Just look at the existence of Stack Overflow! There is an entire community of over 10 MILLION programmers helping each other answer technical questions every day. That’s incredible! Developers actually seem to want to help each other succeed. We somehow realized, unlike many other industries, that we’re stronger and smarter when we work together and lift each other up. Whenever and however possible, join in that spirit and help someone.
You might think that you couldn’t possibly help someone else until you’re employed at some big name company, but that just isn’t true. During the course of my job hunt (before I had any offers), I had a number of people reach out to me with questions about my experience, advice about bootcamps, tech blogs, career transitioning into tech, etc. Most of these people were total strangers, but I made time for them, talking to them by phone or answering questions over LinkedIn or Slack. I’ve always done this, including in past careers working in fashion magazines and product development. I’ve also done virtual Q&A talks for women in the tech industry and have several others in the pipeline. You might not be able to offer someone a job, but a little advice or insight can go a long way!
Writing tech blogs and giving tech talks are also great ways to help support others as I mentioned earlier. I’ve received some really amazing notes and comments from readers, saying that something I wrote helped them understand a concept they struggled with, or helped them prepare for tech interviews. That’s exactly why I’m writing this article — to help other new developers however I can, even with the little tech experience I have so far. There is no greater feeling than knowing you helped someone and I highly recommend it.
If you’ve made it this far, thank you so much for reading! I hope this article was helpful to you in some way. If you have any questions, feel free to comment below! I’ll do my best to respond.
Best of luck and happy coding! ❤️
Top comments (2)
What an incredible journey. Thanks for taking the time to share these tips – you've definitely made the dev world a better and nicer place :)
Thank you so much Annie! :)