The Stack Overflow Podcast

What's the average tenure of a software developer at a big tech company?

Episode Summary

Ceora, Matt, and Ben chat about the global impact UX decisions, like a chronological timeline, can have on users and society. Plus, the team explores the average tenure of a Google Employee, the continuing churn among developers as demand for talent stays high, and what it means now that ride-sharing apps, which once promised to undo the taxi industry, are finding ways to partner with traditional cab companies.

Episode Notes

Average tenure at Google has been reported at 1.1 years,  which stands in contrast to a broader average of 4.2 years for software developers across the board.

Tech jobs at many so called titans and disrupters last less than two years, according to research from Dice.

Uber is forging an unlikely alliance with two taxi tech firms.

The ultimate chron job - ensuring users can access a chronological feed on their favorite social media without sacrificing your recommendation algorithm's potency or data. 

Our lifeboat badge of the week goes to alkber, who explained how to convert seconds to minutes, hours and days in Java

Episode Transcription

Matt Kiernander What do you guys think an average tenure of a Google employee is? Do you have any idea? 

Ben Popper I'm going to say six months. 

Ceora Ford I'll say ten months.

MK Wow. Okay, you guys really just poo-pooed on my reveal there. 1.1 years for a Google employee. Historically, a lot of those FANG companies, those are where you want to be. So for people who reach that kind of pinnacle of what software development is, 1.1 years is not a long time.

[intro music plays]

BP Accusoft is a software development company specializing in document processing, conversion, and automation solutions. From out of the box and configurable applications to APIs and SDKs, Accusoft helps developers solve their document workflow challenges while saving hours of development time. Learn more at Accusoft.com.

BP Hello, everybody. Welcome to the Stack Overflow Podcast. I am your host, Ben Popper, the Director of Content here at Stack Overflow. And I am joined today, as I often am, by my wonderful co-hosts Matt and Ceora. Ceora, how you doing today? 

CF I'm okay! How are you? 

BP I'm pretty good. We're having webcam issues but honestly, who doesn't. Matt, you are in the process of selling all your stuff so you can move from New Zealand to Canada and be closer to all of us at Stack Overflow. Hurray! 

MK Hurray! 

BP Y'all if you're listening and you need a desk in the New Zealand area, that's quite a large area, check out Matt's. What are you selling your stuff on? 

MK Trade Me and Marketplace, although then that's definitely giving away my super secret identity, so maybe just Trade Me. Just check out Trade Me, search for a computer and a Subaru Legacy. 

BP Alright y'all, we got some interesting news this week that I wanted to get to. First of all, something near and dear to all of our hearts. Instagram has relaunched with the chronological timeline. This is one of those things that to me, it's like a superpower that software developers have, or maybe more like UX engineers. But the amount of change, the amount of energy, the amount of emotion that will flow out from this decision is so enormous, like the ripple effect on the world. And they're like, "You know, we need to bring back the chron view." It's just like no one team should have all that power, but do the two of you enjoy or not enjoy chronological? I personally am old-school. When I joined Facebook there was no newsfeed and I have always loved chron view. I'm big into chron. I look at Instagram on the desktop, so let's just leave it there.

CF Yeah. I know that Twitter has a similar thing where for a while the default was that, especially now, if you sign up for a Twitter account now, the default is going to be non-chronological. So like, whatever is the most relevant, I guess you could say. 

BP It's like a mix, yeah. Trending, algorithmic, for you, a bunch of that stuff. 

CF And they include topics now as well, like topics that you may be interested in will just pop up on your timeline. I find that to be a little annoying, especially probably for people who use Instagram to keep up with family members and stuff like that. You want to see things as they happen instead of letting an algorithm decide what's relevant for you. So I prefer chronological order, but you know, everyone's different. 

MK I'm a fan of the chronological view and I kind of like how Instagram have done it in this case. So they've basically given you I think two or three types of timelines. You've got the Hero timeline, which is the one using the algorithm. Then you've got another timeline, which is kind of like your customized one. So you can add in accounts that you follow and you want to see as part of that chronological flow. It's not set as the default, which I found interesting. And it came from like a legislative perspective, where they were worried about algorithms reinforcing echo chambers, and filter bubbles reinforcing certain worldviews and all this kind of stuff. So I thought this was kind of like, "You know what? It's been a tough year. We'll give the users something they want, which is a chronological feed." It turns out it's a little bit deeper than this. 

CF I haven't heard too many complaints about TikTok though, but I do wonder if it still creates that echo chamber, just because I've heard a lot of people say that their TikTok feed, their For You Page is so tailored to them. Sometimes it reaches the exact target audience and not anyone outside of that, which can be a good and bad thing at the same time. So I do wonder if they'll ever factor that into how they structure the app there, too. 

BP I mean, China's a unique sort of bubble into itself in the way that the citizens consume technology and the relationship between the government and the technology companies. But it's really interesting, I also think of TikTok as the least toxic. I know it can be dangerous for some people, I'm not saying it's not. But for me, in my experience, it's always like funny songs, dance moves, goofs, memes. It's more like Vine like we discussed. I'm sure you could go down a dark rabbit hole, but that's not what it is for me. But in China now, they have laws and regulations that are attempting to limit the amount of time that kids and others play video games or use social media. So it's like the government is doing the parents' job of like one hour a night on Friday, that's it. TikTok probably has more oversight at that level and so maybe they build with that in mind. 

MK I agree. I think TikTok, as far as an entertainment application, is head and shoulders above what Instagram offers. You can pop on there much like YouTube and you're just consuming. Half an hour will fly by so quick with TikTok and I find it interesting that it's a Chinese company that has created this incredibly addictive, consumer-based application, but then they're also doing all these other things like as Ben said, like limiting how often children will play video games in a week or watch entertainment. There's a dichotomy there that I find quite interesting.

BP The rules are like no video games during the week, and one hour a day, Friday, Saturday, Sunday. Which is wow, that's serious. I guess one other thing that's funny to me, Ceora, I don't know if you do this, but I don't have the TikTok app. I'm not sure why I don't, but I just don't. But I voraciously consume it second-tier through Instagram Reels and YouTube Shorts. I see lots of TikToks, they're just recycled onto another platform. At the same time that China imposed these rules on video games, they also made it more difficult for teens to follow and adore celebrities, AKA K-pop type stars. So they understand what the kids are about. 

CF I think that was an incredibly smart move, personally. 

BP Oh yeah? Wow, interesting. You're with the sensors on this one? I wouldn't see that coming. 

CF I am, I am. When I say that I've seen people be really horrible, I'm talking about on the K-pop side of the internet. People are so quick to wish literal death on people over K-pop. And it's because of the way that the K-pop artists and their music is marketed. It makes you feel very attached to the people who create the music. And so these people go to bat for them. If you say anything wrong about them, they're ready to literally kill you, which is so insane if you think about it. But I think limiting people's access to that, especially when they're young, is a smart idea to be quite honest.

MK I don't want to mention the metaverse in every single podcast episode, but the amount of attachment people are getting to things that exist not purely within the online realm, but exist within the online realm, I think says something to where the internet might shift to later on down the track. If people are getting so attached to conversations and communities and everything else that's happening online, then I don't know where this is going to go in the future and how we're going to support that when certain worldviews are being reinforced or certain communities are growing online. Because it's not all bad either, there's a lot of good stuff happening on the internet. But we don't know the ramifications and some of the maybe ill side effects that might happen as a result of all of this extra communication that's going on in the world. 

CF Yeah, I wonder how healthy that is for people, especially if you're younger and you're still developing your social skills and stuff like that. That's why I feel like limiting that kind of exposure may be better, especially if you're a younger audience. 

BP My children are still in grade school, and during the pandemic when school was remote, I let them do a lot of like Roblox, where they'd be playing with friends. I wanted them to have that social connection and they'd be in Roblox and on a FaceTime call, but then also Roblox is unique in that you open it up and there's a million different games in there that are just built by ordinary users. And some of them are age appropriate, and some of them as I learned are completely not. And so you really have to keep a close eye on what kids are doing there.

MK That's I think the other terrifying thing about the access that children, especially now, have to the internet. There's a lot of stuff out there that is not appropriate for people under the age of 18, let alone 13. I think that's going to be a huge challenge moving forward for parents especially, is to how to introduce your children to this world where there's just everything and everything for you to see. They're going to be exposed to a whole bunch of different stuff that we weren't as children. We didn't have access to all this information. So I think it's going to be quite interesting and challenging for parents to kind of communicate everything that they need to at such a young age. 

BP All right, let's move on to our next news hit. Just want to touch on this real quick, we don't have to spend a lot of time. I continue to see this obviously within the workplace. Generally, the folks that I knew at other companies, the folks that I know through LinkedIn and stuff like that, the great resignation has not stopped. It continues. People are demanding better wages, better benefits. They're leaving places and feeling confident that they can leave and go out and find something when they need to. Just for the two of you guys, what's the view look like from where you're sitting? And in what ways do you think it has both benefits to the labor, to the employees obviously, and then it has drawbacks. For a company that wants to grow, that maybe has an opportunity as a startup of 50 people and has a big opportunity in front of it and could capitalize and has raised money, but literally can't hire people to finish their roadmap, that's a frustrating situation to be stuck in. So, curious what you're seeing and how you see the pros and cons here. 

CF Yeah, I think I'm still seeing a huge migration of people moving on to different opportunities. And I'm even noticing that people are moving on even from some of the big name tech companies that everyone kind of aims for. I think we discussed this before in a previous podcast episode, but I think a lot of people are reassessing what's really important to them, which is honestly putting more power in the hands of the workers, which I'm typically in this support of. I do think it can be frustrating, I know at the company I work for now, recruiting is just as important as it always has been, but it's much harder now to find people who are willing and available and who want to work with us. And I know recruiters everywhere are going through this. So I know it's hard on both, especially on the company's side of things, but generally I think it's a good thing. 

MK Just speaking from a New Zealand more local perspective, there's been a huge shift I think over the last couple of years where New Zealand salaries have been quite low for quite a significant amount of time. And now people are advertising roles 20 to $30,000, which is maybe $20,000 US, more than what they were advertised for a couple of years ago. So there's been a huge increase in salaries, which has been fantastic to see, but there's also been a hell of a lot of turnover. I've got friends at companies where whole engineering teams have been cycled through twice over the last two years. People will come, they'll stay for a year. I can imagine how frustrating that would be from a product perspective. And I don't think it's uncharacteristic either. Like, what do you guys think an average tenure of a Google employee is? Do you have any idea?

BP I'm going to say six months. 

CF I'll say ten months.

MK Wow, okay. You guys really just poo-pooed on my reveal there. 1.1 years for a Google employee. Historically, a lot of those FANG companies, those are where you want to be. So for people who reach that kind of pinnacle of what software development is, 1.1 years is not a long time.

BP No, it's really not. Actually, that's kind of an interesting thing we could discuss just for a second. Have you ever had that experience? I had that experience. I worked at DJI for 1.25 years, almost exactly a year and a quarter, a year and three months. And I feel like I learned a ton and I made some good connections and it was worth it. It allowed me to make a pivot in my career. Before then, or even now I would normally say one year or a little over at a place is not worth it. So much effort to leave one job and the stress of deciding and missing your friends and thinking was this worth it, was it not, and regret. And then all of the sudden you leave again. It's like, oh my God. But now, with three years of hindsight, I learned a lot there, I got to make a career transition, and now it's just sort of in the rear view mirror. Have either of you ever done like a short stint somewhere and felt like it was worth it? Or not worth it?

CF Yeah. I can speak to this because it's very interesting, thus far in tech I have never been at any company for a year or more. There's a few reasons why. I'm not a bad worker, I get along very well with other people, it's not that. Number one, most of the work that I've done thus far has been on a contract basis and contracts usually last for like three months anyway. But other than that, something that is probably also a pretty major generational difference I would say between myself and my parents, is that I've noticed that a lot of people, like millennials to now, don't really put up with bad circumstances at a job. So when things get into the toxic territory it's kind of like, "Okay, it's time for me to move on," instead of going through the mental stress of dealing with it. And then also combine that with working in tech where our skills are in demand and it's generally easy. I won't say it's easy for everyone, but there's so many jobs out there. So there's a higher level of security than I think is normal with other industries. So I think with that combination a lot of people are more inclined to move on if it's like, "This is getting stressful. I could be making more money somewhere else."

BP Matt, I want to get your thoughts, but yeah, just to say as a generational thing as you mentioned. I graduated into the great financial crisis of 2008, or I left grad school then. And so there were no jobs and I lost the internship I had, and then I couldn't find a job for two years. And so after that, if I took a job I was going to stay, even if it was brutal. I needed to be employed. It felt like there was a two year gap where I couldn't find a job, that's going to look terrible on my resume. I couldn't get my career going, so in that situation, and maybe I still carry it with me, I would just grit my teeth and bare it.

MK It seems that there's been a shift over the last couple of years as well, where when you're interviewing or when companies are kind of conveying what they value in an employee, there's a lot more room I think for people to come and say, "My last workplace was not serving me. I was not growing. There was a toxic environment or the environment was not something that was conducive to my learning or wellbeing." People are much more accepting of people being like, "I gave it a go for six months. It wasn't for me. It wasn't enabling me to be the best person that I could be so I'm moving on." And I think it's good to see that companies are more accepting of those kinds of facts. I think staying for a year at a company is totally fine because you can still get a lot from that. And if you reach a point where you're like, "I've hit a growth cap," this is not career advice, but I think you should always be trying to be learning and growing within a career, and if that's not happening, that's something that you should be discussing with your manager or your seniors, or trying to find opportunities there to continue that growth path. Because I know for me personally, if I stop learning, if I don't feel like I'm being challenged, I get bored. And then when I get bored I get quite miserable. So I think you can definitely look at something, especially long-term, if you're looking to make a career shift or a pivot or anything else like that, sometimes those year long stints where they might be slightly more intense than you're used to, or it's kind of like moving to a new skill because you want to go from stepping stone B to C, I think that's totally fine to do. 

CF Yeah. I'll say on the flip side too, sometimes you're in a place that forces you to grow a little bit too quickly than what you're ready for, especially this can happen in a startup world where you may be on the more junior side of things, or maybe even not so much, but you get a ton of responsibility dropped on you. Sometimes that could be something that's detrimental to your growth career-wise, honestly. So sometimes even in those situations, you could be somewhere where you feel like you're not growing enough, you're not learning enough, or you could be somewhere where you feel like you're being forced to ramp up too quickly on things that you're not ready for, which is okay. But either way, sometimes you just find out that the team you're on is not right for you, the company is just not right for you, which is okay because there's so many options out there.

BP All right, we're going to do one last news hit and then we will move on to the topic of the day. I just thought this was really interesting. Uber in two cities, two of its biggest cities, New York and San Francisco, is now integrating with the regular old taxis. So you open Uber and you're just gonna be able to hail what in New York we call a yellow cab. And those two industries were kind of at each other's throats for a long time, said a lot of bad things about each other, competed, had their own things. Interesting to see that network finally pulling together and I'm kind of glad because obviously Uber has the best software, can afford to hire tons of great engineers and mobile engineers. The taxi industry, I don't really know how coherent their plan is, but I would like everybody to benefit from that. I guess flip side, Uber also has its struggles with labor, so we'll see. But I thought that was an interesting little note. 

CF I don't know how to feel about that actually. I won't share my opinion, but initially it sounds cool, but I'm not a hundred percent sure. 

BP Yeah. I mean, I just want a car to come. So if it's a taxi or not a taxi, whatever. 

MK It'll be interesting to see because Airbnb have done something kind of similar, or they face some of the same issues that Uber had, where you had a workforce, or you had a lot of like flow on effects as a result of that specific service. With Airbnb it was pushing rents up and all sorts of things. And they have integrated with the hotels somewhat, but not to the extent I think Uber has with this. So I'm kind of wondering how this is all going to pan out longer term. 

BP Right. Eventually it's just like, we're just going to do the Ebay Marketplace where you could go on Airbnb and stay at a Marriott. And it's like, "Why am I on here?" But it's like, "I need to stay in this location," or whatever. All right. Let's move on to the topic for the day. Whichever one of you threw in this first one, do you want to kick it off? 

MK So for anybody who's ever worked in a restaurant, they're well familiar with the receipt printer that prints out dockets and all sorts of stuff and then it becomes grease stained, and it's all over the place. And then somebody says, "Where's my order?" And that slip has slipped down between some kind of fryer and it's an absolute nightmare. Well, what this engineer has done has taken that absolute nightmare and replicated that for GitHub issues. So, Andrew the creator has basically created a physical printer that every time a new issue is created on GitHub, it prints out a little docket for him. So he can be sitting at home, minding his own business, an issue comes up, it's printed, and he can put that on his physical Trello Board, which would be quite cool. So shout out to Andrew for creating that. I think it's quite a neat little project. 

BP Yeah. Help keep you in your flow state, paper tickets, put them here. Don't multitask, not too many windows open. All right. Kick me off to the next. 

MK The other cool thing that we found this week was basically an automated computer science course framework which I think is quite interesting. It's nicknamed Anubis. Ben, do you have anything to add to this one?

BP Well, I guess for me, I've gone through a bunch of different computer science programs. I did freeCodeCamp. I did TwilioQuest. I did a bunch of Codecademy. And so I liked the idea of one that responds to you. If you're going through freeCodeCamp, it's very boilerplate, you can jump from one to the next and stuff, but you're going in sequence. It would be interesting to see one where if it sees you're successful in a certain direction, it kind of throws you more lessons in that direction. Or if it sees you're struggling with something, it drops that concept for now and circles back to it later, or shows you that concept with a different approach to the pedagogical instruction. Like, "Maybe they'll get it this way, not that way." Because there are definitely places where I have the sort of high of conquering things and there are places where it's like, "Man, programming is just not for me." So I was kind of interested in that sort of element of it. I don't know if that's actually how it works, but that it tries to automate a CS course for you. Do you know how it works? Can you explain a little bit of it?

MK Yeah. So basically it does a whole bunch of different things. One of the things I specifically liked about it is that it has autograding functionality. So, say for example, if you’re submitting an assignment, instead of you finding out your mark at the end and being like, "Oh no, I failed," you can submit an assignment and then you can see exactly what your grade is going to be prior to that. So depending on how much work you want to put in beforehand, if you reach that 70-80% threshold, you're like, "Yes, pass! Go me!" 

BP Yes, I want to know if I'm going to fail the test before I decide if I want to submit it. Everything in life should be that way.

CF Yeah. I like the idea, though of a CS course that adapts as you go through it. I think that is so cool. I think one of the biggest differences between doing an in-person bootcamp or doing even a CS major, like a CS degree, is that the biggest difference between doing that and then doing like the self-taught route where you take an online course or something like that, is that it's not very customizable. And even still, if you do a bootcamp or if you go to university, it still is to a certain degree very cookie cutter and everyone takes the same curriculum. But I would imagine that this could be very useful for a lot of people because being able to have a course that knows what you need to work on more, or knows the things that you're really good at and don't need as much work with, I think that could be really, really cool. I wonder if this course is like that, I wonder how that's going to pan out for their students or their users. 

MK So, sorry, I should have given you some context before I launched in and threw it to Ben. Anubis is a distributed learning management system. It's created by John Cunniff and it's been used as part of NYU Tandon for several semesters now. And the main purpose of that is to automate specific things within a learning environment. So, say for example, autograding, which is something we mentioned, it comes with a built in cloud IDE. One of the things that I find most frustrating with learning new things is setting up your own virtual environment. If you can take a lot of the grunt work in an environment setup and things that people get stuck on, I think that means you focus more on the actual learning and the programming and you're playing around and tinkering. And that's one of the things that Anubis solved with the cloud IDE. It gives you, I think, a visual code-based IDE that's based in the cloud and a Linux environment. And it's all up and running ready for you to go. And as well as that, it creates some insights and that kind of stuff. So this isn't quite a structured, like it's going to tailor to your learning and what you want to do, but I'd love that idea, and I would love to see that implemented in the future.

CF Yeah. That sounds like a lot of work though to create.

BP I guess, as you're moving from one language to another, or trying to get to a new framework, that is sort of like that level one challenge, Matt, where there's a lot of friction. You open something up, you just want to do it, and all of the sudden, it's like, "All right. You need to figure out where you're going to hold your stuff locally and make sure you have GitHub running and also get your IDE up." And by that point, you've run into so much friction, you're not sure you want to proceed. But yeah, I like this. For me, that was one of the benefits of things like TwilioQuest, where they kind of automated some of that stuff, and also there was a tutorial that walks you through how to make sure everything was connected.

CF The interesting thing is that even professional developers are kind of sick and tired of the setup side of things. There's so many new tools where the expectation is that I can get up and running and not have to go through a whole lot of setup. So it's not just something that learners are interested in, it's something that everybody who codes wants at this point.

MK You might be able to help me out with this because this exact same thing happened to me last week. I'm working on a side project at the moment with Python for Stack Overflow, and it was doing my absolute head in. I've been a JavaScript developer for the last four years now, and then transitioning to Python again and trying to learn like Anaconda package managers, getting everything installed, and I was getting syntax errors on using pip to install things, and I wanted to tear my hair out. It was so, so frustrating. So if I could just have a virtual environment where everything's installed, ready to go, and I can actually just start building things, that would be so useful. 

CF I genuinely think that's the biggest reason why Python is not as popular as JavaScript, is because if you're not using Codeacademy or something like that to learn it, the amount of setup you have to do with the versions of different packages and things like that, and then virtual environments and all that kind of stuff, I think that is a barrier to entry for learners to be honest. 

MK I thought I could just run a script. No, I needed to download all these different things and oh my God. I've got a meeting straight after this podcast to set up my virtual environment with Python. It's an issue. It's a real issue.

[music plays]

BP All right, everybody. I don't know if this is international, so my apologies. But if you live in the United States, I want to shout out the Libby app, which is for libraries. You can just sign up with the same little code that's on your library card, and then it works just like Books does on Apple or the Kindle does. You can download anything. You can download audio books. And the best part is you can put it on hold. So you just check a bunch of stuff that you want to read or listen to at some point and then magically, boom, it just appears when it's ready. It's been saving me a lot of money that I used to spend getting the digital version of these books and audio books. So shout out to the Libby app, I'll throw it in the show notes. 

CF Yeah, I love the library apps too. I use one that's called Overdrive. 

BP Oh yeah, Overdrive is a really good one. 

CF Yeah. My shoutout today is going to be a blog. It's called Lee dev, and it's basically a blog that features content from developers all over the world who work in tech and it has articles that typically center around career stuff. So like, how to onboard your team members, how to scale up and hire and all that kind of stuff. I've found the articles on there to be super, super helpful for some of the more unspoken things that happen career-wise in tech. Like you learn how to code and all that kind of stuff obviously, but who teaches you how to run a meeting effectively? Who teaches you how to onboard people? I found this blog to be really good for that kind of stuff. 

MK My recommendation is actually something Ben has mentioned earlier on today and that's TwilioQuest. It's the most ridiculous, I don't know who got approval to make this specific thing, but it is incredibly great. It's basically a video game that teaches you how to use Twilio. It comes with its own original soundtrack, which you can listen to on SoundCloud. It's got a whole bunch of other gaming related things. They go through JavaScript programming language, Python, opensource, Rest APIs, and they've also got something there for their Twilio specific training, too. I have been sponsored by Twilio in the past, so I just want to make that quite clear, but this is probably the coolest thing I've seen when it comes to teaching people how to code on the internet. It's incredibly well done. 

BP It's got a great sort of old school, 8bit, kind of vibe to it with the music and the side scrolling. Yeah, it's a fun game on its own but you're learning while you're doing it. All right, everybody. Let me shout out the winner of a lifeboat badge and then we will say goodbye. A lifeboat badge is given to somebody who came on Stack Overflow, found a question with a score of -3 or less and gave it an answer. Now that answer has a score of 20 or more, and the question has a score of 3 or more, so some knowledge has been saved from the dustbin of history. Awarded March 25th to alkber, "In Java, how do you convert seconds to minutes to hours and days?" Time is always a challenging thing for developers, this I know. I am Ben Popper. I am the Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper, email us with questions and suggestions for the show podcast@stackoverflow.com. And if you like us and you like listening, leave us a rating and a review. It really helps. 

CF My name is Ceora Ford. I'm a Developer Advocate at ApolloGraphQL. If you're interested in seeing me more online, I spend most of my time on Twitter. You can follow me there. My username is @Ceeoreo_.

MK And I'm Matt Kiernander. I'm a Technical Advocate here at Stack Overflow. If you want to find me online, I'm on Twitter @MattKander. And if you want to find me on YouTube, I'm also @MattKander there too. 

BP All right, everybody. Thanks for listening and we will talk to you soon. 

CF Bye!

[outro music plays]