Another year has passed. Another long year. Even though the pandemic is still messing with everyone’s lives (including mine, and why I’m putting this out finally in March), I think a lot of good things have happened this year and I’d like to take my usual review time to go back over it.
In addition to the terribleness of the pandemic, 2020 brought on a wave of protests after the police killings of George Floyd, Breonna Taylor, and hundreds of other Black people that year. Then in 2021, it got quiet again. Society stopped talking about them. So I want to take a moment to say a few more things.
Stop Asian hate. (Still.)
LGBTQIA rights are civil rights. (Still.)
I am writing this from Pittsburgh, Pennsylvania, United States, but really is native lands owned by the Shawnee Tribe and the Osage Nation and pushed out by White*, English settlers.
I live in a country that is built on numerous systems that promote the value and lives of White people and continues to hurt the many BIPOC, LGBTQIA, poor and middle class, and other groups of people.
I also acknowledge that I am a White person that, as of the time of this writing, has a six-figure income in the tech sector. I believe that because of this, I need to use this privilege for good, by helping those less fortunate and by boosting voices of those that need to be heard.
The vaccines for COVID-19 came out early in 2021, and it was quite chaotic, but I did manage to get my two shots in late February and mid-March. After both of us were fully vaccinated by the end of March, I went and saw my friend Tracey, and we shared a wonderful, big mask-free hug! And in December, I got my booster shot. As of the time of this writing, I have showed no signs or symptoms of having had COVID-19 (though have not been tested for it aside from having negative antibodies from blood donations in 2020).
At the start of 2021, I had just come off an extremely stressful and overdue project at work, I quickly took a week off for vacation as soon as I could. I didn’t go anywhere, just mostly recouped at home for a stay-cation. Though quickly after that I reentered some stressful times at my job and burnt out again.
In April, I applied (again) to 18F, a technology and design consultancy for the U.S. Government, within the US General Services Administration. It was my third attempt to get in as the previous two times either my resume expired (as they can only consider a candidate for six months) or the filled the position and I never heard back. I applied on a whim, not even sure if I’d hear from a person this time. But I got lucky! I not only talked to a recruiter there, but by end of June I was already given a tentative offer pending a security check! Then about two weeks later, I got my final offer! (Hilariously, HR woman hadn’t seen a security clearance clear that fast before. She ended up calling the security offices to confirm that was accurate!)
I gave my two weeks’ notice at the old job, then took five (!!!) weeks off between jobs. It was a weird combination of knowing I needed the time to recover from burnout, feeling like I made a mistake and should have immediately started a new job, and also feeling really lucky for the first time in my life I managed to have plenty saved up in a fund to pull this off. But after the anxiety-filled first week of no job, I recovered amazingly well. I was happy and ready for the job to start!
On August 30, 2021, I was sworn in as a public service employee.
And wow! I knew from several friends at 18F over the years that the culture was a wonderful place to be, but actually being there? I’ve definitely had days I had to really remind myself “Yeah, you work here now, Sarah.” As I like to tell my friends, they take their work seriously, but they don’t take themselves seriously. This comes out in everything from all-hands meetings (where they end with jokes and take time to show off pets, babies, and other cute things), virtual “coffees” (where we’re encouraged to actually take 30 minutes here and there to just chat with friends, have book clubs, etc.), to having very public discussions about things agency leaders have said and discussing our feelings about them, and so much more. And to also say I get to share my work and contribute to our resources that are all open source is a great way to show that my impact here can have a lasting effect for years to come!
Code Thesaurus, my open source polyglot developer reference tool, turned one year old! (At least in terms of being a production-ready site.) For someone who has a tendency to start a LOT of things and never finish them, it’s been amazing to watch this site not only go live, but to actually be something I’m proud of continuing to work on throughout the year!
Hacktoberfest is an annual celebration of open source software, and they encourage people to make four pull requests (or code/documentation updates) to participating projects. I, again, spent my efforts on working on Code Thesaurus in 2021. Early in the month of October, someone discovered my site and shared it with the Hacktoberfest Discord server. Overnight, seven people claimed some issues. While Hacktoberfest 2020 gave Code Thesaurus about 15 pull requests, 2021 gave it over 90! And I personally did 10, which got me my free t-shirt and swag.
Currently, there are 20 programming languages you can compare on there in 8 different concept sections. I’m always looking to grow the site even more and fill in more gaps. I also imagine Hacktoberfest 2022 will have even more activity, so one of my goals before October is to try to automate a lot of the tasks that I do manually to help optimize my time, and maybe find a second person that could help me maintain the code repository too.
I didn’t end up doing any conference speaking in 2021. It’s a bit of a surprise to me when I think about it. However, I did still speak at multiple other virtual events throughout the year, including a couple of keynotes. I also was a part of organizing !!Con 2021, which remains my number one favorite conference of all time (attending, speaking, or organizing)!
For 2022, I’m not sure how much I want to submit anywhere. I am still a bit cautious about traveling, and I’m still trying to work out my feelings on how much time, energy, and work PTO I put in towards speaking versus the payoff I get out of it. (For example, I have several friends that use conference speaking as a way to put their name out there as they do self-employment or consulting, and this is an important payoff for them in the end.) While I love seeing my old friends and making new ones, while I still love sharing what I learn, as long as I continue to have to take time off of work or continue to have to pay some of my own way to attend these events, it gets harder for me to justify the end benefit to myself. (I do want to write a blog post on all of the events I’ve attended and break down the time, energy, and money I’ve spent attending them and whether the end result is positive or negative.)
I do believe I want to continue to submit to my top 5 favorite conferences, and will still consider all events I’m invited to speak at.
One of the things I’ve tried to do is stream some of my development work on Code Thesaurus on Twitch. (Believe it or not, there’s a whole niche community I call “Dev Twitch” of people that work on software.) I started doing it partly as an accountability method (as in: if I can reliably dedicate time to streaming, it means I’m dedicating time to working on side projects). I also do it because a lot of people have talked about how helpful it is to see how I think through code problems, being able to share my experiences, and also I think it helps to see other women developers out there being vocal about things. It’s something I continue to want to do.
Through a variety of stressors that came up through work and life, it was hard to reliably dedicate time to doing it as my schedule often frequently changed or meant canceling streams. Also a lot of burnout meant losing the energy to go through with it on a regular basis. Despite this, I did manage to stream a good amount.
I streamed 94 hours and 33 minutes over 2021. I doubled the number of followers I had, and average about 12 viewers per stream. I also made $257.95 through that. (It comes from a combination of ads, subscriptions, and “bits”, the Twitch currency.) I told myself that I wanted Twitch to be fun and not an income source, and feel that if I do it for the money, I’ll eventually lose the joy of doing it. Therefore, whenever Twitch sends me a payout, I donate it to charity.
I’ve mentored various groups over the years, but the one I’ve most recently been involved with has been a FIRST Robotics team in Pittsburgh. The Girls of Steel is the city’s only all-girls robotics competition team that’s based out of Carnegie Mellon University. It’s my third year working with them, and the first two years were a bit chaotic because of the pandemic. I’m now the lead mentor for the middle school FIRST Tech Challenge teams. Though we’ve had a few delays on getting started, we did finally get to meet in-person again in October, and they’ve been building robots for competition. We had to shut down in January 2022 (I know, I know, it’s outside of the scope of this blog post), but it’s been great to be able to work with students in-person again and to be able to watch then learn and grow!
I also have been mentoring with one of the high school group’s spin-off projects called BuzzBand. It’s an arm band that young people on the autism spectrum can wear that through various feedback methods can help them focus more during exercise. They not only won awards through the FIRST Robotics system for their invention, they received a $10,000 grant through the Lemelson-MIT program to help make their idea into a real idea! It’s been cool to watch this group really take charge on designing prototypes, talking to potential users and their parents, talking to inventors to learn about the process, and to get local media coverage about this. They even started filing a patent with their names on it! (And in a tiny moment of self-brag, they’re sticking mentor names on it too!)
I had a goal that by the end of 2020, I’d have deleted all of my Big Name Tech Company accounts and just eliminated the services or found replacements elsewhere.
Let’s just say that didn’t fully happen.
But by the end of 2021, I’ve deleted a lot more of them. I intend to continue to slowly get rid of more of those as I can, and eventually write a blog post on how I finally got rid of all of them and what I replaced them all with.
I had an amazing 273 miles ridden in 2020 and I set a goal for 400 miles in 2021! And I’m here to announce I rode…
[drumroll]
… 56.7 miles. I didn’t really do well at all. I think a lot of life stress, work stress, and pandemic burnout really led me to get out of the habit of getting on the bike. And from that I definitely slid downhill with regards to my health. I do want to get back in the habit, so while I won’t commit to a number, I’d like to at least get back to a routine of getting on the bike at least once a week and getting back on some trails around the area.
In other health news, I made some tweaks to my artificial pancreas settings and started for the first time fully “looping” (letting the device control all insulin without input from me on food/carbs I’m eating). I switched endocrinologists I use for the type 1 diabetes treatments, which has helped a lot as well. In the end, my last A1c (the test used to determine how well I’m managing the disease) returned a result of 5.2%. For context, you’re considered “pre-diabetic” when that’s above 5.7% and “diabetic” when it hits 6.5% or more. My first endocrinologist always told me keep it below 7% and she’d be happy, and as of that most recent test, I don’t even appear diabetic!
I’ve usually tried to set myself up with some goals, but I stopped setting specific ones during the pandemic. I do have a few general ones though:
I always write these blog posts for me. I think it’s helpful to remind myself of great things I’ve achieved throughout the year. The years are never perfect, and they’re filled with a lot of bad things, especially after the pandemic. I also am aware that there’s some privilege in some things I can able do with my life now. But I think through reflecting on the positive, I can help enter a new year reminded of what I have achieved, and can continue to try to do what I can to grow as a person. And who knows, maybe through sharing this on my blog, someone else can be inspired through this too.
Thanks for reading! Happy 2022!
~ Sarah
* I capitalize “Black” and “White” because in the US, racial identities are used as strong identifiers. The shared history and struggles of Black people means the term should be capitalized out of respect to the community of those people. There are conflicts when it comes to capitalizing “White” though. I stand by the opinion of the National Association of Black Journalists who say that you capitalize “Black,” “White,” “Brown,” or other groups when referring to race. I also stand by the opinion of the Center for the Study of Social Policy who says that “To not name ‘White’ as a race is, in fact, an anti-Black act which frames Whiteness as both neutral and standard.” Therefore, I will also capitalize it, even if it makes other White people uncomfortable to be called out in such a way. Return to the section.
]]>Happy International Women’s Day! This is a part of Dev.to’s trend of yearly “Nevertheless, She Coded” posts.
On a professional level, I’m proud of getting to a point in my career where I’ve been known to be a great problem solver. I’ve had many coworkers that say I’m great at being thrown into problems and not just coding up solutions but finding creative ways to solve the problems. I also have a lot of past teammates, and even managers, that have said they’ve learned a lot after working with me. I’m pretty humbled to know that there’s a lot of people out there that would gladly work with me again (and have even tried to drag me to their jobs with them)!
On a personal level, I’m incredibly proud of Code Thesaurus! It’s been an idea of mine that I honestly hoped someone else had made somewhere. After not finding it, I finally worked on it myself. It took several years to get myself to work on it, but now that it’s alive and well, it’s been amazing to see the overwhelmingly positive feedback come from it!
I try to not only shine as brightly as I can in the tech industry, but try to help other women I meet along the way shine too. I think when people look at women and assume they’re not technical or can’t work at the same level as the men in the same settings, they’re missing out on the creativity, intelligence, and empathy that their products and teams can have. It’s not always easy to try to do this, but by continuing to try to show this, either through my own work or by highlighting other women’s work, it’s really bettering the tech industry as a whole.
I have overcome a lot of bias in my jobs, in job interviews, as a conference speaker, and probably other areas. I’m reminded of some jobs where senior level developers were surprised to learn things from my junior level self, or where I had to fight to have my great ideas listened to. I’m reminded of job interviews where they assume I really should be a teacher instead of a developer because I teach and mentor alongside my jobs. I’m reminded of conferences where I walk in the door and people are shocked that I was the one that gave the most popular technical talk at the event.
I also realize I’ve overcome a lot of bad team cultures and a lot of burnout as well. It’s easy to go into a job all bright-eyed and bushy-tailed, but it’s hard to stay there when the stress piles up, when managers don’t listen to you calling out problems, when you get in trouble for missing deadlines that are a result of other people not delivering. It’s exhausting. I have no wise words to get around this aside from just keep pushing on and maybe you’ll come across a better place where this isn’t the case.
Advocating for myself is hard to describe sometimes. It sometimes means responding to the men in the room that say the idea in the meeting you already said with “Wow, I’m glad you liked my idea!” It sometimes means taking mental health days from work because it’s too much. It sometimes means having backchannel conversations with all of the other women in tech you know to ensure the situation you’re in is real and you’re not overreacting to something. It sometimes means quitting a job before a new one is fully lined up because you can’t deal with the toxicity of your job anymore.
I will continue to support the underestimated people in tech by offering my advice for free to them. I’ll continue to mentor them when I can. I’ll continue to offer free resume reviews. I’ll continue to help them polish and refine their conference talk proposals (even if it means we’re fighting for the same spots at an event). I’ll continue to mentor the middle and high school students by teaching programming and robotics. I’ll continue to be a part of every industry leader panel I can be a part of for high schoolers, bootcamp students, university students, or whatever. I’ll continue to follow, retweet, and boost other underestimated people in tech on Twitter with whatever platform I have at the time. And I’ll continue to donate money to related non-profits to help them succeed.
I’m excited to see the all-girls robotics competition team I mentor continue to get great media coverage, and hopefully win more awards this year.
I’m excited to see how Code Thesaurus has grown by the end of this year.
I’m excited to see how the women I’ve mentored in the past week get over the career hurdles they’re currently at.
I’m excited to see how I grow and evolve at my current job, and to see where I might go (whether as a developer, moving to management/leadership, or what new projects I land on).
I’m excited to see what the next events or conferences I’ll be able to keynote are.
I’m excited to see what other random things pop up in my life, and on a whim I decide to go with it, and see how it continues to help me be a badass in the tech space!
]]>I started my first programming-related job in 2005. Since then, I’ve had 13 managers across 10 teams (not including any contract work). It’s a lot. I’ve definitely had a variety of amazing, wonderful managers I’d drop a job in a heartbeat and go work for. I also have had managers I quite frankly hope I don’t run into again. Through these experiences, I’ve learned a lot about what I think makes up great management, both in terms of how a team can be managed and traits I believe a great manager has.
I’ve taken a lot of my experiences and tried to boil them down into 15 points. (For the sake of not calling out any manager or any company, I am anonymizing any specifics that may come up. I’ll refer to all jobs, including my present one, as a past job for the sake of this article.)
Before I got into tech, the managers I had for food or retail jobs were people who told you what to do next. There were lists of stuff to do, and they assigned you a thing to do.
The best managers I’ve run into in tech have been the opposite. They’ve set up an environment that self-selects into tasks. The manager then becomes the person that does whatever they can to help you succeed. If you’re stopped by a production issue, by another team delaying something you need, or by unclear expectations of what to do, the manager should be the one that can spend the time clearing up those delays so that you can get back to work. They also work with you to reduce anything that’s delaying your productivity.
This is why I call them “employee advocates.” They’re there to help me succeed on my tasks, not boss me around with what tasks to do or how to do them.
I remember one time when a manager mentioned something about a disagreement with a coworker in my 1:1 with them. They had noticed that we were really getting on each other’s nerves, which was really disrupting us both. We talked about it, and I felt better after that meeting knowing what I could say to my coworker to maybe reduce our stress. We went for a walk, talked it out, and in the end, we actually became friends after we weren’t on the team anymore.
I’ve also had one team where, after not really clicking with a coworker and mentioning this to my manager, realized they probably had no clue, and in fact seemed thrown off at me mentioning this. In fact, they thought this person was not just smart but extremely cooperative. I learned later from other coworkers that they felt about the same as I did.
I think it takes a particularly keen sense of understanding people to be a great manager. There are lots of dynamics at play among people on a team, and it’s not always going to go great. However, I think a great manager can help reduce (if not eliminate) those tension points and at least keep the team in a good working flow.
One-on-ones (1:1s) are just meetings between you and your manager. I think they’re important because they can fill them in on the things they can’t see that are happening, but also fill you in on what’s happening that you can’t see. I think they should happen frequently (at least once a week or every other week) and regularly (if they have to get cancelled, reschedule them, and don’t skip more than 1). I think aiming for a one-hour time block is good, but it’s ok if they end early.
One of my favorite questions a former manager always asked as the first thing in our meetings was “What’s your stress level?” I think this is a great example of what a 1:1 should be: about you, the human person. 1:1s should never be about project or task work. Why? Because literally every other meeting is about project or task work. This meeting is about you. How are you feeling? How are you handling the workload? How are things in life going? How are you getting along with your coworkers? What is going really well right now? What could use improvement right now?
Heck, I even had one manager that always ended 1:1s with “What can I be doing right now to help you succeed more?” I often felt he was doing great, but once in a while I had a suggestion, and he truly seemed grateful to work on that. I keep that idea with me as a great question to ask people even outside of work.
Again, these are meetings for you, the human. If your 1:1 is a project check-in, the manager is doing these wrong. Your manager has standups, retros, planning meetings, collaboration meetings, meetings with product owners, and more to get important updates. This meeting is for you.
What should you get out of it? I like the model one particular manager used:
While these could be work related (ex: “My tasks on Project A are going really well right now”), I also think they can be outside of work too (ex: “I just got accepted to speak at a conference and I’m excited!”). I like this framework because it’s focused on the manager being that “employee advocate” (remember point 1?).
If you’re not getting anything out of these meetings, it’s probably a project update meeting and not a 1:1.
I had a manager once mention to me in our first 1:1 that they wanted to do check-ins, but also think long term about my goals. This could be company-specific, but also just career-specific. He was even upfront… he said if this meant a skill I wanted to develop that I could take with me even after that job, it was still important. And this is a great thing to ask those you manage.
But he said “if you wanted to just stay a developer, or whether you wanted to keep going into management, I’m here to help you think through that.” And WHOA… I was thrown off. I didn’t really want to go into management (at least at the time).
But one thing I realized after a bit is that the career ladder for growing as a contributor (developer, designer, etc.) is NOT the same ladder as management. They’re not even tied together. They are entirely separate ladders. I’ve seen developers get promoted to become managers and just plain suck at it. Remember earlier when I said how important it is to organize people? Some people seem clueless about how the other people think and work, and don’t seem to have a strong awareness of those people dynamics. This assumption is very bad, and I think it’s important for managers as well as team members to realize.
I worked at a place once where I got to try out teams before choosing a permanent one. It really was a cool idea! But one thing that came up for me was on my third team, I needed my laptop to be a very specific configuration, one that my machine didn’t have from the past two teams. I had an issue come up one day, and asked my coworker. He had been there too long and didn’t remember how to set up something and told me to go ask the most senior person on the team. I went to ask them about my problem, and he just laughed at me. “Why would you set it up like that?” This shook me from that day forward.
Psychological safety is an idea that you won’t be punished or humiliated for speaking up at work, whether it’s about ideas, questions, concerns, or mistakes.
Unfortunately, as you saw above, I’ve been on some teams that broke that safety for me. I’d be judged on the code I wrote, I’d be judged on the questions I’d ask, I’d be shot down on good ideas I had (or worse, shot down and others took them and they were then good ideas), and more. It not only ruins my feeling of safety on the team, but it harms my work and my productivity. It’s an extremely strong red flag for me and often leads to me starting to look for a new job.
I think managers can help foster teams that have psychological safety, and if they see something hindering it, or if it comes up in a 1:1, they have the power to stop it. It comes with the people organizing, and might be one of the most powerful things they can help do to help guide how a team works with each other.
Early advice I got for interviewing often told me to ask interviewers (often managers) about the tech stack or version control or other more technical things. Nowadays I never ask those types of questions. I ask all interviewers about team culture. It plays a much larger part in how well I function on a team than the specific tech things I have to use.
I’ve watched teams go from a shiny, happy, cooperative team to a dysfunctional mess because of management’s meddling. While psychological safety plays a large part, I think a manager can also help make standups fun with silly traditions, encourage group outings (if you’re in-office anyway), and tell silly jokes. Why should a team be all serious, all the time? Some of my favorite teams of all times played pranks on each other, and even one of my managers was the biggest prankster of all of them. Encourage this! (Don’t worry, I epically pranked him several times as well.)
I remember one project I was working on where my manager laid out the architecture of the project, laid out all of the cloud services it would use, laid out what I’d work on as well as everyone else, and for nearly all of the first half of this thing was at all meetings and led it all. They trailed off due to getting busy, and I picked up the slack on coordinating things with the other people involved and eventually guided the project to its end. At the end of the year, it was revealed to me that the leadership I showed during the second half was their expectation. This wasn’t pointed out in the beginning, and in fact seemed almost the exact opposite in the beginning. This almost cost me a bonus because my yearly review didn’t turn out as I expected because of this.
I get sometimes team dynamics and project dynamics shift rather quickly with regards to who is doing what and who is leading up some or all of the effort. However, if there’s an expectation of something, it needs to be very clearly laid out. This goes along with that employee advocate thing. Your manager isn’t working with you and working to help you succeed if they cannot lay out the expectations of your tasks, a project, how you’ll coordinate things with other teams, or more. I may need to ask expectations of smaller things, but large-scale expectations should be provided by the manager.
One manager told me this advice once. Sure enough, I was nervous when year-end review season came. I filled out my form, sent it in, he sent in his changes, then we met to go over it. The only thing that surprised me? He ranked me the same way I ranked myself (both positive and negative), but he ranked me better on some things than I did. I had no real reason to be nervous!
If you have that great relationship with your manager, if your 1:1s are focused on you (the human), and if your manager is advocating for you and working to help you succeed, there’s no reason your yearly review should be a shocker. There’s also no reason it should be high stress. Those expectations from point 8 should be clear enough that also aids in making reviews a low-key thing.
Similarly, if things are going bad, then hopefully your 1:1s are a time to dive into that. Find out what’s causing it. Your manager should be advocating to fix what’s holding you back, telling (maybe even forcing) you to take vacation, helping reduce team stressors, and more. The company shouldn’t ever surprise you with warnings about your performance being bad.
Of course all teams have standups, right? Where you meet in a room and everyone stands while they give their status updates about what they did yesterday, what they’re doing today, and what’s impeding their work. Right?
But what happens if your team is so big that there’s so many pieces going on that standups become overwhelmingly useless? Or so small that everyone’s stretched thin on their own things and it’s still useless? I’ve been a part of both and honestly it always feels like a waste of my (and my team’s) time.
At that point, your standups aren’t there for team’s benefit anymore. They’re now manager check-in meetings. If this happens, then there’s no real point to them. Give everyone 15 minutes back of their time and have them post updates on Slack or whatever and the manager can read at their leisure.
Ideally, meetings with your team should benefit the whole team. If they don’t, don’t include everyone. Especially if there tends to be a lot of them.
One of the things I’ve learned is that once you jump over to management world, there’s a lot of politics. It kind of comes with the territory I suppose. One manager told me once that they thought a good manager keeps upper management politics out of the way of individual contributors. It lets them focus on the work that needs to be done, and the manager can pass down any information that the person might need to know.
Though I’ve also had some managers that have done a bad job of shielding me from those politics, which can get ugly and drain on the mental health. Similarly, if they’re too good at shielding and never tell you about what’s going on, then you never really know what’s happening and might be blindsided by things that affect you at the company. I’ve had both and it’s not really fun either way.
Now I actually prod my managers in our 1:1s. I try to find out what’s happening. Not a lot usually changes from week to week, but month to month might see some changes. You never really know. But it’s probably better to at least try to understand what’s happening before some giant news drops you’re not expecting.
A skip level meeting is one not with your manager but your manager’s manager. I was surprised at the first company that had a skip-level 1:1 meeting. I think I was initially both surprised and intimidated. Surprised because I wasn’t expecting it and didn’t really know what to say, but intimidated at their title and how it felt almost scary. But they also were super kind and wanted to make sure I succeeded and were there to also help ensure my success.
I think this should be a thing at more companies. I think it helps diversify your input on what’s going on at the management level. It also gives you a good connection with the manager just in case you ever did have to go past your manager to talk about something important. While I haven’t specifically asked for this at companies that haven’t offered it yet, I’m thinking about starting to.
At one of my earlier tech jobs, I was still pretty new to that job when one of my teammates said “Let’s go get ice cream!” They all thought that was a great idea and started to get up to walk out the front door. I was definitely thrown off. My first thought was “whoa wait… you can just LEAVE?!? And go eat ice cream!? on the clock!? And they don’t care!?!” The answer was yes we could, no they don’t, and the ice cream was great!
More important than the ice cream was that time hanging out with my team. It broke down some of that all-serious, all the time type of mentality that can tend to build up if you only focus on work all the time. Building that team camaraderie might feel nonsense or unimportant to some, but I think it really helps build a better environment for working both independently and together as a group. When you start to understand more about your teammates and understand their situations, how they work, what’s going on in their lives, you relate and empathize with them. It makes you more able to know how to work with them easier. I had one team where we bickered a lot, and I dragged them to the work cafeteria to just chat over cookies and snacks, and we worked a LOT better after that.
I hope the manager of the team sets up times for the team to hang out. If not, maybe consider setting it up yourself!
Though someone may “own” the product, your team should “own” the code. You’re the ones working in it, and you’re the ones that will have to deal with the problems in the future. The team should be empowered to make changes to make it easier to deal with, well documented, tackling tech debt, refactoring things, or whatever.
The downside is that I think there needs to be a coordinated plan of attack. The code, as it is now, is what you’re used to dealing with. If someone goes through and makes large changes to how things work, it will take time to adapt to understanding it and working with its new form. (For example, changing how Docker containers work, altering the startup script, extracting things out into libraries or replacing your code with a third-party library, etc.) If the team has discussed it, that transition to learning it is probably minimized. If it happens, and it’s unexpected, then there’s a huge hurdle on everyone to figure out.
Take time every sprint (or some time period) to think through changes you want to make that aren’t bugs or features. Figure out how you want to break those down, take on some tasks, and let your team know when they’re coming down the pipeline. It will help keep everyone at a good productive level, if not an improving productive level!
My final tip deals with bringing on the new people. I’ve heard horror stories from people for years about the terrible experiences people have joining teams. Laptops not being ready, accounts not being ready, being clueless about HR forms, teams not knowing a new person is coming, and more. Heck, I even wrote a conference talk that included a lot of things about how to go from “we need to hire someone” to hiring, interviewing, onboarding, and retrospecting on that hire.
What will help your new team member integrate in a great experience? Figure out your onboarding strategy, then work on it before the new teammate comes along. The more materials you prep, the more suggestions you offer on getting things right, and the more you get accounts and computer right, the less overwhelmed the new person will be, but also the more energy they’ll want to bring to your team.
While some of this work may fall on the team to make sure stuff is documented, it also falls on the manager to help guide the process when they come in. Take all the above and use it to help shape and form that new relationship! Oh and make sure they don’t have to call tech support to get their password reset on the first day.
I never used to want to be a manager, but last year the thought entered my mind more seriously. While I don’t believe I’ll end up in any sort of lead or manager position at my current job, who knows what the future holds? I have mixed feelings about making the switch. But if I do, I feel I’ve had many wonderful (and a few not-so-wonderful) examples of managers to base my future experiences off of. While I would still want to take some management trainings probably, I think considering a lot of the above would be a pretty good framework to helping out a beginning manager. Or maybe even an experienced one. Even if I don’t become a manager, I’ve known what to look for in my team’s managers in interviews, and it has definitely helped shape my future interviews and what I look for out of a new position.
]]>[UPDATE] Added a section at the end for Discord server admins to add roles effectively.
At the last half of 2020, I started live streaming on Twitch. As I started getting into it, I was looking at other streams and meeting people on there. I met a good number of people who I would call friends now, which is great!
One of the popular things is for Twitch streamers to have their own Discord servers. If you’re not familiar with Discord, I’d say it’s like Slack but geared towards gamers and communities. If you’re not familiar with Slack either, I’d say it’s a chat room tool that offers you a bunch of different virtual rooms (called “channels”) that you can discuss various things in. The nice thing about Slack and Discord over older systems like IRC is that they’re a lot easier to visually communicate things. You have markup (e.g. italics, bold, and adding links), images, often get previews for online documents and other things like that. The tools are great.
But the point of this blog post is to focus on an issue I see brewing for me: Community Burnout.
Thanks, I’m glad you asked. It’s a term I’m making up (that may or may not have some real life similarity) in which you become a part of too many communities and your involvement in all of them decline.
It’s similar to a thing I realized at the DMV once. DMVs, doctor’s offices, and other places like to print out a sign to aid as a way to help direct people or tell people some important piece of information. The problem becomes that they tend to post SO many signs that the effect means all the signs are drowned out and no one reads any them.
How does this work on Slack and Discord? Let’s look at examples of some I belong to. For Slack, I have an account on at least 60 servers. They include:
For Discord, I am a part of probably about 30 now. There’s similar but different types, notably:
While many of these separate servers offer very different sets of people with separate sets of discussions, most of them have a LOT of the same types of channels. To categorize some:
#pets
, #cats
, #dogs
, #furry-friends
, #pet-photos
, #all-the-pets
, etc.)#job-board
, #job-search-support
, #marketplace
, #services_selling
, etc.)#java
, #cpp
, #python
, #ruby
, #programming
,
#functional-programming
, #ux
, etc.)#live-now
, #share-your-work
, #special-streams
,
#ads-and-surveys
, #gamedev-art
, etc.)#random
, #general
, #chat
, #off-topic
, etc.)And they’re not on a few servers. I’d say on every server, Slack or Discord, I have most of the above categories.
So, let’s say my cats do something adorable:
Great! I love sharing my adorable, giant cats. Where would I post this?
#pets
.#pets
.#pet-photos
or similar.After a bit this gets exhausting. I don’t want to post one picture in 10+ places. There’s not really a good way to automate this either. On my phone, I’m basically clicking the “Share” button 10+ times. On the computer, I can drag-and-drop that photo onto every channel (faster, but still obnoxious).
That’s a silly example. Let’s say I want to have a more serious discussion. Something mental health-related.
#mental-health
on Women In Tech Slack#mental-health
on Code & Supply Slack#mental-health
on @whitep4nth3r’s Discord#serious-stuff
channelNot all conversations are serious. What if I want to chat about fun or uplifting things?
#uplift-and-gratitude
on the Women in Tech Slack#successes
in Code & Supply#milestones
on Girl Streamers#good-vibes-only
on my friend @LA_Draws’ Discord server#brag
on the We So Crafty slack (though people also post all of their projects
on the other craft channels)(I generally think the more uplifting channels, the better, but it’s still contributing to the clutter.)
So… different avenues of conversation are plentiful. If I’m super extroverted-feeling that day, I could try to post something to multiple channels. But I’m often not. So it becomes a choice: Which one do I do?
There are studies now showing how mentally draining constant notifications can be. While I can log on and off of Slack servers as I want on my phone or computers, you are either have Discord’s app open (and therefore every server) or you close it (and have no servers).
Within both Slack and Discord, you can set server-wide notifications, usually notify of every message, notify of
mentions (like someone says @geekygirlsarah
or @here
), or no notifications. This is a good start, but it’s not
enough.
And withing both Slack and Discord, you can set channel-based notifications. This is where it gets complicated. The default is to get all notifications for all channels. If I added them up, that’s thousands of channels for me. This is WAY too much. While I can customize Slack’s noises per server, everything on Discord sounds the same. Throw in that my roommate also uses Discord a lot and notifications get very confusing.
I’ve started very liberally applying channel mutes to every Discord channel I don’t want to hear from and most noisy
Slack channels. This helps a lot. Discord still shows me numbers for muted channels though. So essentially I am
notified despite setting it to not do it. This usually happens because Discord owners LOVE doing @everyone
or @here
on theirs, which notifies everyone on the server of something. Often it’s a “hey, I’m now streaming on Twitch”. Which I
don’t really need because I get notifications from Twitch itself.
It’s just… a LOT. The result is that I want to mute everything, which is effectively like me plugging my ears to entire communities, which goes against what I feel it should be like.
I get I’m probably not the typical person. I AM involved in a lot of organizations and groups. I regularly talk to a LOT of people I’ve by the nature of those connections, I want to find ways to keep chatting with them. It’s almost always easiest to join their Slack/Discord.
I’m aware that most people aren’t this engaged. You might be in 1-2 local communities and that’s it. Maybe 1-2 online ones. And maybe you only drop into a few streamers so Discord isn’t so noisy. I entirely get this and that’s entirely cool. Probably better that way.
For new communities I’m joining, I’m at a point where it’s hard to feel included in them. I have the few I’ve been a part of the longest, but it’s getting harder and harder to really feel like I belong to the new ones. They feel like they’re more work than is worth it.
In general, I’m burning out. There’s TOO many things to be a part of. And it’s only gotten worse during the pandemic. People WANT to create those online alternatives to what they had in person but don’t have anymore. You can see this as Twitch reports millions more hours of streams watched since the pandemic started. Don’t get me wrong, I want those replacements for the in-person things I miss too. But I’m hitting a point where it’s not sustainable anymore and I’m losing any motivation to be a part of any of the groups.
Good question again. I don’t know that I have a great answer. I have a few ideas though.
One of the things that I’ve learned from working with non-profits is that you really need a mission and a vision. The mission is “This is why we exist” and the vision being “This is what we see happening.” These can change over time, and I’d say that they should change in order to stay relevant to the people that the non-profit is serving.
Applying this idea to communities, I’d then ask: Who are the members? Why are they there? What’s the point of this group? What are you, the leader of the community or a member of the community, doing to help serve that point of focus?
For example, the Women in Tech Slack offers to be a source of support for, well, women in the tech industry. This can
be through things like answering questions about various technologies, helping women get jobs, helping support when the
industry is being rough on them. It’s also turned into a source of women to talk about things that tend to face women
as a whole like getting appropriately paid, workplace discrimination, and more. But as we’ve grown, we’ve found there’s
room for things like channels about relationships (romantic, friendships, or otherwise), connecting across cities (many
channels like #loc-pittsburgh
for example), and looking at finances, home ownership, and other things too. It’s
blossomed as a great place to be but also many channels are regularly having conversations related to these topics.
It’s been a massively great support for me in the 5 years I’ve been there.
At the same time, it’s grown to over 8,000 people now. People are joining all the time. Most people drop into
#introductions
, say a spiel about who they are and where they’re from, then… nothing. We almost never hear from
most new members again. I can’t blame them… it’s huge and it’s often hard to figure out where to go. To add to that,
most “women in tech” communities are just empty and quiet and just mostly self-promotion pools. (As in people going “I
made a Youtube video where I…” or “I was on a podcast where I talked about…” with almost no conversation.) We’ve
started to see that too on the Women in Tech Slack. People come in and most go quiet, but there are some people that
are always making blog posts or Youtube videos are dropping their stuff in #main
and not in any relevant channels.
They don’t talk or converse, just drop their stuff and leave until the next time they do it again. It’s hard to join in
to something so big and feel like you belong.
Here’s what I’d suggest:
If you’re a general, wide-topic community (like “women in tech”), find your focus. What do you offer? What makes you different than any other group of people? How should people get involved or engaged in that? Focus on building that up the people in that group in the ways they need to be built up and supported.
If you’re more of a niche community (like followers of a specific Twitch stream), what is your niche? Who are the audience or members? What are you offering them? Take those ideas and try to stay with that realm. Don’t try to be too much. I know it feels nice to want to try to provide that, but I’ve seen a lot of niche communities with a ton of channels and so few of them have any conversations in them. Or channels that just really don’t belong. Delete the extra things and be good at your niche. Let people get the other things from other groups.
The larger your community is, the more people will be lost when joining. You should have some form of onboarding at that point. A new employer will guide you on how to fill out HR paperwork, set up a computer, and tell you how your projects work. So your community should have some way (process or people) to help explain the rules, tell about the culture, and point them to the right places to do things and how to be involved. (This is something I see most communities need help with.)
If you insist on lots of channels on Discord, then make very liberal use of role-based channels. Use the variety of bots out there for people to add themselves to roles to unlock channels. Allow people to opt-in to the ones they want based on games they play, discussions they want to have, happy/sad/serious/etc. conversations, and whatever else. It benefits everyone, not just the person opting in as people can tell who wants to be there by looking in the member list.
Finally, a community is about the people involved. While it might be focused around some topic, trait, person, or thing, it really doesn’t work unless it focuses on the people that are there. I’ve seen communities regularly focus on discovering what people need/want and aim to provide that, but also some communities that never do this (like leaders usually doing whatever they want for example) that the community just doesn’t really work. And that just ruins the community.
A plethora of communities aren’t bad, but a plethora of communities that have too many random notifications, too many channels that aren’t necessary, no engagement, and/or no focus are a cause for burnout.
I’ve hit community burnout, and it’s time for me to start figuring out what communities I need to leave so I can be a valued member of any of them.
]]>I’ve tried to do a year-end retrospective for the past several years. Sometimes I pull it off (2015, 2018) and sometimes I don’t (2016, 2019). I started to write a reflection and goals for 2019/2020 last year and wrote some of it on and off. By the time I got about halfway done, the Coronavirus pandemic hit in March and I basically lost the motivation.
It’s been a weird year. While most people would say the year collectively sucked (and I’d 100% agree), it doesn’t mean there weren’t good things that happened in the year too. To make it all the more weird, some things are good and terrible mixed together.
My past reflections have been deep dives into the year. This year I don’t really want to. There’s too much to process and too many weird nuances to all of it. Instead, I want to summarize some thoughts I’ve had this past year.
So here we go…
*Hemoglobin A1C is a blood test that determines the average blood glucose levels. Under 5.7% is normal, 5.7% to 6.4% is prediabetic, and 6.5% and higher is considered diabetic. Type 1 diabetics like myself are suggested to keep it under 7%.
This year had some very mixed good with bad things. I couldn’t see most of my friends or go to any of my activities. As an ambivert (a split introvert and extrovert), it’s a weird situation. Some days I was perfectly fine stuck at home, and other days I had massive cases of cabin fever. What was sold as “maybe a few weeks” became 9 months of trying to stay at home as much as possible. I gave myself permission to go out for bicycling as much as I wanted to (which did include with some friends, and we went to the trails separately). I had two COVID scares when a friend came over (one in March, one in November, both were already in my “pod”) then tested positive a few days later. Thankfully, I appear to never have caught it, and as of July officially showed no antibodies. I did move in with a roommate in October. She’s a friend of a mutual friend, and it’s been nice having another human around.
I also saw, along with the rest of the world, massive uprisings from the movements for Black Lives Matter. I have known about the movement for several years, and known there was inherently still racism mixed in with our society, I tried to listen to stories, watch the videos (as gruesome as they were), read up on more issues, and even went to my first bike protest. (There’s something amazing about an estimated 900 bicyclists taking to the streets causing chaos by doing nothing other than biking together in a massive group!) I have typically tried to stay away from politics on social media because I haven’t wanted the trolls and negative attention, and have generally wanted to be an uplifting presence there. But in June and July, I just went quiet. I posted nothing new. I only retweeted things from people of color and about those issues. I added “#BlackLivesMatter” to my profiles and don’t intend to take them off. And even though the movements have quieted down, I still am listening. I am still wanting to share stories. I am still trying to find more things I can do to support my friends of color and the people in my city. I am still donating money to causes to fight inequality and help those treated unfairly by the systemic issues of our society. I also want to continue to boost the stories of marginalized people and be a good ally. For all the horror that has happened to even cause these movements, I hope that the fact they’re very publicly visible and the world is very aware of them now helps cause major change.
Finally, the other major thing I think has come out of 2020 has been a stronger perception of the tech industry and its continuing effect on people and society. While I still like working in this industry, I am growing more and more aware of how much the industry can actually make society worse and dramatically affect people’s lives, often not for the better. I’m reminded of how enlightened I felt after taking my ethics class in college, only now I’m disheartened at how easy tech makes it for a few people to profit off of exploiting other people.
Between the global pandemic, systemic racism, and the rise of unethical technology, there’s not a lot one single person can do. However, I do hope that for what privileges I do have, I can always use them to have the greatest impact of good on the world. I learned a lot about these issues in the past several years, but learned even more about how bad they are in the past year and what I can do to help. I want to make 2021 a year I can continue to learn, grow, and improve as an ally, as well as continue to do what I can to try to at least my little corner of the world a better place.
I lost my regular job back in early 2019. While I did a lot of short-term contracts, I still looked for a full time job. The pandemic definitely made the struggle a bit worse, but in May 2020 I did find a job and started on June 1.
The interesting part of this particular job is that I’m one of the first two people hired to form a new engineering department. They had always used outside contractors and so the other engineer and myself formed a new team within a new department. We had so many conversations I’ve never had before about like thinking through software methodologies the team will use, what are our best practice standards, and what do we want our culture to be like? It’s pretty amazing to be in on these conversations from the start. We did hire a third person too. There are definitely other downsides, like transitioning from contractors to employees working on code bases has been a bit rocky. It’s definitely a lot of the challenge I had been looking for in an engineering job, and I feel incredibly lucky to work with the manager and teammates I do.
This is the first year that I have also seriously started considering pivots to my career. I’ve always loved being a developer and dealing with code and designing solutions, but after struggling to find a job, I did ponder other directions. Would I have an interest in being (and even be ready to be) a manager or team lead? Would I (or should I) go back and get a masters in computer science? For these questions and more, I pondered a lot but don’t know that I have solid answers yet. I guess we’ll see where 2021 leads me.
I spoke at CodeMash in January, but told myself after that I didn’t want to apply to any more CFPs except my top five conferences, and I would also consider invites. It was mostly after feeling like public speaking and travel has been a part of my life for several years, but I didn’t really feel like it was benefiting me much anymore. Then the pandemic happened, which cancelled the invited places I was going to speak at and cancelled all the top 5 events I would have applied to. It sort of made that a bit easier. I ended up submitting to a local tech event in August, then was asked to submit something in October for a new event ran by a friend. I did end up speaking at a few events, but the lack of travel and the shift of not doing many events actually was a nice change that I appreciated. Even if 2021 opens up, I will probably limit my CFP applying to just my top favorites and possible invites.
After a massive burnout with organizing Abstractions conference, I reluctantly joined the Heartifacts conference team as an organizer. I helped run the CFP again and I think helped bring in numerous wonderful topics and speakers. The pandemic closed the world about the same time the CFP closed, which caused the organizing team a massive headache in trying to figure out how to pivot the conference. It wasn’t perfect (both in general and as a virtual event), it is an event I am generally proud of. It also helps that I got to emcee it again (though virtually this time) and helped frame the event in a way to focus on the important mental health and community topics we had.
I hit my heaviest weight ever in June 2019, just before heading to speak at a conference in Oslo, Norway. While I don’t want to obsess over certain numbers being “good” or “bad” as health is a very relative thing, I do want to say that I felt the worse I have ever felt. I came back from Oslo having lost 5 pounds from so much walking and moving and tourism! I decided to try to focus on continuing to lose weight and improve my health.
Over the course of 2019 and 2020, I tried to shift to eating differently as well as doing some exercising. I had been a regular on-again-off-again bicyclist, it wasn’t too hard to pick it back up. I got a new bicycle after moving to Pittsburgh, and this year I pedaled over 272 miles! This combined with a better diet helped me lose 25 pounds, getting me back to a weight before I moved to Pittsburgh. While winter is always harder to get out on the bike, I’m hoping to keep the momentum up to help me continue to feel better, lose more weight, and go even further distances on the bicycle!
I had been building Code Thesaurus in my mind for about five years now. I did the initial site in PHP and Laravel and committed the first part for Hacktoberfest 2017. I made more small changes for Hacktoberfest 2018. For 2019, I probably made the biggest jump where the thing quit being just a sample layout to a working sample layout, what I call its “functional prototype”. Finally this year I actually made the biggest jump: I rewrote the whole thing from PHP and Laravel to Python and Django. I told the world about my idea in September, and marked the repository as accepting outside help for Hacktoberfest. I finally had a minimal version that was usable and merged my developer branch into production in mid-October! While the site progress has been slower since then for a few reasons, I have been working on it on and off again even when Hacktoberfest hasn’t been happening.
So far, the positive reviews are great! People love the idea and want to use it. It needs a lot more data added to it, and I hope to finish designing out pieces of it that allow more data to be added to it. I built it to be easy for people to contribute to it, no matter what programming language(s) they know, whatever their experience levels are, and whatever their open source experience may be. It’s not perfect, but I’m pretty proud of how it’s come along, how it’s been built so far, and I look forward to being able to keep implementing all of the ideas in my head for it and build the tool I’ve always wanted!
This leads into how I built it this year. Last year I met Sophie Déziel at !!con, another software engineer that has live streamed her hardware and software builds on Twitch for a while. She encouraged me to try to also start live streaming my hardware and software builds. I also have known about Suz Hinton who has a pretty strong presence doing development on Twitch as well. She’s written several blog posts about streaming and her setup, but I really liked her “Lessons from my first year of live coding on Twitch.” Then this year I met ChaelCodes, another software engineer who has been regularly streaming open source work too. She gave me the push to not just stream but even announce Code Thesaurus early (something I was extremely reluctant to do). Since mid-September, I’ve averaged about 5-7 hours a week streaming my open source work and the occasional video game. I stopped in December due to a work project sucking up all my time and energy, but I do hope to figure out a better schedule and start streaming again in 2021!
Aside from speaking less, I had a few other goals:
These were lofty goals, and I didn’t accomplish them. I did make significant gains to completing them. I have managed to find many open source (and non-privacy invading) apps and delete some old ones, delete my Amazon and Microsoft accounts, migrate all data off of Google (except Google Voice), and delete about 70% of my old email aliases.
2021 will include trying to finish off these lists. I plan to blog in the future about my tech company deletion, software I replaced everything with, and steps to do it.
At the beginning of 2020, I was still hurting financially from losing the full-time job. The contracts were helping, but I was still dipping into savings. I found I definitely acknowledge how lucky and privileged I am to have not only found a job both doing something I love, but also managing to dso it in the midst of the global pandemic. Because of that, I knew as soon as I could repair a few finances, I wanted to immediately donate a lot of money where it was needed. Then I got lucky: the pandemic placed a halt on paying my federal student loans back. Combine that with a salary bump, and I had a lot of money to do good with.
In 2018-2019, I started regularly donating to non-profits for the first time. I focused a lot on organizations in Kansas City (my hometown) as well as Pittsburgh in both tech spaces and LGBTQ spaces. I shifted dramatically this year to reduce those a bit and spend a LOT more on local food banks and organizations to help incarcerated people. I am presently donating over $250 a month to organizations all over and hope to bump that up more in 2021.
From the freezing of loan payments and interest on the federal student loans, I got lucky enough to find that despite paying all bills, throwing money into a savings account and into an IRA, and paying off the credit card almost immediately, my checking account was still growing fast. I started throwing money at my car payments. I paid off my car loan! It’s the first time in my adult life I can say I paid off a loan, but also did it a year and eight months early (saving an estimated $1800)! Combining that with a lowered insurance cost, there will be more money available monthly. I can focus on donating more and paying more to student loans.
2021… I want to say it’s going to be a better year. But we also said that 2019 was the worst year and 2020 would be better. And 2018. And 2017. And 2016. And 2015.. And… well, yeah.
Like I said at the beginning, 2020 was a weird mix of some good things on top of a collectively terrible year. I have no specific goals for 2021. But I do know the general direction I want to go. I think I can summarize it like this:
~ Sarah
]]>I took June/July off & only retweeted things related to Black Lives Matter & Pride/LGBTQ issues. I’m going back to my regular posting, but I wanted to share a story first.
I grew up in Kansas City. It’s probably most famous for being that weird city in BOTH Kansas & Missouri. There’s another interesting trait about it. The Missouri River cuts through KC too. Growing up I heard about “North of the River” (where I grew up) and “South of the River.” I often heard about how South of the River was bad. Lots of crime. Drive-by shootings. etc.
As an adult, I ended up moving South of the River in KC. Turns out it’s kind of a cool place to be! Lots of artsy things, diversity, and cool people. And sure, there’s crime (I mean, there was North too) but it wasn’t anything like I was given the impression. I had basically grown up in KC with the impression that certain areas of the city were “bad” because they had people of color, more “urban” neighborhoods, and other things. I was taught not to cross certain streets. It’s all inherently based in racism and red-lining.
While I learned over time about these bad thoughts I grew up with, it took years to mentally rewire my brain. I’m extremely glad I moved, and in fact wanted to stay there before I moved to Pittsburgh. But I think it helped me grow as a person and I’m better because of it.
I think I realized moving South of the River in KC helped show me the many ways the city was set up to be worse for people of color. I saw how different parts of the city got less funding and got less care, but also how people struggled to leave due to costs of leaving.
This leads me to my main point of this thread:
Black Lives Matter and Pride aren’t events, they’re conversations. They aren’t a one-time thing but they will continue on. They’re movements, they’re calls to action. And that action can’t stop yet.
People right now are needlessly dying. Black, brown, & other people of color are dying from police and inconvenienced white people. LGBTQ people are still dying for who they love and are. US federal & state governments are killing many underprivileged people by COVID mismanagement.
We’re hearing less about protests, more talks of police reform in some places, and some COVID numbers are going down. The focus on these things can’t stop. The momentum has to keep going. We (especially white people, especially privileged people) can’t just ignore this.
What can we do from here? Good question! I think there are several things, but I want to make a quick point:
“Privilege” is thrown around a lot, but it’s not a bad thing on its own. It can be used for good or for bad. Key is to recognize it and see how it affects others. Privilege isn’t a thing you have or a thing you don’t. It’s a scale. For example, I’m white (which gives some to me) but I also spent most of my adult life in poverty income (which takes some away).
Overall, it basically means what issues hold you back from success?
The more privilege you have, the better off you are, ensuring your safety, comfort, finances, & stability. The more you have, the more likely you don’t realize you have it, & why awareness is key. It’s why some say the system is against them when it’s not against others.
So back to what can we do… there’s several things!
Stop what you’re doing and listen. Listen to black/brown/people of color, LGBTQ people, the less financially fortunate, & others with less privilege. Their stories are important. Don’t try to solve them, just listen. Listen to the pain, sadness, frustration, & anger of Black people & how they can’t beat the system. It’s rarely their fault, our systems are set up against them. Don’t just hear, but truly listen. It’s important. We all need to understand where they’re coming from.
Start following a diverse set of people on social media. People tend to associate with people like them (myself included), but you can fix that. I’m working on it too. But make sure your feed is filled with lots of ideas, opinions, and voices. It’s good for you!
If you are able, join some protests. It’s a hard time to do them with COVID, but if you’re healthy, can stay distant, & wear masks, they’re great ways to help amplify voices & bring awareness to injustices in our government/laws. Big groups boost voices of people who need it!
Donate! Send some extra money to non-profit organizations doing good work in your community. Every major city (and some smaller too) have groups doing good work. Do some research, ask around. If you can’t find any, consider NAACP, ACLU, Black Lives Matter, or others. If you’re in the tech industry like me, good chance you’re easily in the top 10-15% of US incomes. Help some good organizations help other people out! Even if you’re not in tech, simple $5-20 donations help a lot too!
Better yet, set up recurring donations. While something like $50 can help an org out, a monthly donation of $5 goes a lot further. Regular donations show your commitment to supporting them & helps ensure their financial stability over time. It has a longer impact.
Can’t do protests or donate money? It’s ok, donate time! Ask any non-profit & that’s another thing they’re likely lacking. Find out how you can help them teach kids in underprivileged neighborhoods, provide services to those who need it, or distributing food. Or more!
If you have a smart phone (which >80% of the country does), keep your phone charged and ready when you go out. If you’re somewhere and the police show up, get your device out and start recording. It may not end badly, but better safe than sorry. If it is bad, post it. Capturing bad police actions is one of the most important things that’s bringing awareness to the injustice that’s happening in our country and the world. Posting it gives it that awareness. Consider also sending to organizationss or lawyers, or tagging your lawmakers.
Consider discontinuing businesses that put underprivileged people at risk in the pandemic. Amazon, Instacart, GrubHub, Uber, and others operate on the idea that they reduce customer costs by exploiting cheap labor. A pandemic is NOT the time for this! However… There are people at high risk, esp the elderly, disabled, or people w/ chronic health issues. They SHOULD use these, and if you’re a low risk, let these services be in use for those people that need them most. It’s convenient for you, but necessary for them.
Finally, go find out your voting status. Check your city/county/state websites and see if you’re registered. If not, go register. If you are, find out how to vote absentee or with mail-in ballots. All states have this. Find out how to do it to keep the polls reduced. Our elections coming up are some of the most important. Our governments on every level are FILLED with people doing stuff with their own interests and don’t care about representing you. Get people into the offices that DO represent you! How? Well… Go to ballotpedia.org to learn what you’re voting on and read about your candidates. Write down who you support. Take that to the polls, or keep it for your absentee/mail-in ballot. There’s a lot of positions you haven’t heard of, but they’re important!
To put my money where my mouth is:
If you made it this far, thanks! This needs to be a conversation. I want to keep learning. I want to hear the voices of the oppressed and do what I can to help boost them. I sincerely hope you do too. These conversations might be uncomfortable, but they’re vitally important.
And finally, remember…
People are needlessly dying, but:
And we need to take care of our fellow humans.
The following is a direct copy from a Twitter thread and Facebook post I posted, both on August 4, 2020. There might be slightly typographic inconsistencies due to the formats of posting on Twitter and Facebook.
]]>I used to HATE kids. I had NO intention of ever being a parent. Kids are annoying and gross and noisy and so much work and… ugh! They did NOT appeal to me at ALL!
But then… something happened. Somehow that motherly instinct switch flipped on. And all of a sudden… kids are cute. And adorable. And sure, occasionally gross, but… I don’t know. I wanted one. I wanted to be a mom someday.
But becoming a mother is… difficult. And to explain why, I have to fill you in on some background story.
For most of my life I’ve been confused. Depressed. Things just didn’t make a lot of sense. After many years of thought and discovery, I learned that I am transgender. You’ve probably heard the term a lot in the news lately. The basic nutshell is that for most people, the gender that they feel they are in their mind matches up with the sex of their body. For me it doesn’t. I very much have the mind of a woman. And my body? Well, it doesn’t quite match. But in 2007, at the age of 24, I started the process of taking hormones to start to fix things.
Does anyone out there remember puberty? That awkward time of your life when it felt like everything about your body changed? I had one when I was a young teen. I then got to do it again at 24. I call it “Puberty 2.0.” The confusion and depression started to lift out of my mind, and I started to actually like life, and even started liking myself. My body started changing, and all the weird pains and sensitivity that came with it. But overall life was getting better for me, and I was becoming happy with it.
Then, about 6 months in… IT happened. I was out somewhere and I heard a kid cry. And I looked over. And I felt sad for the kid. I wondered what was wrong. I wanted to hold it. I wanted to comfort it.
Oh crap. I grew a motherly instinct. Now, not only do I want children, but I’ve had several people tell me I’m wonderful around children too. Something changed in me, and perhaps that’s not a bad thing.
But I couldn’t help but wonder that if I did have children, would they end up screwed up like me? Would they end up depressed or suicidal like I was? Would they be as confused about their gender as I was? I didn’t want to subject any child to any of those tortures, so that helped aid in my decision to not ever have children. But maybe adopting would be fine. Maybe taking on a kid without my genetics would be better. They could have a good home, I could still be that family that they need.
To add more complication to the story, my parents disowned me about 9 years ago. They didn’t agree with my “lifestyle change,” as some would call it. To anyone that has known me for a while though they can see a world of difference in my old self and current self. Still, it is a bit of a shame that my parents have decided that instead of having a happier (but slightly less “normal”) child, they would rather just have nothing to do with me. But this has made me wonder: if I adopt children, what would they ultimately think? I shouldn’t keep this information from them, no matter how successful my life is as a woman. But would they want to disown me? Would they freak out upon hearing this? Would they be angry at me? Would their thoughts of me change so that they couldn’t ever see me as a woman (or their mother) again?
Even more difficult is probably my own struggles. It took well over 10 years for me to finally admit that I’m a woman. Will I struggle to actually call myself a mother? Is someone without a female body allowed to call themselves that? Will I ever be able to be in a relationship with a wonderful man that would not only love me for me (despite my anatomical flaws) but also be willing to adopt a child, or would I have to be a single mom on my own?
The concept of a family is a bit confusing in my mind due to my past with my parents. But the more time goes on, the more I learn about myself, the more I become comfortable in my body, the idea of being a mother feels more right. It’s not the right time to have a kid right now. But maybe in a couple more years, I can adopt a child. And maybe that child will love that they will have a mom that cares that they exist. And maybe they can appreciate that I will love them as they are, and no matter how they turn out. And maybe they won’t be angry at me if I come out to them.
And maybe, hopefully, becoming a mother someday won’t be as difficult and confusing as I used to think it would be.
]]>-
This is the second part of a two-part post. The first part is more on how to share your career accomplishments. You may want to read it first. Part 1 is here.
For part 2 of this post, I want to actually talk about those accomplishments. I think it’s helpful for me to get out there and while it may not be as interesting or relevant for you, maybe in looking it over you can see some ways you can talk about your own accomplishments as well.
I want to spend some time looking back at my work. Like I said above, I’ve apparently had some times I’ve been terrible at talking about this in job interviews, so I wanted a list. I kind of want to use it as a thought exercise for me, but maybe also to help sell myself to anyone who might be reading this post. I don’t intend this to be literally everything I’ve worked on, but perhaps more of the highlights from different points in my career. And who knows, maybe a future employer might see this and think I really would be an awesome addition to their team.
One other thing: I have literally had job interviews where, despite all of my developer experience, have looked at me and said “Looks like you do a lot of teaching stuff. Maybe you should be a teacher and not a developer.” I’ve found it puts me in an incredibly awkward place to have to defend why I am applying for a developer job and these people don’t even see me in that light. I’m not sure if that’s, again, me not “selling myself” well or if that’s me not writing out my resume well enough, or just things like conferences are more visible than projects I’ve worked on (which are usually NDAs or not publicly available). So I hope this post helps with that as well.
This team was created to replace a $1M/year third-party product with an in-house solution. The third-party product was expensive, a pain to set up, didn’t scale well, and the company only used about 10% of it. Ours was built for this specific solution, scaled with the click of a few buttons, and cost closer to $1000/month (a VAST savings).
What did I Do?
I really liked this project not because it was particularly complex or really cool, but because of the creative solutions that came out of it.
Our five-person team was all hired at the same time. We were on a three month internal project which helped us learn the security protocols for software at the bank. The project was sold to us as “make this Excel spreadsheet into a web app”. Once we dived in deep, we realized this was a quirky problem with some hidden issues. The spreadsheet had a dozen tabs, data from several years, a constantly evolving report, and a dozen users that all added data to it. Our basic web app turned into a quirky data project that required data auditing, a report-designing system, hierarchies of management, and redefining terminology the department used. (For more fun, we were told another team tried to tackle this in the past and couldn’t do it.)
What did I Do?
I interned with a electronic document management company that loved me so much they brought me back the next summer. I was on different teams each time.
What did I Do?
What did I Do?
While I have a wide breadth of other accomplishments (like conference speaking, being on different board of directors, and some awards), I wanted to focus this post specifically on coding, software design, and technological solutions I have implemented.
This part of the post took a really long time to write. And rightfully so: I’ve done a lot in my career so far. I think I have done a lot of good, creative work. I’m hoping that while it may not have been directly useful to you to look at this post, maybe you have picked up on some good vibes you can use to help write or speak about your own accomplishments.
I’d love to hear if anything about these posts resonated with you. Feel free to reach out!
~ Sarah
P.S. I realize there’s some gray area on showing design documents from projects I’ve worked on. I’ve decided these were likely ok to share because:
* This is the diagram for a project that was killed off and is no longer real.
** This diagram described some of the object and data mappings as of 2015. It has likely evolved since then and was for an internal project that never saw the outside world.
*** These would have been accurate as of 2016 and have likely evolved since then. Also it’s for a tiny subset of what that thing did that it doesn’t really make sense outside the context of that one small subsystem.
]]>In my last post, I talked about my last round of job hunting. More specifically, I mention one of the pieces of feedback was on how I come off as a bit more of an “individual contributor” (someone who just takes tasks and does them) as opposed to someone who actually designs or engineers solutions (someone who takes a vague thing and maps how it will work, breaks it apart into smaller tasks, then can work on some of those).
After some thought, I realized this is because over time I’ve learned to give credit to those on my team for some of the things we’ve worked on. I think it feels better to have a team take credit (well, and take on the failures) of all aspects of a project. While this is important and I think every team should do this, it sucks for a technical job interviews. It doesn’t work to “sell yourself” to a future employer.
For part 1 of this post, I want to spend some time thinking through how to talk about accomplishments. What’s the right way to do it without feeling like I have an inflated ego? How do I own up to my work, even when I’ve been on teams? Why does it feel so hard to do?
As someone who now has been in dozens of conferences, podcasts, videos, websites, blogs/articles, etc., I’ve had to come to terms with tooting my own horn some. All of these things usually want a bio from me. It’s a lot easier now that I have made multiples and keep them around for things like this. In the beginning, it wasn’t easy. In fact it was just downright terrible. It just felt wrong almost to try to write about all these things. It felt like bragging.
The easiest way I found to toot my own horn? I found one rule makes it easy: Stick to the facts.
The basics are to look at things I actually accomplished factually. These things definitively are provable. They have a place, a time, a number, or just anything that is solid and concrete about them. These aren’t disputable because they’re not my opinions. I did work that job. I was on that team. I wrote that code for that project. Because I can’t dispute these, it makes it easier to say about myself.
But the basics of a bio are easy. Actually taking a team accomplishment and diving into my specific thing is a bit harder (at least mentally).
For each project/team/accomplishment, what was my one specific contribution? In some cases this is easy, like when I implemented a feature for a project that made it into production. Other times less so, like when I built a thing and learned it later got scrapped. The scrapping wasn’t my fault, and it feels weird to talk about it because it isn’t visible anymore. It’s still an accomplishment of mine though, and it’s one of the things I’m trying to keep an open mind about when writing this post.
Finally, what specifics can I back up things with? Did something I build save the team time? Did it save the company money? Did it solve a major crisis? Did it fix a security flaw? These go back to the thing about adding more facts. If the company said “We think we can save this much money by running this in production”, that’s a thing I can definitely throw in the mix.
“But Sarah,” you may say, “the impostor syndrome! I don’t really deserve that credit! I wasn’t the only one who worked on that thing!” (Or insert your favorite excuse here.) Tough cookies. Write it down anyway. Just because you weren’t the only one that worked on it didn’t mean you didn’t work on it. Keep that in mind! (And this is also where I need to take my own advice a bit more.)
Over time I think adding all these little things up helps make me sound awesome, even though individually maybe they don’t. I don’t think I’m born a level of more awesome than anyone else, I just happened to do a few cool things that, when bundled together in one narrative, have made some people say that I’m awesome. I really think anyone can probably do the same for their own interviews or bios.
I wanted to spend some time looking back at my different jobs and the work I have done. I decided to put that into a separate post. Feel free to check that out Part 2.
As I continue to interview at places, a cloud of insecurity has been starting to come over me. I’ve felt like because I haven’t secured a job yet that maybe my career has been bad or maybe I’m just not as good as other people that are at the same point in their career as I am. I think figuring out these methods (and using it to write my accomplishments in Part 2) has helped me see that I really do have a wide range of accomplishments and am good at the things I build. I hope maybe in the process of writing these two posts that I have also built up more confidence for my job interviews. Hopefully you’ve also learned a bit on how to write and talk about your accomplishments more confidently too.
I’d love to hear if anything about these posts resonated with you. Feel free to reach out!
~ Sarah
]]>Back in February, my employer let my whole team go after getting rid of the project we had been working on. It threw me back into the world of job hunting. While there some similarities to my last job hunting experience, this one just felt a bit different in many ways.
What was I looking for in my next position? Well, in a way, basically my last position. I originally joined that team (and subsequently moving to Pittsburgh) because I saw five things that really stuck out to me:
While ultimately the job didn’t work out, I came out of the job knowing what I wanted out of my next position. A strong, diverse team. A great project I felt good working on. Empathetic team members, managers, and company. Good pay and benefits.
And when companies asked me, “What kind of role do you see yourself in next?” these were a lot of the things I mentioned. (I didn’t say the pay/benefits part.)
One of the difficulties I found in the last job hunt was that I wanted to make sure I was in a role that I felt would challenge me, but also a place that I felt like I could use my skills. So an equal part being able to contribute a lot, but also being able to learn a lot (from work or from coworkers). It’s kind of why I aimed for the moon (and going for the cliché of if I missed I’d be among the stars). I interviewed at Google, Amazon, Square, Etsy, MongoDB, and more. And I made it to nearly the final round of every one. I knew I couldn’t quite do that this time.
For starters, I had just moved. I wasn’t ready to relocate before I had even lived in Pittsburgh for a year. So I was looking for remote or local work.
But as time has went on, I’ve sort of landed in this spot where I’m in a new language, a new tech stack, a new field… basically everything new. Ultimately, I see this as a skill. I’m a great problem solver, and so if you throw me into a weird situation, I’ll find a way out. The more I expose myself to different languages/frameworks/technologies, the better I think I end up after seeing all sorts of new ways to approach problems. The downside is, of course, there’s a bit more ramp-up time to get myself going. My last job appreciated this though. There would be 2-3 days after a new task was assigned to me where in standup all I could go was “Uh, I’m learning this thing.” However, time and time again I not only solved problems but felt like I conquered them. The more time goes on, the more I’m finding this is an amazing skill.
I learned to program in first grade, so one might way since it’s 2019 that I have about 30 years of experience. But obviously not all of that was paid and in a business setting. If you count work since I got out of college, then it’s only four years of experience. But I had development jobs before college too. I estimate if you added up all of those positions, I probably have 7-8 years of experience. I taught C++ in college as well for three years, so I figure having to know a language strongly enough to not only teach someone but answer all sorts of weird questions thrown at me and have examples of how to do it should count for at least one of experience on its own.
This range is a very weird thing to reflect, both in interviews and on a resume. People seem to want to calculate it differently, and the prevailing number seems to be the lowest.
But when it comes to my “seniority” as a developer, it gets even trickier. No matter which number you pick, if I haven’t
stayed in one stack/language long enough, I don’t come off as “senior” in it. Which is weird because I feel like the
“seniority” of a developer comes from experiences in problem solving, in software design, in dealing with data and
algorithms, and in dealing with other teammates, clients, and other people. The best developers are going to have this
big bundle of experiences. And I have that. But if a job is looking for someone with 6 years of .Net, that’s not me.
(Though I have 6 years of experience and have .Net experience.)
In other words, the longer I go into my career, the harder I’m finding it is to “sell myself” (as those career coaches like to say) to future employers despite the fact that all of them would probably agree that these individual skillsets are important.
Since I’ve been looking at local Pittsburgh jobs as well as others that are remote, I’ve had a wider variety of interview types than I did in the last round. This seems to include:
I’ve been tracking stats of every one of my interviews on Trello. I’ve probably done over 70 phone calls of some sort or another. I’m definitely seeing some major patterns.
For starters, one of the biggest problems I’m having lately is ghosting, or the process where the interviewer or recruiter doesn’t get back to me and no longer responds to emails or phone calls. I’d say about a third of all of my interviews end this way. (This is a TERRIBLE percentage and it’s just plain rude for me to spend so much of my own time and energy to get no response.)
Another problem I see is that I learn later there’s some sort of discrepancy in information passed back and forth. For example, they reached out but are a much lower experience or pay than I had before, or along the way they changed their mind about what they were looking for in the role and failed to tell me. This usually results in me declining to go further, or me just not matching up to the revised attributes they’re looking for. (I once had a role I applied for that, mid-interviews, changed it’s job title to a stack I don’t work in. Recruiters said “oh keep chatting with them.” Interviewers were VERY confused why I applied for a role I knew nothing about. That was fun to explain.)
There’s been some others where they turned me down. Those are sort of the ones I want to focus on mostly.
Most of my interviews don’t result in feedback, though I can kind of extrapolate a few general ideas of why they turned me down. Though there’s a few that do offer feedback, and they usually leave me quite annoyed, but not for the perhaps obvious reasons.
First, some of them seem to interchange “experience” and “knowledge” with each other. While I won’t dispute that having a good amount of knowledge (what I like to call “computer science trivia”, or the things I would have learned from a class in college) is important, I feel like the more “senior” a level is that I apply for, the more they assume that means I should remember more of these types of things. Obviously the further I get from college, the more I tend not to remember things from my classes because most of them don’t apply on a daily basis. And I don’t think memorizing as many terms as I can and knowing what acronyms stand for really equates to showing off my skills as a great problem solver.
Second, I’ve started to get some feedback where people see me as more an “individual contributor” than a “team leader” type thing (which some degree of leadership is something you generally want as a senior developer). I’m learning though it’s coming from something I wasn’t expecting: I’m too kind. I’ve learned that, as a team, it’s often a variety of people involved in pulling off things and I want to give everyone credit where it’s due. However, this becomes a problem in an interview when you have to talk about things you did. So I tend to start off talking about the project my team works on as a whole then try to dive into things I worked on, but I guess I’m doing it in such a way that it’s not reflecting my contributions well. (Fun fact: I had a director-level person just tell me that it’s funny because their teams work on so many things in pairs that they have trouble self-describing what they work on individually, so it’s weird they counted this against me.)
Finally, one of the things I’ve learned is that I really suck at the 9am-5pm job schedule. Partly because I just don’t do mornings well and even if I do get to an office on time, it takes me a bit to get fully going, but I’ve found I just don’t work well in one continuous block of time. Some of my best work is done in multiple, small bursts. Heck, I even solved a tremendous bug from about 11pm-2am once to get it done in time for a large scale deploy the next day that I knew was going to fail miserably. (I pushed the bug and emailed my team to say “this should solve all the problems for tomorrow’s deploy. I am sleeping in late and will see you after 11am.”, then went to bed. The deploy went flawlessly because of this. I was basically applauded by my manager in the company Slack for doing this.) But I’m finding I have to tread cautiously as I ask about core hours or scheduling, and many local and smaller companies have very strict hours or core hours (usually 9am-3pm) and there’s a tiny flexible window. But that window isn’t usually flexible to how I work best, and I’m usually not certain how to proceed (though often one of the other reasons for rejection happen).
(I do wonder sometimes if gender has a role to play as well, as studies show that men tend to just find other men more competent than women by default, and so I guess I have the bias game to fight against as well.)
Good question. I’m not sure.
I have a temporary freelance project. It will last about a month. After it’s over though, I’ll be connected with a freelancing network in the area that seems to get projects quite regularly, and I might be able to just start picking those up. And honestly, at this point freelancing might seem to be the way to go. I’ll be thrown into random projects, in random tech stacks, and can use those problem solving skills to not only figure out solutions, but use my experiences to help design some software solutions. And with flexible hours, I can more or less work whenever my brain feels like taking on work. While I always hated the idea of finding my own work and dealing with client billing and such, the pros might outweigh the cons at this point.
I’ve pondered also if I should try to go back to school to get a Master’s degree. If I could go learn about robotics, or machine learning, or natural language processing, or something that seems interesting and up my alley, maybe it would give me that specialty that I keep hearing that I need and allow me to enter a challenging field I could succeed in.
It also makes me wonder if it’s time for me to do some hard core research and resource gathering on effective interviewing and team building strategies and start writing up some guides on how to do effective interviewing. I keep seeing things like “oh you know, tech people don’t know how to interview.” Why the heck not? There’s research out there. I’ve seen talks on it. If you care about hiring the right candidate, spend some time not just interviewing but making sure you’re interviewing correctly, and you’re judging your candidates in the right way possible.
But maybe in the mean time, I keep reflecting on my interview skills and try to document what I’m doing and take time to focus on building up other strategies for “selling myself.” Clearly my skills and experiences aren’t showing, and while I know the process of interviewing is terrible, maybe I need to take time to learn how to bend the rules to play the game a bit better.
I’d be happy to hear your thoughts and discuss this (though constructive feedback only). Let me know what you think!
~ Sarah
Photo credits: