Let me paint a familiar picture - you're a senior working in a giant company, getting re-org'd in to a new, gnarly codebase every 12-18 months and your soul is leaking out of your ears from all the ambiguity and weirdness you have to absorb... Sound familiar?
It will take many weeks, even months before you are confident enough to submit PR's or even code review with any quality, so how do you live with the anxiety and feelings of inadequacy in those opening months?
Here are a few things I've learned:
This is hard and overwhelming and distraction/procrastination-inducing stuff and will always have periods of thrashing around. Never be afraid to ask dumb questions; chances are that you'll help educate other team members along the way and make some friends that can put any fears at ease. Draw some pictures, try to get as MUCH context as you can.
Keep a pad of paper near your keyboard and every time you hear or see a new concept, whether technical or business, write it down and spend some cycles getting to understand that later. Over time, that mental pegboard of context will fill in and you'll feel way better.
Remember you cannot possibly know it all - technically or business, there is no way and no-one expects that from you so give yourself a break. If you get stuck on some code that seems impossible to understand, go to your manager and request a second part-time resource to help out, it's fine - they won't fire you.
Above all, don't take the stress of work outside the work place; this is just a job and the company will be fine. It's in their best interests to retain you; you're all in the muck together and they're really not thinking about you anyway - they just want the Tasks done. If it turns out that this job isn't ultimately for you, take some time to write down exactly what you want and start a plan to get there instead - this provides hope which feels amazing.
Approach each problem with extreme curiosity, to the point of it feeling fake but trust me it works. Widen your periphery and imagine turning a dial to increase the brightness. All these mental gymnastics take the edge of the dark dragon that you've painted the codebase to be.
Structure your days as follows:
- [30 mins] Self-care/tidy up your physical workspace and digital workspace (Bookmarks, Files, Mobile, Email, Slack/Teams channels). This gives you a good sense of control.
- [30 mins] Learn about the business - study some workflow documents, ask the PM about how transactions flow, things like that.
- [1 hour] Learn raw technology (Dev.To, LeetCode, YouTube, Udemy, Pluralsight, etc.) - both re-learn basics and new things through projects.
- [6 hours in blocks with breaks] Tasks - go deep into your assigned tasks, using your pad of paper to write things you don't yet understand, and submit PR's to get quick feedback. I can't stress this enough - DON'T SIT ON TASKS FOR A LONG TIME BECAUSE YOU THINK YOU'LL MAGICALLY GET IT - it just doesn't easily happen that way and you'll STRESS yourself the heck out.
- [15 min] Planning for the next day, put all the loose threads into a mental box in your brain, close the lid and unless you're on-call leave it behind until the next day
Lastly, have patience. As with all difficult things, it takes time and you need to focus and make small wins each and every day - please don't take days off sick because you don't think you can handle it - that will spiral you off into a self-created anxiety-fueled trajectory that is HELLISHLY hard to pull out of.
Top comments (0)