Looking back on Software Development in 2020 and forward to 2021
I think we can all agree 2020 sucked. Hopefully 2021 will be better.
I've been a remote worker for 13 years by choice but in 2020 I HAD TO DO IT because, well, most programmers and tech workers did. I wrote about how Remote work != Quarantine Work while our whole division and then the whole company moved back home! We were a fairly remote-friendly company before but I have to admit I didn't always think my coworkers had really deep empathy for the remote...until they, too, were forced to be remote.
Last week on the podcast, I got to speak with Amanda Silver. She's a CVP in the Microsoft Developer Division who has been coding and thinking deeply about coding for many years. She's leading the creation of tools like Visual Studio, Visual Code, Live Share, Code Spaces, IntelliCode, and other collaborative productivity products. She's always thinking about what coding will look like in 1, 5, and even 10+ years.
We talked about her thoughts on moving the division remote and whether it would slow us down. Would it change how we develop software? What about when everyone comes back? After talking to her about her thoughts on 2020 and where she thinks we're heading, I got to thinking myself and wanted to put those thoughts down.
2020 broke everything, and developers like to fix things
When there's a problem - especially a scary or untenable one - developers run towards the challenge. Necessity breeds invention and 2020 was definitely a year where we were collectively reminded there was a bunch of stuff that was always possible, but we needed a push. Cameras and mics were upgraded, ring lights were purchased, home networks got fancier, and everyone who could called their ISP and got an upgraded plan. We could have done all this before, but why? Remote work happened for the first time in 2020, and I say that having worked remotely forever.
We HAVE to collaborate remotely now
Back in 2010 I spoke to PhDs at Microsoft Research about how people feel when they are remote and what they can do to be more connected. Ten years! Folks thought it was pretty "out there" but I sure needed my virtual cubicle buddy this year.
2020 accelerated what was possible with remote collaboration. I spent hours coding with Live Share, pushing text and coding context over the wire, not a ridiculous 4k worth of pixels. Having two cursors (mine and my friends) - or even 10! - in one Visual Studio seemed like magic. Even more magic is me pressing F5 and my coworker hitting their localhost and seeing our app running! We needed tech like this more than ever in 2020.
I heard one story where a company sent everyone home but folks had disparate desktops and laptops so they set up 100s of Virtual Desktops over a weekend so everyone was able to log into secure work systems from their home machines.
For us, since we use Github and Azure DevOps here in DeviDiv, our collaboration model is asynchronous and distributed whether we are in the office or not. Can you imagine everyone working remotely while using a locking source control system in 2020? I feel bad for those who are in that predicament.
Can something be BETTER remotely?
Many of us miss being in the same room with co-workers, and we will be together again one day, but are there some things that the constraint of being remote can make better? In the podcast episode Amanda said that our new hire bootcamp was so much better remotely!
She said (paraphrasing a bit):
We have a bootcamp for anybody who's newly started on the team. They actually fly out for two weeks. And the first week is introduction and the second week is our customer driven workshop. And our customer driven workshop is basically this really intense team project where you break up into groups of five to six people, and you're given a business assignment like - how could we double the number of Python developers using Visual Studio Code.
You're basically doing like stickies on the wall the entire week - that's how you collaborate. I've been so amazed that that has transitioned to be remote first. And it's better. It's better. That was a brainstorming process that I thought was only possible in person it's better.
When we moved remote, we had to essentially reboot the way that we thought about our meeting culture to actually make it much more inclusive. And if we go from 40 to 50% of the people participating to just 2 people participating, that's a huge, not only degradation, but you're wasting people's time. Right?
Now if we can actually take six people who've never met each other before and get them to work super collaboratively on a new problem area that they've never worked on before. It's incredible. And the thing that's also really awesome about it is they are forced by nature of the fact that this is remote to actually create it as digital content. Whereas in the beginning they would literally walk us through sticky notes on the wall and they had fantastic ideas, but it was really kind of somewhat unorganized and, and it was hard to be able to see and, and retain and share out afterwards what these incredible ideas were that they came up with.
But when remotely starts with this digital format by necessity because everyone is remote first, we actually now have all of these things archived. We can come back to them, we can go back and actually see, you know, what was the genesis of the thought and, and pursue a lot of these things that we really weren't being able to pursue previously.
Constraints breed innovation!
It was nice to be reminded that People are People
2020 normalized being a person. Having a boss welcome a sad child to sit with them during a meeting reminded me that, what, my boss is a person? With a life and kids? Having meetings while going for walks, talking about treadmill desks, and video called parties with family, and OMG when will this be over is the most horrible team building exercise ever.
It's forced us to rethink our group's culture, how our interpersonal dynamics work, how many meetings we have (let's have less), and it's given everyone the joy of somewhat flexible hours. We talk more now about 'is everyone in this meeting being heard?' than ever before. We use the "hand raising" tool in Teams to make sure all voices get a chance to speak.
If 2020 hadn’t happened, we may not have made these important leaps forward. MAYBE this would have happened by 2025 or 2030 but COVID was the pivot point that forced the issue.
Here's some other blog posts that are both reflecting on our last year and hopeful for the coming year:
- Software Development in 2021 and Beyond by Amanda Silver
- 4 Open Source Lessons for 2021 by Sarah Novotny
- Low-code Trends: Why Low-Code Will Be Big In Your 2021 Tech Strategy by Dona Sarkar
- PODCAST: Living through 2020 as a Remote Developer
Sponsor: Looking for free secure coding training but don’t know where to turn? Check out Veracode Security Labs Community Edition to start hacking and patching real apps online. Try it today.