Step 1- Spend a year learning Ruby in a modest but hardy codebase where SQL strings do much of the heavy lifting.
Step 2- Intern with the engineering team and spend 3 months doing ruby based projects in wildly different parts of the codebase, while your team builds an entirely new system in Scala.
Step 3- Transfer to the team and inherit a codebase written in a new language, using a new framework, using new concepts you peripherally knew existed but now need to be fluent in just to understand at a high level how anything works like, “functional programming” and “distributed data systems.” Make sure the language is relatively new enough and used in a unique enough way that stack overflow is now rendered almost completely useless.
Step 4- Make sure your new team cultivates a culture defined by the complexity of the problems they solve and pride around being incredibly bright, so that any thoughts of “well, these are *actually* super challenging problems” that might make you feel a little better, get replaced by imposter syndrome and fear.
Step 4- Make sure your team is consistently under deadlines that never seem to go away (driven by scary third party customers like “auditors” and “regulators”) and require working every holiday weekend and after months and months, no one even pretends to try to hide their stress anymore.
Step 5- Make sure you’ve got no way to calibrate yourself except against the rest of your team who, although they have years more experience and formal education, is not excuse because you’ve been “doing this for a year” and you should be able to keep up by now. And they wouldn’t have hired you if they didn’t think you couldn’t pick this up in *at least* a year. And every day that passes and you’re still not as good as they are, make sure to feel slightly worse than the day before.
Step 6- Make sure that the combination of tight deadlines, little online resources and an uneccessarily complex new codebase that only 6 people understand even parts of, create an atmosphere where you can’t brute force your way through solutions and just plain *need_help* and *have_questions* but know that asking for help takes time away from their projects and deadlines and no matter how nice they are about it, make sure to feel guilty and like you’re only 1-2 dumb questions away from losing their respect.
Step 7- Also since you’re still slow and weren’t a core member of the team that built the new system, and it would likely take someone some time to bring you up to speed, make sure to hop around on tangential projects that have zero overlap in knowledge and constantly feel like starting from scratch and have no precedent so you’re always inventing solutions and it always takes you longer than it feels like it should and you start to loath the morning standups because while everyone else is updating about how they finished their 5th task and are halfway done with their 6th for the week, you’re “still trying to get {it} to work.”
Step 8- Make sure to keep telling yourself to “suck it up” and work every day until you get so frustrated you start to cry and have to leave the room because you don’t want to set women engineers back a decade by having emotions.
Step 9- If possible, read every PR your team sends out but never add any review comments because you’re not good enough to find improvements on their already functional solutions. And make sure this makes you feel guilty and afraid because you know it’s a crucial part of being seen as a productive, respected team member.
Step 10- If you haven’t already thrown your Macbook out of a window and skipped town, make sure you write an entry like this because you wrote a beautiful, elegant algorithm that even you were impressed by, because you actually are really smart and great at problem solving and you got it working in Ruby because you’re actually competent in it but by the time you figure out the 38 questions you have to convert it to Scala, no one will care because it will have already taken you 3X times the amount it should have and they needed it last week and if someone didn’t already just write it themselves since you were taking too long, they will once they make some comment on your PR that requires another 3 days work for you to figure out how to implement and even tho it took you almost 2 years to be able to do this in 3 days and that’s actually insanely impressive, no one will care. Least of all you, because you’re so buried in pressure and guilt and fear that you’ll forget that you actually are doing phenomenal and you should be proud and have fun.
Step 11- Place Macbook on curb…