Tuesday, October 12, 2021

How I landed multiple offers for 100% remote automation work

Just like the title says, this is some hopefully helpful info from my experience. YMMV.

Networking background: expired CCNA, 5yrs managing regional K12 network. Cisco/Aruba/Palo. very basic hub/spoke topology, minimal redundancy, vanilla EIGRP. decent experience in ISP/DC/access networking, but nothing crazy. No public cloud experience.

Automation background: no formal CS training. tinkered with batch files and TI Basic in HS, wrote some PHP/JS in a former life. started with /u/ktbyers' python for network engineers course about 5yrs ago. basic netmiko led to building a toy framework for automation (think nornir but waaay worse :) focused on doing everything programmatically even if it meant taking longer than by hand. implemented a freeztp provisioning pipeline. branched out into native APIs w/ Solarwinds orion (powerorion) and Palo Alto for a particularly complex firewall change. started ansible about 3 months ago, mostly to see how "everyone else" does automation, but then found I really liked the native cisco modules for desired state config.

For my portfolio: I got permission from my employer to push my work to github. This was its own great learning experience. I realize this is uncommon and most employers would not allow this. If so, I highly recommend building a github in your off hours, as my work there came up in almost every interview.

About 6 months before my job search, I started a linkedin. took my time building that w/ all relevant details & also dusted off the ol' resume, added all the automation stuff I did. when I started my job search in earnest, I searched linkedin for "network engineer", left location blank, and hit the "remote" flag. Applied to anything that even remotely interested me or seemed like it might be a good fit. applied to "senior" roles, and also searched for "network automation engineer". sent out 20-30 applications & changed my profile to "looking for work."

responses trickled in at first. didn't take long before I had multiple recruitment offers a day. within 2 weeks I had a full calendar of interviews, some from large-but-mostly-unknown companies, a startup, one from a fortune 50, and even one from a very well known social networking service.

Interviews:

  • All of them start with a screening call from the recruiter, usually 10-15 mins.
  • After that, it changed based on the job. Two of them went straight into a live coding interview using coderpad.io. Gave me 1-1.5hrs to solve 1-2 problems in python3. google is allowed & the interviewers were helpful, not giving the answers away of course, but steering me in the right direction. overall a great experience, seemed very real-world and relevant to the job.
  • for the next round, the startup and another one then launched into a marathon of 4-5 back to back interviews, total time ~5hrs. I met with peer engineers, engineers from other teams, all the way up to VPs. it was exhausting and IMO kind of a waste of time. The fortune50 crammed all that into a single interview with 4-5 guys at once, seemed like a way better use of time.
  • Final round is usually a short recap with the recruiter

After landing interviews with 5 places, I declined further recruiter emails. 20+ hours of interviews is plenty for me & a few really interesting prospects came up.

Results:

  • The startup declined to make an offer, citing my lack of BGP experience. This makes sense as their product is a way of optimizing global internet performance. the recruiter apologized because she knew I didn't have BGP experience, but thought I could mentor underneath some senior guys. she didn't realize that wasn't possible for this particular role.
  • A private nationwide company made an offer right away. on the lower end of the pay scale but overall awesome-sounding team & interesting role (I started out interviewing for a neteng role, but ended up in a SRE role, doing high level integrations/optimizations across the whole tech stack)
  • Well Known Social Networking Company also made a (better) offer. this role is working with automated deployment/tshoot of caching appliances.
  • Fortune50 is my favorite, a very popular entertainment company. recruiter says to expect a response today.
  • Global Fintech company is also working on an offer
  • Expecting one more offer from a hospitality/booking company this week

I was totally unprepared for this response. Once I saw the positive feedback I put in my notice at $currentjob. Thankfully my manager was super cool about letting me interview during this time.

Stuff I did right:

  • put a lot of real, working code on github
  • refined my elevator speech of who I am and what I do
  • declined to state a salary range. told them "I don't have a number in mind" or "My salary needs are flexible" or "I want to wait and see what kind of value I can add to the team before making that judgment." The first offer I got was a 30% pay increase, and Fortune50/fintech is looking like a 50% increase.
  • Learn ansible. holy shit I'm glad I dove into that because everyone does ansible. It's a PITA to set up (took me at least 1 full day to just get working) and it's slow as fuck, but it's the defacto standard and I would have not gotten past the second round if I didn't have that experience.
  • API experience with Palo/NMS/REST
  • lots of linux experience
  • asked for extra time on coding interview due to my ADHD/Aspergers.

Stuff I would do different:

  • learn public cloud networking (azure, AWS). at least as common as ansible.
  • CCNP (or at least solid understanding of iBGP/eBGP). came up multiple times, thankfully a few are OK that I don't know it yet
  • better pure python skills. I almost choked a few times on the coding interviews because my skills are focused on netdevops. there are a ton of holes in my foundational knowledge I need to shore up. hackerrank.com has a bunch of challenges that I started & plan to continue.
  • learn terraform, also very common
  • take notes during interviews. they all blur together so it's hard to remember what's what.

Cheers!

-Austin



No comments:

Post a Comment