I realized recently that I’ve hit four years since graduating undergrad and starting a full time job as a software engineer in 2018. I’ve been out of college longer than I was in college, and while the things I’ve learned since then might be a bit harder to quantify without homework and exams, I’ve done my best to reflect on a few of the things I wish someone had told me when I was 22 and totally lost.
Without the structure of school, I was in charge of my life in a way that I was not familiar with. I chose a career in tech somewhat arbitrarily, and I lacked direction. The goalposts were unfamiliar and the daily work was simultaneously both uninteresting and overwhelming.
In a lot of ways, I still feel wholly unqualified to be handing out any kind of advice. Every day I deal with my own imposter syndrome and have moments where I feel like I did 4 years ago. In that time, however, I have started a “new” career, acquired another degree (for better or worse), and moved across the country.
It’s easy to look back on where things started and say “yeah, and then it got better”, but there have been a few concrete things along the way that have made all the difference.
Make Your 1:1s Count
As both an intern and a new engineer, I truly had no idea what I was doing in 1:1 meetings with my manager. He knew what I was working on, so why did we need to sit in a room for 30 minutes a week and chat?
The truth is that you own the time of your 1:1, and having nothing to talk about might be a sign that you aren’t looking far enough ahead, or you simply aren’t interested in the work that you are doing (which is also okay, and quite honestly where I was at, personally). You are responsible for setting the topics of your own 1:1. That doesn’t mean it needs to be rigid, but it does mean you should come prepared.
A simple guide that I’d follow at an early career stage would probably look something like
1/3 current work - What have you been up to the last week? Are you stuck on anything? Were there any moments that were frustrating, or exciting? Any issues with teammates worth calling out, or on the flip side, any collaboration that you think is worth celebrating?
1/3 upcoming work - Are there any discussions on what your team is looking to do in the future that you have been a part of? Are there areas you think you could contribute to? What skills do you need to work on to get there?
1/3 non work - Especially if you are working remotely, this is important, and worth explicitly making time for. You and your boss are both people, and you need some amount of trust and connection to do the job effectively. This mostly looks like me talking about my dog, but it still counts.
Limit Distractions
This was something that came into play once working fully remotely for the first time. When working in the office, it was easy to go into work and get caught up in the daily excitement, only to go home and find I hadn’t finished what I meant to get done. Once the distractions were removed, I could see clearly that I wasn’t on top of managing myself and my daily habits.
In part, a lot of clarity on this front came when I was finally diagnosed with ADHD after 25 years of wondering why so many basic things felt so hard. But a diagnosis and medication only go so far, and I think some of the systems I’ve put in place could benefit anyone.
I don’t trust myself to simply Not Get Distracted, so I use a software called 1Focus. It’s free and it allows me to select both websites and apps that I want to block for a specific duration. When I know I need to get something done, I write down what I am working on and how long I plan to spend on it somewhere visible, and I set my 1Focus timer for that duration. I block all personal messaging sites / apps, all social media, and a few other sites. I close Slack, though I keep the notifications on in case of anything urgent. 1Focus provides a visible timer, so I can see how I am progressing. Once the timer is up, I stand up and walk away from the computer. I know that if I do anything else, like wander to any of my blocked sites, I’ll go down a wormhole and end up feeling worse than before.
Along that vein, when I am working on something for an extended period of time (anything longer than 25 minutes) I try to use what’s known as the “Pomodoro Method”. It’s the simple practice of breaking work down into 25 minute chunks. 25 minutes on, 5 minutes off. A key component is making sure that the down time is actually restful and spent away from your screen. I typically get up and walk around, grab water, pet the dog, and try to do anything but go down a TikTok rabbit hole.
Track Your Work
This is something I’m still trying to get better at, but the truth is that no one will keep track of your work and accomplishments for you. Regardless of your career, you’re likely to have situations a few times a year in which you will need to brag about the work you’ve done. It might be uncomfortable and feel like boasting, or you may just not know what in the world you’ve done recently. But it’s not the time to be modest.
You can make life a lot easier for yourself by writing things down as they happen. I personally keep a running Google Doc with the highlights of my work. I break it down by quarter, and then by the type of work (technical, process, influence). When something gets done, I add a bullet to the relevant category with a link to any documents, PRs, etc. Then when it comes time for any kind of review, I can simply share that document as is with my direct manager. It makes everyone’s lives easier. They want to know the good work you’ve done, they just (probably) don’t have enough bandwidth to keep track of it all.
Find an Effective Note-taking Strategy
Something that I found helped me get out of just doing day-to-day work and move into a place where I was understanding a bigger picture was figuring out how to take effective notes. I was always a handwritten notes type of person in school, and while it helped me pay attention during class, it did little to help me categorize and retain info after the class was over.
The struggle I found when moving to a full time job is that there really was no test. The information I was pulling in couldn’t be memorized and immediately forgotten. I had to develop a system to take notes in a way that was easy to index and reference.
This is something that I’m still working on, but I’ve found that a tool called Roam Research works really well for me. A free alternative that is similarly popular is Obsidian. There are a lot of articles on “Why This Tool Is Better Than That Tool”, but the truth is, everyone’s brain works differently, and everyone will get different value from different styles of organization.
The difference between these tools and a standard document or notebook is that they allow you take notes in the same way that your brain actually works — via connections. When writing notes on a problem you are working on, you can quickly link the topic, the project, and the people you are working on it with. Then several months later you can make the connections in the exact same way your mind would naturally. The difference is that you’ve now offloaded that effort and freed up more space for your mind to work creatively rather than stress about categorizing topics, projects, and people.
Underpromise and Overdeliver
I’ve found some of my biggest frustrations have come from a misalignment of expectations. When I started out I assumed that the pressure would be similar to that of school - learn the topic, complete the work, avoid mistakes, and demonstrate it. The reality of day to day work on an engineering team was entirely different.
For someone in an entry level role, the goals should be learning, iterating, and effectively communicating. This doesn’t mean completing everything. In fact, the expectation is likely that you will not complete everything alone. Instead, focus on breaking things down into the components that you do understand. Complete what you can and communicate your progress clearly and regularly.
Do not overestimate your own abilities, and do not fall into the trap of sunk cost. It is never too late to admit that you are stuck. It’s probably expected that you will get stuck and that you’ll learn along the way. The best part of being new is just that - you are new, and part of your job is to make mistakes. Rather than throwing up your hands, however, be open about what you have tried, what you do not understand, and what kind of help would be most valuable. Techniques like pair programming can feel especially vulnerable when you are less experienced, but the discomfort is where you learn the most. Learning is a slow process, and you get the grace of being “bad” at a few things for a little while.
Trust Your Gut
For a while after graduating, I was stuck in a place of truly not enjoying my career, while not fully realizing it. I was still doing work and Getting Things Done™ but I didn’t feel motivated to think beyond the next few days of work. As I said earlier, I found myself having nothing to bring up to my manager. When asked directly what was motivating me, I found myself not having an answer.
These are signals, and they’re worth listening to and understanding.
No one can help you move forward once you feel this way, however, if you don’t communicate. Your boss doesn’t want you doing a job that you don’t enjoy — everyone is worse off that way. But knowing where to start with that conversation can be overwhelming.
It’s possible you simply need a change of pace or environment. Look for opportunities for lateral movement within your organization. Is there another product on your team that you could be contributing to? Are there growing teams that could use your skills? Try simply reaching out to your peers, understand the work they do and what they enjoy about it. After forming some initial connections, see if you can attend other team’s meetings.
Look for opportunities that are mutually beneficial for everyone, rather than simply making demands. When it comes down to it, you may end up needing to walk away from your role. Your happiness at work is critical, but timing and available resources may not make it possible for your organization to accommodate the kind of shift that you are looking for.
You don’t need to feel like your job is your biggest passion in life, necessarily, but you do need to feel like it is worth doing. Listen to your gut and be willing to advocate for your own joy. No job will be entirely free of frustrations or monotony, but you have to believe that you deserve a job that is challenging and interesting enough that you are willing to continue to do the work necessary to grow.