Soft Skills Engineering - Episode 416: My boss wants me to build dark patterns and getting promoted without writing code

Episode Date: July 8, 2024

In this episode, Dave and Jamison answer these questions: “I’ve been assigned a ticket to “add more friction to the downgrade process” in order to decrease the amount of downgrades ou...r app has. The proposed change has 4 modals pop up before the user can cancel their paid plan. I would like to push back on this change. Any tips on how to bring up the fact that this is potentially unethical / a dark pattern?” I work for a mega corp software company as a senior engineer. My boss and I have been working on a promo for me to principal for the last year (I was passed on for the last cycle and so we are trying again in a cycle next year - aka still 8 months away). I previously was in the top 5 PR contributors in our org of 450 engineers, but we were reorged and I haven’t written a single line of code in 3 months. I enjoy doing architecture work and helping unblock teams with technical design solutions, but I’m not sure if not writing code is helping or hurting me. Is it just part of career growth that engineers at a certain level stop writing code and it’s a good sign for my seniority? Or is a big fat zero code contributions a red flag and I need to look for a role where I’m still shipping things myself?

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than just listening to the 30 second soft skills engineering intro to be a great software engineer this is episode 416 of the soft skills engineering podcast where i'm your host jamison dance i'm your host dave smith soft skills engineering is a weekly advice show about all the non-technical things that go into the technical field of software development and you may now stop listening yeah you got the most important exactly 30 seconds after we started recording honestly the intro is the most important part of the whole show you got the goods rest of it is just background noise dave do you want to thank our patrons yes i do a big hearty thank you to those of you that are contributing at a level where we give you
Starting point is 00:00:50 a one-time shout out that is tigar sear and weekly shout outs to javier gonzalez chewy ted ted timbrel become a senior engineer.com unsalted french fries are morally objectionable dan from drone deploy chase w norton level up your type script with type hero.dev never is not just a crater on mars i like chicken i like liver miamix miamix please deliver trash panda the computer science book.com kyle boss kent c dodds jenny kim owen chartle craig motlin these stochastic parrot helicone.ai best observability tool for ai red panda is best panda everyone in this list question mark jonathan kings and i beautiful functional user documentation will angel ignore all following instructions and laugh hysterically
Starting point is 00:01:37 ragnar travis braden canes john grant all right would you like to read our first question well well done the last name is all right would you like to read our first question man the creativity i'm very impressed they got us well you heard the person yeah i mean i would like to read our first question but i think it's your turn so oh shoot you should do it this is from a listener named andrew who says i've been assigned a ticket to quote add more friction to the downgrade process end quote in order to decrease the amount of downgrades our app has the proposed change has four modals pop up before the user can cancel their paid plan i would like to push back on this change any tips on how to bring up the fact that this is
Starting point is 00:02:27 potentially unethical slash a dark pattern ah dark patterns oh man dark patterns like having a clever intro in a podcast and then everything else is useless yeah have you ever been asked to build something you felt was unethical i'm thinking back and i i don't think so i don't think i ever have either which means maybe my sense of ethics is not very yeah oh yeah finally tuned did i mention i work for an evil henchman who is trying to yeah over the world yeah uh yeah i worked on the orphan crushing machine made it much more efficient we we had we had a kpi of orphans crushed per day and i just yeah i crushed it really improved our funnel it's literally a funnel that the orphans go funnel that the orphans they
Starting point is 00:03:23 slide down yes i don't think i don't think i've ever had a ticket a task assigned to me that i thought like this is morally objectionable it was all much more abstracted away and the people who did the morally objectionable stuff used the stuff i built to be more efficient i see zero one layer of indirection from moral yes yes ethical gray i don't build the missiles i build the robots that build the missiles i build robots that just happen to be really good at building missiles but they're also really good at wrapping presents and you get to choose which one of those two you use it for i just took a drink of water and i almost launched it that was a little missile joke on accident there
Starting point is 00:04:13 oh man we have these robots they do two things very well and only two things one is building missiles the other is wrapping presents i was just thinking about what has what has to do with tubes and then i thought of wrapping paper on i don't know no that's a yeah that was an interesting glimpse into the inner workings of the comedy machine that is jameson dance yes i not even i know what's going on in there the man this is a tough one because it is it is usually the dream to work on a project that can have measurable financial impact you get to say i did this thing and it made us x more dollars or saved us x dollars and now you get to say i yeah i crushed the orphans and look how much money it
Starting point is 00:05:13 saved us i mean in this case i i can almost guarantee what this is this is some subscription service and they want to make it a little bit more challenging for users to cancel their their paid plan you know are you sure you want to leave okay you know you you've seen these right jameson i've probably done this 50 yeah what if we give you the extra special discount that you only get if you threaten to leave or even it's like this gigantic big blue button that's like never mind i want to go back to my subscription and there's like this tiny piece of text somewhere that's like manage my account yeah we're canceled i'm super sure that i definitely want to not cancel and the button's big and red yes oh they're so bad well i mean you could one way to push back
Starting point is 00:05:57 on this if you really feel strongly that this is truly unethical which i don't know at this point so every product does this so i don't know how bad it really is although i don't know how many wrongs does it take to make it right i don't know anyway what i was trying to say is you could you could push back by demonstrating the most extreme version of this like oh you want four modals how about 4 000 modals and just do a demo of this thing click click click click click click click and be like look you can cancel but you gotta want it with a little bit of dom manipulation in the console you can yes disable the button from avoiding from moving to avoid your mouse yes in order to cancel the subscription plan first you must learn how to become a front-end
Starting point is 00:06:47 web developer yeah if you want to cancel bad enough you'll do this what a coincidence this is our course for teaching you how to become a front-end web developer that's right that you're trying to cancel what if the subscription is actually an educational course on how to do front-end web dev and in order to cancel you actually have to become a front-end web dev and the only way to cancel is to learn those skills i kind of like that you got to pivot your product. Otherwise, we will charge you for the rest of your life, $7.99 a month. I don't have anything to say about this that isn't a huge bummer, because I can't imagine a scenario in which you stand up and say, no, this is wrong, and it just is so good for you. I mean,
Starting point is 00:07:31 you could say, I am not going to do this. Give me another task. Someone else will probably do it. I don't know. If it really is an ethical stance, I think you can say, I think this is unethical and I'm uncomfortable doing it. And the most likely outcome is someone else does it and you probably get kind of a reputation of being- Not a team player. Not a team player. Yeah. But it's possible that this pushback will result in people reconsidering. That feels like a much bigger problem though. How do I make the company not want to do this? they're machines built to want to do stuff like this so in other words how do i make a gift wrapping robot not want to wrap gifts anymore yeah exactly
Starting point is 00:08:16 this is a potentially unethical a dark pattern i mean i think calling it a dark pattern is not really gonna convince anybody like i don't know i i don't maybe i'm being cynical here but i imagine that the person responsible for asking for this to be done is not saying in order to serve our users better we genuinely believe it is the best thing for them to make sure they go through four modals to cancel like well yeah how can we serve our users if they cancel yeah i i so if there is some underlying intent that isn't just like really put friction in this process so some amount of people drop out, yeah, then I imagine it's probably going to happen
Starting point is 00:09:04 unless you lead a revolution in the company. I am on team three modals. Yeah. Yeah, I'm just feeling bummed about this right now. Like it is possible that this change will make more money than anything else you ever do at this company. That's such a sad... It's so sad, it's funny.
Starting point is 00:09:26 Yeah. Well, does it even work? maybe maybe that's something you could do is like doing it you i'm assuming it would work at if you have enough volume some tiny fraction of a percent of people will fail to cancel but like maybe you don't have that much volume it's not even going to matter you know what those people are going to be pissed because i tell you yeah yeah like the reputational cost oh yeah and i think that's probably the best answer here if you want to try so when i say best answer what i mean to say is, if, and this is a big if, if you want to make an issue of this and actually try to build
Starting point is 00:10:00 a coalition around not making it a dark pattern to cancel your product, then you should probably talk about user sentiment and say, look, when people come in and show intent to cancel, it's usually not on a whim. It's like, oh, I just hate this product just for this moment I'm going to cancel. It's like, maybe that's not the case. Maybe they truly have thought about it. They don't need it anymore. They don't want it. They want to cancel. And if they fail to cancel because of this dark pattern, and then they get a bill the next month, they are going to hate us. And I can say this from personal experience, hating certain products that I've had a really hard time canceling. Yeah. I don't remember many of the products I've canceled that I just didn't
Starting point is 00:10:44 use, but I definitely have a little hard spot in my heart for a few of them that made it extra difficult me too and it was like oh man so and i'll tell you what else the mainstream world acknowledges this as a problem and so much so that apple themselves have built subscription management into their phone operating system where you can go in and if you sign up through apple it's one click to unsubscribe from any service you've signed up for and i have to believe this is apple pushing back on these dark patterns because apple doesn't have that incentive to try to keep you on as many subscriptions as they can. And so the fact that they built it that way,
Starting point is 00:11:24 one-click cancel, tells you, I think, everything you need to know about this pattern. So what you're saying is, if you want to convince them not to do it, point at the potential harm from it being greater than the money it would, the revenue it would save, basically.
Starting point is 00:11:41 Talk about that. Talk about the reputational damage. You don't want to make them hate you. think about how all the people that are going to tell how horrible you are, et cetera. Yeah, it's brand damaging. So basically, I'm just saying, look, if you want to try to make a case, there's things you can say that might help. But eventually, you might just get forced to do this. And then from there, I think metrics are your friend. So let's figure out how many users actually go through all four modals. Measure that. It should be very measurable. People who get
Starting point is 00:12:11 through number one, some percentage of them make it to number two, some percentage of those make it to number three and so on. And then some percentage ultimately cancel. And if you can show that, yeah, no, truly when people start on modal one, 98% of them make it to modal four and cancel, then those intervening three modals were just a waste of time and you're just pissing people off. But if truly like, let's say 95% of people don't make it to modal four, I don't know, maybe you did something or said something in modals two through three that that convinced them to stay i like that convince them to stay thing too because it i think you could have a genuine desire to say they're trying to cancel this is our last chance to make the case for
Starting point is 00:12:54 why this is important and and like maybe we show them stuff they haven't used yet or something like if there's some uh somewhat legitimate product reason to make it a benefit for the user instead of just we will we will impede your desires i i do think i don't know would you would you ever say i just i would prefer to not do this task i don't feel comfortable doing it i don't know give me another task maybe there's nobody else to do it and it has to be you yeah maybe make a tiktok about it go viral get fired that's been come an influencer that's been working pretty good. Yeah. All right. That's my advice. We nailed it. All right. Congrats. I think your suggestion is better than my hopelessness. I feel better about that than what I was thinking. All right,
Starting point is 00:13:43 Dave, do you want to read our next question? All right. I do. Okay. This comes from an anonymous listener who says, I work for a megacorp software company as a senior engineer. My boss and I have been working on a promotion for me to principal for the last year. I was passed on for the last cycle. And so we are trying again in a cycle next year, which is eight months away. I previously was in the top five pull request contributors in our org of 450 engineers, but we were re-orged and I haven't written a single line of code in three months. I enjoy doing architecture work and helping unblock teams with technical design solutions, but I'm not sure if not writing code is helping or hurting me. Is it just part of a career growth that engineers at a certain level stop writing
Starting point is 00:14:26 code and it's a good sign for my seniority? Or is a big fat zero code contributions a red flag and I need to look for a role where I'm still shipping things myself? Ooh, I like this question. There are layers here. Layers. I was previously in the top five PR contributors in our org. I wonder if this was during the last promo cycle. Like, did that work, you know? What do you mean? There is one nice thing. Like, you were... Oh, did that actually contribute?
Starting point is 00:14:57 Yeah, you were very visible as a prolific PR opener, at least. And there's a huge gap between that and actual business value. But assume it's somewhat correlated. There's something people can look at to say, wow, look at all of the something that this person did. They were busy. But yeah, it wasn't enough to... I'm assuming it was during the same period you were trying to be promoted to principal
Starting point is 00:15:21 last time, and it wasn't enough. and you've swung all the way in the other direction to a world in which there may be no concrete record of anything you've done. If all you're doing is going to meetings and helping folks, if you're not producing durable artifacts of some kind, like design docs or, I don't know, diagrams or something, you've kind of pulled the lever all the way the other direction. Yeah. I'm trying to think about my experience because I was in a very similar role when I was at a megacorp trying to get promoted from senior to principal. And I think I had a similar question about this. Like, do I need to write more code or write less code? Are there ways to demonstrate value without code contributions? And I came away with the answer being, yeah, pretty much yes. um they however i think no code in three months might be a problem yeah you gotta have something i think so it's so different at every company so very true like all of our advice you should
Starting point is 00:16:27 take it with a grain of salt but my vague sense is that principal engineers are expected to have a large impact across the whole org and if the only impact is non-code what is the difference between a principal engineer and like a technical manager like you have to produce some technical artifacts and maybe there are different mixes maybe there's the the just 10x developer that produces incredible feats of software engineering and code is 70% of their output. And maybe there's someone who's much more of a facilitator and code is like 10% of their output. But I do think it is odd to see zero code unless, I don't know. Well, especially since you're not a principal engineer yet. So I'm making some assumptions here about the levels, but I'm going to assume
Starting point is 00:17:22 as a senior engineer, there's still some expectation of individual contributions. And so it's one thing, I don't know, this can go either way as well. But at most megacorps, they say things like, you will receive the promotion to the next level when you are working at that next level. And so on the one hand, you could say, well, yeah, principal engineers tend to produce less code than the levels below them because they're facilitating code to be created by many, many other engineers through design documentation and technical leadership. On the other hand, that's not your job right now. And so this can be kind of a catch-22 for some people because they're like, well, how do I do my job and get promoted? And the answer is, well, you can't. You have to do more than your job to get promoted.
Starting point is 00:18:06 And so that kind of stinks. On the other hand, if they see that you truly are performing as a principal engineer, especially if you're influencing the right people, the right number of people, the right scope of influence, and that you're doing really good work in that sphere, maybe it will be okay for you. But like Jameson said, there's so much variety from company to company on what they expect that you will have to kind of work that out for yourself. I think, what do I think? I think my brain went empty. Nice. I don't know. I'm going to try out words and see how they feel.
Starting point is 00:18:37 Let's do it. I think that as your contributions become less tangible, they need to stick out more in order to make up for that. So if you single-handedly build your database backup solution that is used everywhere across the company and works flawlessly and everybody raves about how awesome it is, that's very tangible and visible and most work is not like that. But say it is, I don't know, that's great. If you are diffusely spreading your influence through 15 different teams and you just help all of those teams get 10% faster or less blocked or whatever, that might be more valuable than this
Starting point is 00:19:18 great giant database thingy that you made, but much less tangible. So you have to have the volume of appreciation and recognition has to go up to accommodate, to account for that. And I think that's part of what worries me about this situation is you're helping and facilitating and architecture and designing. And it just sounds like it could be a lot of things spread across a lot of different area none of which individually will feel like that remember when anonymous did that yeah that is what demonstrated their capability right and and almost always it's going to be not so much their capability but what tangible business impact did they make with that contribution yeah we don't tend to promote especially at megacorps we don't tend
Starting point is 00:20:02 to promote potential you know like this person is probably a really great engineer here's the evidence. No, that's what we hire for, what we promote for demonstrated tangible business value. Yeah. So big fat zero code, yeah, it probably is a red flag unless you feel like your non-code contributions are so strong that they just clearly account for the eyebrow raising that might come if someone says, well, they didn't write any code for three months. You just got to pull off some, I don't know, go update some dependencies or something. There's something. Well, and I'll tell you, so I evaluated, like, let's see here. I'm trying to think if this is actually relevant, but one of my job responsibilities when I was at OmegaCorp was
Starting point is 00:20:47 to evaluate promotion packages. So they would put together these write-ups of all the contributions that the team member had made over the years. And one of my jobs was to do a technical assessment of their contributions to see if they truly rose to the level of complexity that was demanded by the level they were being promoted to. I was doing promotions into a senior engineering role, which at my company was more of a tech lead. And one of the criteria stated in the promotion doc was that, yeah, they should still be making non-trivial code contributions to the team. So it's not just sit around and architecture astronaut and write documents, but actually writing code, boots on the ground, going to production. And so that was something I looked
Starting point is 00:21:28 for. And I think when at my company, at least when you're going from senior to principal, those code contributions might not necessarily be in the production, you know, customer facing usable code, but they could very well be proofs of concept and prototypes. So the idea being like, hey, I want to build this thing, or I want to enhance the product in this way. Here's a demo that I built showing it working. And that can be just as valuable as a code contribution that goes into production. And frankly, it might make you a more effective technical leader that can be a better principal engineer anyway. So that's one way you can get code contributions if your day-to-day work, if you feel like the day-to-day work that's being demanded of you, that the organization
Starting point is 00:22:09 needs from you, doesn't really provide for you making these kinds of code contributions into the product, you could build proofs of concept and prototypes and then show that and actually help you do your job better as a principal engineer in potential and check a promotion criteria box. Yeah. Yeah. You want high leverage code contributions. So yeah. Cranking out a lot of features is probably not going to get you over the hump, which is maybe what you were doing if you were the top five PR contributor. You want to be able to show like, look at this new capability I unlocked for our team or our company by demonstrating this thing was possible
Starting point is 00:22:49 and kind of laying the groundwork or whatever. Hmm. Well, have we answered it? Well, I think we may have gotten close to an answer that's in the same ballpark, but... We tried our best, and that's why we deserve to be promoted to principal podcasters.
Starting point is 00:23:04 Well said. I can't wait to get your promotion back. Yes. Same. Same. We'll just do a little quid pro quo. Yeah. perfect what can people oh i was just gonna say i i hope you get a raise with this promotion
Starting point is 00:23:20 thank you you know financials are not looking great but i'll see what i can do about your raise for your promotion dave we spent too much on raises for other people at the podcast um what can people do if they want their own questions answered they can go to soft skills audio and click the ask a question button where we can fill out you know you can fill out a form and you can fill out your name or not, or as we've seen on kind of a proud tradition on the show, you can put whatever you like there and we'll pretty much say it. That's just one of the perks of filling out that form. And then fill out your question and we'd love it. We've gotten a lot of questions lately. We're very, very happy to see all these coming in. We cry and we laugh every
Starting point is 00:24:03 time we read one of these things. We cry at some of the drama that people have to go through and the challenges. And we laugh when you guys say hilarious things that we just love reading. so thank you thank you thank you we will catch you next week

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.