Breaking into engineering is no easy task.
Over the past year, I’d gradually built the skills needed to transition from the only career I’ve ever known - sales - into UI engineering. Prior to beginning this self-taught journey, I had no technical background (uh, unless a basic working knowledge of Excel counts)!
As a full-time working mom, I needed to be strategic about how I spent my time. To make sure I was learning the right things and building the right stuff, I went to developers at all levels - from Junior to VP - and asked the same question: As someone coming from a non-technical role - how can I make myself stand out?
(1) Yes, you should build a portfolio
Especially consider putting together a portfolio if you’re coming in at an entry level or switching to engineering from an otherwise non-traditional role (like me). Don’t worry - you don’t need to spend months building a portfolio from scratch. Host one easily using Github Pages or a website-generation platform like Wix or Squarespace.
The most important part is being strategic about the types of projects you put in your portfolio. Remember that recruiters and hiring managers are looking through a lot of other portfolios like yours and when they get 200 applicants for one opening, they need to make tough decisions about how to narrow down the applicant pool. Make your portfolio stand out:
- Make it obvious which languages/frameworks you've used so they can see how your skills match the role you’re looking for.
- Narrow it down to 2-4 key projects that really show the breadth and depth of your skills and only include these in the portfolio. There is no way a recruiter is going to look through all 25-30 of the projects from every single candidate who crosses their path.
- IMPORTANT: Go for "corporate-style" projects. Yes, the random gif generators and random cat generators are adorable. If you're applying to work at a corporation (or an agency that does work for corporations), the recruiter will want to see polished projects that aim to serve a business purpose. (Think fake client websites, clones of part of an existing platform like Twitter or Uber, or something that solves a problem in your everyday life).
(2) Build a network
You might be wondering why/if building a network is really important.
First, being an employee referral increases your chances of getting the job by 10x. That’s not all — building a network will help you to stay on top of new things going in the tech industry, meet potential mentors/mentees/advocates/hiring managers/etc, enhance the skills you'll need to level up your career, and keep you motivated during those tough times.
For the introverts out there, I get it. Networking can be pretty awkward and super stressful. But it's a necessary evil and with practice, it will just get easier.
(3) If you want to be a good frontend developer, you should learn at least a little about a backend framework
Or vice versa. While you’re at it, learn a little bit about design, too - especially if you want to freelance, work for a large company, or eventually move into management. Your work as a dev will require you to understand requirements from someone who essentially is speaking a different language than you, then pass off your work to someone who uses another language!
Coming from the software sales world, I see how often devs get stuck in their own bubble and oftentimes don't even know how to use the product they're building! They don't take the time to get a wholistic understanding of their product from the customer side, sales side, or even the design side. You can make yourself stand out by understanding at least a little about what is going on over the fence and how the work you do will make an impact, or what you could do to make your colleagues' jobs easier. Take a course in something new or talk with someone else who is in the role.
(4) Several lines readable of code > one line of code that only you understand
This goes along with the last piece of advice. Even if you don’t expect to be working on a team, remember that one day, you’ll need to read your own code again after not-having looked at it for several months. Do your future self/future colleagues a favor and name your functions something like formatPhoneNumber instead of fixFon.
(5)Talk about what you're working on (a LOT)
It’s YOUR JOB to make sure you’re putting your work in front of the people who need to see it. Talk about what you’re working on (often) and show off your progress. It’s a tough shift to make for people who - like me - were taught that tooting your own horn makes you braggy. Here are some ways to put yourself out there without coming off as obnoxious:
- Solve a problem/complete a project, then write a blog post about how you did it. Share the blog post with an engineering manager and ask for feedback
- Commit to writing social media posts 3x week about the progress on your current project
- Invite engineers from your company or from meetups to talk 1:1 over coffee (or tea. or water.) Ask about their career journey and exciting projects they are working on. Tell them what you're working on and ask for their feedback on current projects or your portfolio.
- Accept compliments by simply saying “thank you.” This may sound like a no-brainer but for women in particular, we often meet compliments with fairly negative comments or we use it as an opportunity to give someone else credit for our work ("Well, without so-and-so, this would have never gotten done!" or "Oh, this was so stressful to do and I'm not really happy with the way it came out because..."). Just say thank you.
What advice would you give to developers trying to move into engineering from non-traditional roles?
Top comments (30)
Great tips & advice! The only thing I would waver from is using a generator to set up your portfolio. Wix and SquareSpace don't really speak to your engineering skills so I would suggest rather than using a CMS app, build from scratch. If you're not much of a UI designer you can use websites like html5up.net for some inspiration. Not only will building from scratch allow you to tighten up your programming skills but you'll also be able to play with new technologies and libraries you otherwise wouldn't use very often.
Thanks so much, Christopher!
Holy smokes, just looking at all the designs on that landing page gave me so many ideas for my own portfolio website. Thank you so much, I've been stuck on design for far too long!
All the business world is based on CRUD apps, so learn that 😉
In both the abbreviation and word definition.
During the interview for my first professional gig, they showed me some code, "Can you work with this codebase?". Looked at it and was "Yeah, sure. Did you know there's a bug here and here?". Hired on the spot, started fixing those bugs right after the interview.
Providing value before you even get the job! Love to see it 😃
ooooh..this is a good one!
Awesome advice! Especially with being strategic about the types of projects and identifying key projects!
Thank you so much Danny! This was huge for me because I kept wanting to build the funny random stuff because it was...funny and random! The project that got me my interview was a project where I connected to my company's open API and built an extension of our platform that I wanted to use. I used their styles by inspecting our platform with devtools and made a video about why it was going to be a key feature for our customers and the rest is history!
This may of course vary by culture, but you might want to include a single quirky/twee project with all the enterprisey stuff in your portfolio. I've done hiring and if I'm looking at two portfolios, one with five enterprisey polished web apps and one with four enterprisey polished web apps and a catch-the-unicorn game with rainbow fart effects, guess which one is going to leave a lasting impression? As long as it's something you enjoy building and have executed well, it can go in your portfolio (but yes, keep the portfolio short and focused). A little personality goes a long way with me at least.
Yup, I'm in favor of adding personality where you can and I don't think you need to abandon your unicorn farts completely. But most of your projects in the portfolio should be corporate-style unless the job posting specifically says that we want to see how fun and creative you are (or, of course, if the listing is for the junior unicorn fart generator role at the org). I 100% agree that this varies from company to company to pay attention to the culture (look on company page or on glassdoor) to get an idea before applying.
I just have to say this thread is hilarious. thank you. 😂
🤣🤣🤣 abandon the unicorn farts.
Very inspirational that you were able to make the switch in just one year as a full-time working mom. Thank you for sharing!
Do you have a portfolio website that I could look at?
It's in the works! I started and was able to get away without finishing it because I switched to the engineering team at a company that I was already at. I made projects using my company's open API so a lot of the stuff I was building displays private info that I had access to but can't share publicly. That being said, all of the code for my personal projects are available on my github page (github.com/shaundai) and I'll be making another post when I finish and publish my polished portfolio
Thank you for the tips Shaundai. I am polishing up my portfolio this December. Starting job seeking next year.
Best of luck, Jacqueline! You've got this :)
Thank you is the easiest response to everything. Great tips. Thank you for sharing
Thank you, Phong
As someone who has come the same way, I totally agree with the article. Nice piece of advice!
congratulations on making the switch :) Thank you, Vitaly!
thank you, Maxi! :)
My vote goes for #5
thank you Shwetabh!
What do you think about this python one line piece of code?
value: query.lower() in (query for query in query.lower()
x if x % 2 else x * 100 for x in range(1, 10)
Great stuff dude !