
Develop Yourself
To change careers and land your first job as a Software Engineer, you need more than just great software development skills - you need to develop yourself.
Welcome to the podcast that helps you develop your skills, your habits, your network and more, all in hopes of becoming a thriving Software Engineer.
Develop Yourself
Office Hours: Answering Your Coding Questions EP 1
Got a question you want answered on the show?
Drop it here: Ask Your Question
On today's show:
"I’m currently a mid-level product manager thinking of switching to software engineering. Is that too ambitious?"
“Where do I get good at interview practice? Leetcode seems unrealistic. Is there something more practical?”
“Should I go all in on C# or .NET instead? Or maybe get a CS degree from WGU?”
“As an early career dev, should I be building side projects with AI tools like Cursor—or is that risky before I know how to code well?”
Shameless Plugs
🧑💻 Join Parsity - For career changers who want to pivot into software.
✉️ Got a question you want answered on the pod? Drop it here
Zubin's LinkedIn (ex-lawyer, former Googler, Brian-look-a-like)
Welcome to the Develop Yourself podcast, where we teach you everything you need to land your first job as a software developer by learning to develop yourself, your skills, your network and more. I'm Brian, your host. Today I'm doing something new. I'm doing a show called Office Hours. For many of you that maybe don't know, I did around 600 or more phone calls with software developers all around the world over the last few years. It happened when I put up a little link basically to schedule a call with me, and many of you out there listening have actually done this, but I get asked the same questions so many times that I thought it'd be really fun and maybe more efficient if I just answered them here.
Speaker 1:So maybe you have a question that I'm not addressing on the show. I'm talking about AI or JavaScript or things that might not be particularly relevant to you. So what I'd like to do is begin answering your questions on the show and if you want to shout out, just give me your name, and today we're going to go through a few questions that I've seen. I'm always going to pick the ones that are the most representative of other issues that I see people having right. So if you have a really really niche question that I don't think is really going to help anybody besides you if I answer it on here. Maybe you should just schedule a time with me If you can find that link schedule a time. I'm always happy to chat with people, but I'm mostly going to pick out problems that I think are interesting to answer or representative of issues that I see many software developers dealing with. So let's get right to it.
Speaker 1:So this one is anonymous. It's from a person that says hey, I'm 39 years old trying to break into tech. Still haven't landed my first real dev job. They started in 2018, done a bunch of courses, communities, networking, linkedin. They thought front end was just HTML, css and a little jQuery. The resources they found didn't really teach the fundamentals. They say I feel like I'm always copying patterns and not learning concepts. Since 2022, I've been more focused building full-stack apps using TypeScript, react, slash, next Vite, mongodb and various auth tools.
Speaker 1:Okay, I have some opinions already. I freelanced a bit and I'm learning SQL or SQL, but I still lean heavily on AI before that, stack overflow and endless Googling just to get things working. Interviews are rare and I've had no offers. I work 10 to 12 hour night shifts and spend nearly every weekend and weeknight coding or learning, I'm considering going all in on C sharp or dot net and, if that doesn't pan out, enrolling in WGU for a degree. Is this just a longer than average path or a signal to change course? There's a lot going on in here that I want to unpack, you could say. First of all, thank you very much for the question.
Speaker 1:Anonymous person, I've heard some variation of this story many times. Basically, you're trying to go and learn as many things as you think possible. You're doing TypeScript, react, mongo, various tools why would you be using various auth tools? But what I think you're doing is you're trying to find the right mix of technology that's going to seal the deal and get you hired. And when I hear that you actually have had interviews and that you didn't get an offer from those interviews, I'm beginning to think maybe there's a problem that's a little easier to solve there. If the problem is you're getting interviews and not passing them, that's a well-known, established problem to solve. There's many courses, there's coaching programs, there's books on this subject. There's a whole industry on passing interviews.
Speaker 1:But it sounds more like you're just having trouble even getting to an interview and I would really caution you about adding more, and more and more skills to your tool belt because, honestly, that's a bit of a red flag when it comes to hiring people. If they say I know three or four languages and they haven't been professionally employed, and they say they knew five or 10 different like tech stacks or whatever, even three or four Like I use this off and I've used this off and I've used Mongo and SQL, and more and more and more, it just gives you that impression that, well, you probably don't know any of these things very well. So what I'd focus on if you have two tracks that you need to focus on one is the technical and one is the market development is what we would call it you should treat those like individual tasks. Build a project using the tools and tech stack that you're familiar with and that makes sense for the market that you're in. I can't tell you that without knowing a little bit more about you, but C-Sharpernet is pretty popular in the Midwest and throughout a lot of the middle of the United States in general and on the West Coast or startups or places that are more tech-centric. I noticed that things like React Next, typescript, mongo, postgres these tend to be really, really helpful. And if you're saying, hey, I'm really leaning heavily on AI, it's hard to know what that means. I think we're all doing that right now. It's a collective shift going on where we're really getting off of places like Stack Overflow and increasingly leaning on AI.
Speaker 1:Now, the way you use AI, of course, is the way you use it right. So if you're using it to literally just give you the answers to things, obviously that's not gonna work out very well in the quote-unquote real world, because either when you get to an interview or on the job and they may even not allow AI on the interview or on the job, and now you're going to have to defend your choices you're gonna have to look things up the quote-unquote, old-school way. You need to know how to do that. So it's one thing to validate what you're doing with AI and saying, hey, does this make sense? I'm thinking about using this approach. We're all using autocomplete, we're all creating functions, we're all telling AI what to do, whether you're using Cursor or ChatGPT or Cloud or whatever.
Speaker 1:So having it as a crutch is dangerous too early in your career. So if you have to, you know, go really old school and just literally turn it off until you feel like you have enough confidence and technical foundation to turn it back on Now, when it's on. The ideal way that you're using it is like an assistant. If you're using it like it's your boss, well then you have a problem and you should probably turn it off. Last thing I wanna get into is going to school.
Speaker 1:Now here's my unfiltered opinion on this. I have actually met at least one person that went to WGU, got a degree and it worked out well for them. What I really think you're trying to do through this, and what I think most people are trying to do when they're thinking, maybe I'll just get a degree, that's a really long path. That's not gonna give you any more credibility than going the self-taught or bootcamp route. No one's really going to care that you got a degree from WGU. If I'm just being honest Now, if you wanna do it for your own personal reasons, by all means do it. If you think it's gonna be the magic bullet that's gonna get you the job, you got a big, not fun surprise coming. That's my strong opinion. If you were my friend right and I was talking to you and I'd be like dude, don't do that. I would just straight up tell you, hey, don't do that. So I guess that's what I'm kind of telling you on here. But without knowing you, I don't want to tell you not to go do something that maybe you have some sort of personal aspiration or some personal goal you've had since a child or something to get some degree in computer science. If that's, by all means, do it. Otherwise, don't do that.
Speaker 1:Keep focusing on your technical skills. Double down on the tech stack that you're familiar with. Build something very interesting with it. Build something fairly complex, ideally, that leverages AI. Be on LinkedIn, talk about this project. Search through your first connections on LinkedIn and in real life. Look up people in your life like your mom, your uncle, your cousin, and just say hey, do you know anybody who might be in tech? They're not going to be able to hire you, absolutely not. Your mom's not going to be able to give you a job, but she might know somebody that knows, somebody that could get you an interview.
Speaker 1:Only using LinkedIn, only using big job boards, is a source of frustration and pain for so many because they don't work. They just stopped working a while ago. They've never really worked that well, but they've really stopped working recently. They just are less and less efficient and effective than they used to be. So I hope I answered your question. I know I kind of went on a little bit of a tangent there, but this is a problem. I see a lot and I wish I could give you some really, really specific advice on what to do, but it sounds like you're dancing around the right path. It's just a matter of doubling down on those fundamentals and then doing a lot of market development by doing some grunt work, by looking into your contacts and finding a network of people that you might not know, that you know, and then reaching out to all of them. Not fun, not comfortable, but it's very, very effective. I really hope that's helpful.
Speaker 1:The next question is from Estevan. He's currently a mid-level product manager thinking of making the switch into software engineering and he quoted Zubin, who was on the podcast recently, and Zubin has all sorts of quotes. He's the best quote guy ever. He said if you run after two rabbits, you'll end up with none. He said I'm fearful that going from PM to software engineer is too ambitious. What are your thoughts? No, it's not too ambitious. What are you talking about? Product managers and software engineers are pretty connected, right, we work together, we talk together, we work through major projects. The pipeline from software engineer to product manager is well-defined. I've met a lot of people that have done it. Alex Lau, who was on the show and is a best-selling author of a book on software engineering, did this switch.
Speaker 1:So going from software engineer to product manager or product manager to software engineer, especially nowadays, I think, is a great move in either direction. If you find that you're like you know what I really want to do, what those people are doing, and you're talking about product and software engineering, which is so tightly coupled in most organizations, one, you're going to come into software engineering with a product mindset, which is really really helpful, especially at a smaller company or a startup, where they're often looking for software engineers that have a bit of a product mindset, like, basically, how can we improve this product? What are our customers going to like People that give a damn about the code they're making, beyond just making really sexy code, right? So if you're that kind of person and you have some technical skill not even that much I think the bar might be actually lower if you're a product manager that knows how to code than the other way around. Yeah, so I think that would be a really cool switch and I don't think that's too big or ambitious of a switch. You got this. Yeah, man, join us on the dark side, come over to the software engineering side. It's better over here. We all float down here.
Speaker 1:All right, now we got a question from Jonathan. Thank you, jonathan. Where do I get good at interview practice? The million dollar question. I hear about LeapCode a lot, but since LeapCode style questions are rare, are they rare? Is there a similar website with more practical exercises? He said he loves the podcast. Thanks for taking the question. I like you too, jonathan. Don't wanna say I love you. That might be weird, but here's the deal right. Where do you get good interview practice? The best interview practice is almost always gonna be with a human. I'm actually gonna interview a woman who is coding interview famous Coding Interview Famous. Her name is Allie Lerner of interviewingio. That's a really good site.
Speaker 1:Now, if you're looking for a free way to practice with another human being, which, in my opinion, is the best way to practice for your interviews, go to prampcom. We recommend all Parsity students do this. What's good about Pramp is that you're interviewing with a stranger. Now, when you're interviewing with your mom or your cousin or me, let's say if you're in Parsity and you're interviewing with your mom or your cousin or you know me, let's say if you're in Parsity and you're interviewing with me, you're used to me, the stakes aren't as high, you're not as fearful.
Speaker 1:You need to learn how to deal with your nerves. So that's one part of learning to prepare for interviews. It can't only be technical, it just cannot be, because very few interviews in fact I can't think of any interview I've done in the last 10 purely technical. They're behavioral. They also will bring your nerves out of you. You'll be nervous. You'll bumble over things that you normally would get right. So one have some stories in your back pocket about the time you dealt with a tough coworker, the most technically complex project you've done, something you messed up on. Some of these behavioral stories would just come up so often.
Speaker 1:Look up the STAR method. But as far as getting good at technical interview practice, leetcode is great. The problem, though, with LeetCode is it has thousands of questions and if you just do random questions out of it, it's like going to the gym and just picking up random weights and thinking you're going to get buff in 12 months doing that. You need to have a plan, and the plan, in my opinion, if you're studying for data structures and algorithms, should include all the different types of data structures that are the most common in technical interviews. So that might include trees, linked lists, graphs, heaps, stacks, queues.
Speaker 1:If you learn how to create those data structures from scratch and then look at problems that leverage those types of data structures and then start doing some pattern matching where you're like, oh, this type of problem requires this type of data structure or it's often coupled with this type of data structure or this particular algorithm, like binary search or merge, sort or counting intervals or two-sum or a greedy approach, there are like a bucket full of probably like a dozen or so algorithms and data structures that you need to know, and then you need to know when it's appropriate to use them, and then, once you do that, I think this can take a couple months. I think up to three months, honestly, if you're being fairly aggressive. Then you're really prepared for interviews at places like Google, meta, netflix, whatever, and my main advice if you're going for these kind of places is take more time than you think you need, because it's quite a lot to study and the stakes are really high. The salaries are incredibly high and the expectations are very high during the interview. So don't skip out on the study Now if you're going for really any other company outside of that.
Speaker 1:Now what I've seen personally and with the students from Parsity is mostly interviews that go a little something like this Build me a React component in front of me, maybe there's some sort of API layer. We're going to debug something. We're going to do JavaScript trivia or maybe some coding language trivia Like how does this work in this particular language? Tell me about yourself. It's more behavioral than anything they might even have you do something like look at a bug in our code base and fix it Much more practical types of problems you're going to likely encounter outside of the big big tech organizations.
Speaker 1:Now, if you're looking for particular services that I like to use, algoexpert is one of my favorite. The thing about AlgoExpert I like the most and I'm not sponsored by them at all is the fact that they have both an algorithms and data structures track and a front-end track. I have never seen another company have a front end focused interview set of questions and they do, and I think it's wonderful. They have like stuff on like vanilla, javascript, css stuff and they even have like React stuff. So it's perfect. It's my favorite way to study for the front end and the data structure and algorithms style interviews. So if you're going to go with something like that, I buy it, like every year. I spend 99 or 100 bucks, whatever it is, every year to renew my subscription. Anyway, they really should sponsor me for saying that.
Speaker 1:All right, and the last question is what are your thoughts on working at a company versus freelancing for someone looking to find their first role in tech? What a great question. Thank you, alex, for sending in this question. So my doesn't really matter and it also depends. Geez, I've turned into your typical software developer. I just said it depends because it always depends, right, like I've worked for companies, I've done freelancing. I've done them both at the same time.
Speaker 1:And if you're looking for your first job, what is your first job really for? Think about what you're asking too. The first job is really just for your own validation. It's your entry point into a new career. So whether you're freelancing or working at a company really matters less than the type of work you're doing and if you're optimizing for your learning at this stage of your career. Because if you're in this new career and you're freelancing or you're a W-2 worker, no one's gonna care, right, you're gonna go to the next job.
Speaker 1:The first job in all reality is just preparation for the next job, right? That's kind of how this whole game works, I hate to say. Whenever I'm at a new job I'm thinking what do I want to do here? What kind of mark do I want to leave? So I can talk about that in the next interview. Maybe I'm just neurotic and weird and just playing this game because I like playing this game.
Speaker 1:But I talked to another software developer and there's actually a really famous guy out there. His name is Zach Wilson. He was at Airbnb. He had a really interesting take about like leaving the job and like when you should job hop, he's like don't job hop until you've done something noteworthy or made like an impact at that current job. Then it's okay to leave and it really doesn't matter how long you were there. I don't know if I fully agree with that, but I mostly agree with that. So anyway, doesn't matter, go somewhere, leave a mark, optimize for learning, do your best, go kill it at that job and then you're going to be prepared for the next job.
Speaker 1:Now, if that freelance job includes, like building a website for your mom or something like that, then you know, yeah, you should probably be looking for your W-2 full-time software engineering role in addition to doing that. There's nothing wrong with building websites for your local church or the local food shack down the street. Plenty of people at Parsity have done that and that is what ultimately got them to the job that they wanted or the job that was their full-time job. I've done episodes on a few people in the past that had this experience. So, yes, all freelance is not created equal and all jobs aren't created equal. If you're doing a job where you're writing HTML emails and, yes, this was a real thing back in the days I knew an HTML email developer then, no, that job's not going to really help you out so much. Now, if you're doing a freelance job where you're building out AI agents for a local startup or something like that, that's a very, very impressive thing and you can leverage that in the future. So I hope I answered your question and I appreciate you for asking it.
Speaker 1:Now there's one last question comes from a chap from Australia, and this was through Buzzsprout. This was not through the forum that is located on the bottom of this page. In fact, if you're listening to this, please use the forum and the show notes to submit your questions. It comes through a service called Mail and Buzzsprout. It's the service I use to spread out the podcast. It's kind of a weird service because I can't answer directly to you. I can only find your mail, but I can't respond to your mail. It's a very strange service.
Speaker 1:Anyway, last question of this episode. It says I'm a very early career developer and the message to be able to create side projects with AI tools like Cursor is very conflicting. On one hand, you have to be competitive and create unique side projects to be as good and competitive as other candidates. On the other hand, I really need to learn how to code well without AI. It's a very confusing message for early career developers and puts one in a hard position when the market is pretty competitive Oof. This is a really tough one.
Speaker 1:Should you be building your side projects with AI and if you don't know how to code very well, what is the danger of using AI too early on in your career? We kind of touched on this with that first question, but yeah, I don't have a great answer for this. To be completely honest with you, I think you should be using AI when possible, especially once you're past the fundamental stages of learning. You should be using AI when possible, especially once you're past, like, the fundamental stages of learning. You should be using AI to scaffold your projects quicker. You should be using it efficiently. You should understand kind of the pitfalls and where it excels and where you need to check it. It needs to be your little junior developer and I know that's really hard because you're a junior developer. So it's like well, how do I know what's good if I don't even really know what's good? So I think the minimum effective dose you can use with AI is probably the best.
Speaker 1:Maybe don't use agent mode, where you have a little AI agent going across multiple files in your code base and just doing tons of changes. Go through every change. Be really diligent about that when you're doing your own personal projects. I know it's tempting to just get something out the door, but you should be establishing the patterns. For example, if you have a backend, like, well, what are the patterns for authentication? Do you have middleware? If you have a frontend? What are the patterns for creating a page versus creating components? What are your folder structures? How do you like your code organized?
Speaker 1:Think about these things, not as an afterthought, but before you even consider asking the AI, because the AI is gonna do whatever it's been trained on, based on the billions of lines of code it's seen on the internet. But that's not maybe what you want. So make a decision, have some opinions. And if you don't have opinions on these things, read some books like Clean Code in JavaScript. Go to a site like DoFactory, that's D-O factory and look up JavaScript design patterns. Now you can make some informed decisions about the kind of code that you want to write. And now it becomes more of like okay, I came up with the architecture and the AI is simply going out and doing it and then question it. Say, why did you add 500 lines of code? Why did you add a rate limiter?
Speaker 1:In this simple project I'm doing, ai seems to be very incentivized to give you the most amount of code it can possibly give you, which is often not what you want. So make sure you're cleaning up the mess that it creates, make sure you're only doing maybe one file at a time and make sure you're going through those changes and seeing do they make sense to you. So that is my long-winded answer. I hope that's helpful and again, thanks to everybody that wrote in questions. I can't wait to keep doing more of these. I really hope that this is helpful for you and I'm gonna be doing these every week.
Speaker 1:You can slide questions in my DM and LinkedIn. You can leave them in the forum. You can subscribe to the newsletter and then respond there if you want. I don't care how you give me the question. If you want your name shouted out on the show, just let me know. If you don't just say anonymous and I will respect that. Thank you so much and I'll see you next week. That'll do it for today's episode of the Develop Yourself podcast. If you're serious about switching careers and becoming a software developer and building complex software and want to work directly with me and my team, go to parsityio, and if you want more information, feel free to schedule a chat by just clicking the link in the show notes. See you next week.