Soft Skills Engineering - Episode 1: Startup Opportunities and Switching Jobs

Episode Date: March 7, 2016

Welcome to Soft Skills Engineering, where we answer your questions about non-technical topics in software engineering. Come get some wisdom, or at least some wise cracks. In episode 1, Dave and Jamis...on answer two questions: I’m a developer who gets approached from time to time to work on new software ideas. While I find working on something new and intriguing I have no experience with business. How do I determine how legitimate these opportunities are? At my current job, our codebase is a few years old and we use an “older” javascript framework. In my spare time I’ve really really enjoyed using one of the newer paradigms and technical stacks and I wish I had more opportunity to get experience with these technologies. I don’t see a rewrite or even a migration any time soon for our codebase at this company and have been considering taking a job where I’d have opportunity to work with these newer technologies. This despite enjoying my coworkers, and lacking any major complaints at this company. On a scale from 1 to 10 how crazy am I for considering a job change?

Transcript
Discussion (0)
Starting point is 00:00:00 Hello, everybody, and welcome to Soft Skills Engineering, our inaugural episode where we discuss the things that most podcast shows about software development don't discuss, which is all the other things that aren't technical, but are nonetheless, I'd say, pretty important. So I'm Dave Smith. I'm Jameson Dance. And let's get right into this. okay we have a question from a friend who says i'm a developer who gets approached from time to time while working on new ideas uh i already messed that up i'm a developer who gets approached from time to time to work on new software ideas while i find working on something new intriguing i have no experience with business how do i determine how legitimate these opportunities are
Starting point is 00:00:44 yeah this is this is really hard don't you think to like actually determine the legitimacy of a business um i think my default answer is they're all illegitimate until they have money but then you miss out on a lot of stuff too like you mentioned too that this could also be with like contracting or yeah uh it's like recruiting from just other companies yeah yeah or or like your friend with an app idea do we want to break it down by those or yeah sure so let's let's start with the easy one which is i think when a recruiter emails you or you get yet another linkedin message and you want to decide whether it's legitimate or not i guess it's usually pretty easy to tell those are legitimate but it's harder to know whether you should actually give them any
Starting point is 00:01:33 time i actually i've never considered whether they're legitimate i just assume like yeah someone is talking to me on linkedin they wouldn't just make it up what do you mean by legitimate like a good opportunity i'm guessing that that's what he means is like am i going to make a ton of money doing this or it's a total bust yeah so i think it depends if their name is an acronym that's like software solutions business corporation or something then it's probably a bust that's how i like the more random business words are in their name the less interesting it's gonna be nice okay so what's the next scenario we have uh freelance work maybe yeah yeah so generally speaking i found that when people approach you to do freelance work they usually have like a very
Starting point is 00:02:20 clear uh like payment they're gonna they have some amount of time like a term maybe it's like a three-month term and they want to pay you x amount of dollars per hour for this many hours per week um and i've very i've done a few of those and i haven't heard of many people getting screwed on those and like walking away with nothing after spending 90 hours on a project right those already sound like they have a lot more structure than some freelance things though like Some of them are just like, how much do I pay a coder to build a website for my grandma? Or if they come to you and say, we'll pay you in money if we have it, but if we don't, we'll pay you in stickers. That's probably not legit.
Starting point is 00:02:55 They're really good stickers. Those ones seem less interesting than the equity one, though, or the cool idea one. Yeah, so I've got this great app idea, and I'm going to give you 20% ownership in this company that I haven't actually created yet, but I promise you'll get it. What do you do? or what i mean they can like write it on a napkin too like sign this napkin you you are now the cto if you have a signed napkin you're probably good yeah i'd say go for it if you have something that you can frame and then tell a cool story about later um i've heard it uh i've heard this saying that you only either work for free or for your rate you never work for like a chunk of it so
Starting point is 00:03:36 if someone can pay you but they can't pay you enough for your time you're going to be in this weird situation where it's like, uh, you feel bad for not working as hard, but they're not paying you enough money to, to devote your whole time to it. So I think it's, you kind of either have to go all in and say like, yeah, I'm going to work on this as a business, or I'm going to take a salary. Like it's not too different from the normal salary I would expect. Yeah. Yeah. I actually had a friend who moved out to the Bay area about a year ago and he called me up, um, a month or two ago and said, uh, I've got this guy I've been working with on weekends, just working on this fun project. And now we've got something, it's starting to become
Starting point is 00:04:17 almost product like, and, uh, he wants to ask me to quit my day job and work full time for him. And, um, you know, what do I do? Is this a good idea? And so I asked him mostly like the very first questions I asked are the obvious ones, which are like, okay, does this guy have the means to pay you? You know? And it's like, but these are questions you should ask the person, like can you pay me and how much um and i think a lot of times as developers we're kind of afraid of these conversations like oh we can't talk about money like we can only talk about technical stuff you know but you need to and i think most people feel really comfortable answering those questions and then i was like is he willing to give you anything in writing um and uh you know he's like
Starting point is 00:04:54 oh that never occurred to me to ask for something in writing but i think that you should like you absolutely should you're entering a business arrangement and so if they're not willing to pay you and offer it in writing, I think it's probably, it could very well be illegitimate. I owe you 20%. Yeah. Boom. Like, don't worry. You get 20%.
Starting point is 00:05:14 That's a good point, though. It doesn't have to be super formal. It's maybe more just the act of writing it down will kind of cement some. Are you saying go to like a lawyer? Oh, that's a good question. I didn't, in this particular case, I didn't advise him to talk to an attorney, but, and i probably wouldn't have like it didn't seem like that big of a commitment that's probably always advice that you could give someone that would never be wrong to like where do you want to go
Starting point is 00:05:38 for lunch talk to an attorney to make sure yeah um in the end this guy decided not to do it because i think he found out that he actually you know he had a life and expenses and this particular opportunity just couldn't really pay for him to live so i think that's actually a really good thing a good like disqualifying criteria to say if i'm going to quit my day job and go work on this thing will i be able to pay my bills you know and if the answer is no and you're not willing to go into debt to like fund yourself for a few months while you do this then you probably it's probably not the right opportunity for you this probably has a lot to do with your stage in life too um oh yeah if you're a student the opportunity cost is way lower to just sure work for free on
Starting point is 00:06:21 something than if than if you're kind of in an established career um that's also kind of an argument too for keeping your expenses low throughout your career because then you have more freedom if you yeah have high living expenses then uh you just can't take some opportunities if some of these are good but they don't have money to pay you then then that might be tricky if if you're kind of living paycheck to paycheck um also i think like if you're super interested in it that can change things too if you're like oh i've always wanted to do this like i've always wanted to make uber for cats for dogs yeah no competitor we'll crush them
Starting point is 00:07:01 um i think i'm personally more risk averse than than some people so i i don't think i would ever just quit my job to work on some random idea with someone i think i would only want to like co-found something together with someone i would never want to go in as as already having this hierarchy where there's the ceo of nothing and he's the boss of me telling me what to build that would be it sounds not very fun and and not as exciting and not worth the risk so you'd be more interested in like a partnership yeah yeah i think so i mean it'd have to be it'd be a very unique situation that would make me do it but i i would never go for just like hey i need a coder sure how how little of the company can i give away to this person yeah yeah you'd be a technical
Starting point is 00:07:55 co-founder there's some really good questions you can ask that person going into that situation to gauge that too like does this person have any clue technically or are they just going to be like hounding you about why isn't it done yet you know and are they do they want uh like speed or do they want like super high quality you know yeah what are their plans for growing the team in the future and these are all questions that a serious business person who's getting who's really getting into this for real they will have answers for these things but then i mean how many good ideas have come out of people that have no idea what they're doing too so if you say only that you'll you'll only talk to people that have their act together you're gonna miss out on yeah
Starting point is 00:08:35 some stuff too so you'll eliminate a bunch of false positives yeah i get some false negatives Is that what you're saying? Yeah. Yeah. Like, I guess I don't know that much about the early history of Google, but they, I imagine they were just working on cool stuff. I mean, they were PhDs at Stanford or something. So that's probably, it's probably a good sign that they're smart at least.
Starting point is 00:08:56 But I mean, maybe they didn't have some grand vision or business plan. They probably didn't. But statistically speaking, like this opportunity that just presented itself to you is not Google. Yeah. It's like, don't worry about that. That's true. At least that's how I would put it. Good call.
Starting point is 00:09:11 Like you just, I'm sitting on the next Google. No, you're really not. Yeah, that's actually probably a good warning sign too. If they tell you about the potential upside and talk about Google at all, then maybe they have unrealistic expectations. I think most ideas need to have at least somewhat clear of a path to monetization. Excuse me. And again, this is one of those things that may be hard for software developers to talk about. but it's like how is this going to be a viable project you know and maybe it's not a maybe it's
Starting point is 00:09:42 not for profit maybe it is but in any case they need to have some kind of path you know if it's like well we're just going to get a lot of users and then figure that out later i like to hear people say like well we're going to get a lot of users and then we have these partnerships that we think could be really lucrative based on these you know past experiences and things like that all these things lend legitimacy so so i personally agree with that but that kind of flies in the face of how a lot of technology works though i mean snapchat is like you just don't know up front well no you just have no idea you just do get a lot of users i mean and then figure it out after that yeah and you raise bajillions of dollars of vc funding and then you
Starting point is 00:10:20 have a lot of money and then and then dot dot dot and then you sell to facebook yeah i don't know what the end goal of that is but but for a while you sure are pretty rich so so who cares what the end goal. Yeah, I guess that is the end goal. Raise a lot of VC money. That's also in the statistical minority, probably. Yeah, you can get that kind of path. But I'll tell a story about one. So Mosey, some people may know as a Utah startup, I think, I think 10 years ago or more, they started here in Utah. And I talked to the founder of Mosey and was considering coming on the team at the time and they had a really clear path to monetization. They were like, we're going to offer a backup service that people can install on their
Starting point is 00:11:00 computers and will backup their whole hard drive to the internet. And this was revolutionary at the time because storage was way more expensive back then, 10 years ago, and you just couldn't do that. And their monetization strategy was, we'll just send them advertising. And I was like, okay, so it's going to be free for everyone
Starting point is 00:11:17 and then we'll send you targeted ads based on the files that you upload to us. Oh my goodness. And, um, yeah, I know. Okay. They were like, don't worry, we can't see the contents of the files, but we will know the file names so we can send certain slightly targeted ads.
Starting point is 00:11:32 Anyway, but really quickly after that they realized that people were willing to pay like five or ten bucks a month to do backup and people signed up in droves so they pivoted and quit. But the important thing is, or they didn't quit, they just abandoned the advertising strategy and went straight to a no ads paid service.
Starting point is 00:11:48 But the point is from day one they had a really clear path and they had I'll put air quotes up, they had a business model and I'm not qualified And I think most engineers are not qualified to evaluate the viability of a business model. But at least if you have one and you can talk about it sanely, I think it lends legitimacy to your project. Yeah. You mentioned ads. And there are so many companies that work in the ad space, either like on the seller side or whose business model is users, question mark, question mark, question mark, ads, and then dollar sign, dollar sign, dollar sign.
Starting point is 00:12:21 And for me personally, that's not appealing. I don't want to sell ads to people. So there's probably some kind of like personal preferences that go into the ideas that you want to pursue as well. Or maybe, I mean, lots of people made lots of money that way too. So if that's your kind of driving concern, then there's a clear path to money that way too. Certainly. There's also more to legitimacy than just making money. This is a little bit of a joke, but when I talked to the Mosey engineering team, they said,
Starting point is 00:12:54 yeah we basically work for a spammer and they said it tongue-in-cheek um but you know you can think other companies have a legitimate business plan for making money but like you're just like i am so not on board with this idea you know like sure um certainly happens yep uh so i want to go with that is that um sometimes legitimacy just means like is this project even going to be viable and successful and i think that's a place where you can assess that like take a look at what they're trying to accomplish and say is this even feasible like a lot of times people especially non-engineers will approach engineers with ideas that are just like dumb and they're dumb because they're not technically viable or they have their scope is just so huge and they don't realize just
Starting point is 00:13:33 how huge it is they're like you know we're gonna build facebook for uber for cats for dogs it's like gonna be great yeah it's like oh you guys have no idea what you're talking possibilities are endless well i think we've uh completely answered that question and no one will ever have any doubts about what they should do for any business opportunity from now on just follow our simple recipe yeah the simple recipe of shrug yeah this is a hard one because they're it's so personal and and yeah it depends so much on you and the other person and the idea and the market and where you are in life and i will say that uh you should definitely take your time when making a big decision about whether to quit your job and jump on some new opportunity and you should ask
Starting point is 00:14:19 lots and lots of questions like if you've only asked four or five questions then you are not even close like i'd say you need to get to where you've asked at least several dozen questions and felt pretty confident in the answers you know otherwise you've just scratched the surface yep just like we just did yeah service scratched should we move to our next question let's do it Do you want to read it? Yeah, I'll read this one. All right. This question says, my current job, our code base is a few years old, and we use an air quotes older JavaScript framework.
Starting point is 00:14:48 Oh, so like React 2 or... Yeah. So like older than three weeks old. Yeah. In my spare time, I've really, really enjoyed using one of the newer paradigms and technical stacks, and I wish I had more opportunity to get experience with these technologies. I don't see a rewrite or even a migration anytime soon for our code base at this company, and I've been considering taking a job where I have opportunity to work with these newer technologies. This despite enjoying my coworkers and liking any major complaints at this company.
Starting point is 00:15:16 On a scale from 1 to 10, how crazy am I for considering a job change? Remember, this is a one-number answer. On a scale from 1 to 10, I'm going to hedge my bets and say 5. Flip a coin. Yeah. that's how crazy you are yep what do you think jameson this is a really good question um and i have thought about this a lot but i probably have no good answers because it's a it's a tricky problem so i've um my whole career has basically been on the the air quotes cutting edge i mean
Starting point is 00:15:50 there's always something newer but but on the whole spectrum of software technologies i think i've mostly worked on things that most people would consider to be new um so i have a biased viewpoint of this because because that stuff is exciting to me i think there's there's there are a lot of different motivations for working somewhere but you could look at it as two different ways one is you're you're there um for how the work gets done and the other one is you're there for what work gets done so if you're uh you can be really focused on the product and on the users and delivering a good user experience and kind of having faster iteration cycles and fewer bugs
Starting point is 00:16:30 and just kind of making the, producing something good. Or you can be really focused on how you get the work done and you're always kind of reading blog posts about cool ideas on new frameworks or new ES 21,000 technologies or whatever. That's ES 20XD6. Yeah, 20XD6, exactly. um and and and that can be how you get satisfaction and i think they're both valid ways and and they might lend themselves to different kinds of companies or different
Starting point is 00:17:01 kinds of problems but you probably need to figure out what excites you if you get more excited about someone using your product and being happy then it it doesn't matter as much what tech stack you use but if you are really interested in in kind of what's new and what's cool and and stuff like that then maybe there might be more room at a company that's focused more on developer productivity like they have a large enough team that they can spend some time and some engineers looking at new technologies and helping pick what direction they should go and stuff like that so you kind of have to figure out what you prefer i'm guessing based on the way this question is worded that using a modern technology stack is actually really important to this person um and i'm gonna say
Starting point is 00:17:45 like that's the number one thing i would respond with is um figure out what's important to you like i know lots of developers who are perfectly happy like coming to work doing their work being proud of their work but the particular tech stack they're using is like not super important to them like they can find challenge and enjoyment in building regardless of the tooling that they are using at the time and they're cool with that like they go home and put on their snowboards and do awesome stuff on the slopes or whatever you know and it's like great for them my particular for me like i have to be challenged and use it for whatever reason i'd say this is actually kind of a weakness but like i really want to be on the latest stuff you know and so uh i think that's a
Starting point is 00:18:23 really important thing to figure out about yourself and then if that's important to you i'd say definitely change jobs like that's like you your life's too short to spend your day job doing something that doesn't make you really excited you also have to be careful of the grass is greener thing though it's true if every time a new framework switch comes out you quit your job to go work on it then you'll never build anything you'll just know a little bit about every new javascript framework that's true and since javascript was specifically mentioned this is particularly risky in this area yeah it is yeah so maybe if you temper it and say look i'm not going to change jobs more than once every year or two but i'm going to make sure i'm always on
Starting point is 00:19:00 the latest tech stack so that i can feel awesome about my work then maybe that's like a nice balance yeah i i just this person will grow old and tired and then they'll just stick on angular five for 10 years or something yeah this seems like a bigger deal with younger people although i don't know so in my last job i'm old dave but you're older than i am you know i've said you i've been uh yeah i'm i'm getting there you know i've been in the industry for about 15 years and after i was at one job for seven years and the main reason i quit was so that i could try out a new technology stack and that like that was the number one reason and it was awesome but you know what like it was hard like after having all these ideas ingrained in my mind for like seven years
Starting point is 00:19:42 it took me probably three or four months of thinking what have i done with my new job um but it was great like once i did it i really have enjoyed it so like i'm totally on board with changing jobs to uh to try something new not every six months not even every year or two probably you really want to like stick with a job for a year or two unless things are really bad in my opinion just so you can really understand the business and the team and stuff um before you jump ship but i'm totally on board with changing jobs frequently yeah i i agree with that i just have this little like hesitation in my mind that maybe that's not what's going to make you happy and and if you think it is you'll miss out on i think there's some growth to be done um and and
Starting point is 00:20:26 if you just bounce every time anything gets hard for you then you'll miss out on that it's very true like maybe you're on extjs or something something that's a few years old and you say the word and people kind of cringe like that's uncool um but there are still some architectural problems to work on there's still stuff to figure out it's not like the framework hopefully it doesn't ruin your life or rule your day-to-day work because you're working on a product not like plugging stuff into the framework true i don't know it can get bad when you have a particularly old technology because it's like oh this new browser came out and we can't even target it anymore and that happens like you need to really reevaluate but at that point it's a
Starting point is 00:21:09 business decision right like your whole business might be forced to change yep that's true and that's that's another good point that uh if if it's because of if it's because of personal reasons then then you just kind of have to either convince people or jump ship but if it's actively harming like your your your work then maybe you need to bring it up to to the team and maybe you have room to say we should rewrite something else because yeah we can't build on like yui2 anymore or something also in this question he said uh he or she said um there's no clear like migration path And when I hear the word migration, I think like wholesale, we're going to like redo this app in this new framework. That will never happen.
Starting point is 00:21:56 Yeah, that will never happen. If it makes money, it will never happen. Here's what's really cool is that in the JavaScript ecosystem, you can carve off pieces of your web app and run them with a different tech stack. Like more so than any other programming language or tool that I've ever worked with, JavaScript makes that possible. Because at the end of the day, you're just working with a whole bunch of freaking text files. Like you're not totally beholden to one framework. So, like, in my current work, we have a smattering of jQuery, React, and Angular, and React and Angular, and React in Angular in React. You know, it's like, you can do this, right?
Starting point is 00:22:31 And you might find that whole exercise to be challenging. And the reason I bring that up is because it's usually very hard to convince your team to move to a new technology. But it's also often very easy to convince them to do one small feature in a new technology just to try it out. And then especially if you are very diplomatic and you say, hey, team, I want to try out this new technology, but I don't want to commit us all to it because I know that would be foolish. But I want to try it out. And then after we ship this one feature, I want to have a meeting and get everyone together and we can talk about how well we liked it and if we did or didn't. And you might be surprised at how people will come around to new technology ideas when you do that, when you pitch it correctly. So that's a skill I think that people need to work on as well.
Starting point is 00:23:11 Yeah. Yeah. I guess I've also been assuming that the company you work for is good and there are good people there that you like and that will kind of mentor you and help you grow. But if you're just like stuck in some backwards company with people that don't like developers or I don't know. Yeah, you shouldn't stick around if you're unhappy. But if the company is great and the only thing is the technology, then maybe see if I would say maybe see if there's a way to kind of. Yeah, I agree with Dave. See if there's a way to sneak it in. But stay above board. No one, you know, developers hate it when you, like, literally sneak a framework in.
Starting point is 00:23:47 Like, oh, we're React Shop now, huh, Bob? Oh, sorry, guys. I just thought it was the best way to implement that dropdown. Yeah. And you just added 400 kilobytes to our main tab for that one dropdown, huh? Yeah, but they're so new. Those are the newest kilobytes in our whole system. Yeah, they're great.
Starting point is 00:24:05 Yeah. So five? Is that what I'm hearing? Five out of ten? Definitely. This is so personal, though. I think you have to gauge it based on what you want. But for me personally, if I was in a company that would not adopt new technology, I would want to bounce.
Starting point is 00:24:20 It is like a career thing, too. If you're convinced that you're in a dead-end technology and the industry is moving away from it, then there's something to be said for that. That's true. And I'll add one more comment for me, and then I don't have anything else, which is when I hire people, when I interview them, I usually am not looking for proficiency in the skills or in the tools that we use at work today. Like I'm way more interested in the candidate's ability to learn. Cause when I hire someone,
Starting point is 00:24:46 like I want them to be on my team for several years and I know because JavaScript, I know that we're not going to be on the same technologies in two or three years that we are today. And so I want to hire people who are like, yeah, I'd love to learn new technologies and I do it fast and effectively and responsibly.
Starting point is 00:25:01 And so if you can demonstrate to me through your work experience that you've been able to do that effectively, like i'm way on board with that i will never hire an angular expert or a react expert or you know an elm expert just because that's their skill i'll hire them because they're capable and of learning new technologies quickly and being you know good members of the team that way so like that's another reason to change jobs periodically because it does give you a nice chance to do a total reboot and and to flex that muscle the the relearning muscle that sometimes goes dormant when we just use the same technology for a long time yeah that's a good point answered
Starting point is 00:25:35 Question answered. Just follow our simple recipe. Yep. It's that easy. Just sit and talk for 15 minutes about it. And then 5 out of 10. All right. Well, those are the two questions we're going to do today.
Starting point is 00:25:50 Should we tell people how to get in touch with us if they would like us to answer one of their questions with a clear, straightforward recipe for success? Yes. Follow this simple recipe. Fix it in post. you can probably tweet at us for now I'm Jurgason J-E-R-G-A-S-O-N on Twitter
Starting point is 00:26:10 and I am DJSmith42 on Twitter tweet us and we'll put your questions on the list and if you're lucky we will answer them or if you're unlucky we will answer them yep okay thank you
Starting point is 00:26:22 so much for now bye bye

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