S12E10 So You've Been Hired === Sundi: Welcome to another episode of Elixir Wizards, Dan: a podcast brought to you by SmartLogic, a custom web and mobile development shop. Owen: This is Season 12, Office Hours, where we invite you to step into our office for candid conversations with the SmartLogic team about everything from discovery to deployment to the magic of maintenance. Owen: Hey everyone, I'm Owen Bickford, software developer at SmartLogic, and I'm your host for today's episode. For episode 10, we're joined by Emma Whamond and Micaela Cunha, developers at SmartLogic. Owen: Hello, Micaela and Emma. Micaela: Hey, Emma: Hi Owen, Owen: And how are we both doing today? Micaela: doing great. Thank you. Emma: doing fantastic. Happy to be on. Sure. Owen: we're happy to have you both. so in this episode, we're actually chatting with, two of our newest developers who've joined our team recently to share their first hand experience and insights on getting integrated into the SmartLogic team. So this is gonna be a fun conversation. I think let's start with, who has hired most recently? Owen: I don't remember. Micaela: I was, Owen: All right, let's go, let's go in chronological order then.so Emma, when did you start and maybe tell us a little bit about your background? Emma: I started at SmartLogic February 19th, 2024. So just a few months ago, I think I'm coming up on three months in a couple of days. So that's exciting. I am a developer. I. I mostly develop in Elixir and currently I'm developing in Ruby right now on a project. But I have a background in cyber security and I've only had a few years of experience so I'm happy to be on and begin working, developing larger web apps and so far. Owen: All right. And Micaela, tell us a little bit about, you've been here for how long and where you come from, Micaela: so I've been at SmartLogic, as a software developer since, beginning of March. So almost also three months ago.My background is in biomedical engineering. So I was working in academic research for almost 10 years.and then I did a little bit of work in the, education, space, uh, related to tech as well. Micaela: So I was, I was a tech coach for a while. and now I'm here at SmartLogic. I transitioned careers. And I've been working mostly in Ruby. So in one of the projects, one of the Ruby projects at SmartLogic.I've started learning Elixir, but I haven't applied it to anything yet. And I've also been exploring slowly, DevOps stuff, but also no applications yet. Owen: just learning it all. Micaela: Yes. Owen: Awesome. Great. you're, I'm already, my wheels are turning. I'm like, I want to talk about cybersecurity. Let's go. I want to talk about biomedical engineering. We'll get back to those maybe in a few minutes, but, uh, you're both new to the team,but you've been in for, let's say a quarter in business terms. Owen: So,Let's talk, let's start by maybe the process of getting onboarded as a human. So you've been hired. Congrats. Welcome to the team. What was your first week like, Emma, let's go. Emma: Yeah, for any new job, being onboarded, being hired, it's Nerve wracking, right? So a first week at a great job. I'm excited to start with SmartLogic. I've been listening to Elixir Wizards for years and I'm happy to be here. first week, so much to learn, jargon, business domain, code bases, getting everything set up, meeting the team. Emma: So the first week is the busiest, a lot to learn, the learning curve, is very steep and sometimes learning the code base diving in can feel like like a hazing ritual almost getting into it, but yeah, yeah, onboarding is It's expensive and time consuming, but for good reason. so in order to keep the devs up to pace, in order to bring more experienced devs to help pair or shadow, I think my first week was just filled with, Documentation, reading, going through repos, codebases, getting up to speed with the clients, meeting the clients. Emma: a lot in the first couple months, honestly. Owen: were you kind of looking at multiple projects or were you focused on one project that you would be joining? Yeah. Yeah. Emma: I joined one project initially, and it was faster paced for a new hire, I'd say. But sometimes those faster paced projects get you up to speed more quickly. You meet a lot more of the team, you meet a lot of the clients, you see a lot of things, you talk to QAs, and you, [00:05:00] a lot of moving parts. It can definitely feel overwhelming. Emma: I think that first project You're thrown in. You get to learn the code base by being given a few tickets and starting to work on the tickets in the code base, swimming through code, trying to understand things and you feel like a dog with paws at the keyboard, just trying to figure out where things should go, Owen: was that the project that we were on? Owen: that was your first one? Okay. Owen: from my perspective, you jumped in, anytime a new person comes in, I'm open minded. I'm like, all right, how much help does this person need? Owen: to be productive and,start, getting,code delivered or to understand even before they deliver code, do they understand what we're trying to do here? I do think you, you picked up things really quickly. I can relate. Like I've been here for a couple of years now.this is my second engineering job. Owen: My first one, I definitely felt like I was, like, I knew I had some technical skills, but jumping into a business with, a domain that I had to learn and it was expansive. it's just intimidating and a hazing ritual sounds about right. we're not trying to like, you know, embarrass anybody, but I know it feels that way, right? Owen: Yeah, it definitely does. It's not just, it's not just learning new technologies or learning a new code base. It's learning the business domain of a product that you've never even considered sometimes before. So Micaela, has your experience also involved some kind of hazing ritualsor was it a little bit, different? Micaela: Um, I think my onboarding process might have been a little slower, maybe little calmer. So the first, I really enjoyed the first week because, I had calls set up with, to meet everybody on the team. So it meet us a group of three or four in each call. you start by getting that human connection, right? Micaela: Getting to know, What other people are up to, what they like to do on their free time, right? and I remember we got to, to the all hands meeting and I already, knew all the faces and that was cool because otherwise seeing everybody on the screen would have been, and not knowing anybody, would have been a little more intimidating. Owen: Micaela: there was also some learning in between those calls to, to meet other people. there was some getting up to speed with, the project managing, Management processes, right? So, uh, getting to know how the team works and that was interesting to me because I've been part of, a bootcamp, a coding bootcamp, Where we discussed the Agile methodology and I was interested to know how that actually worked in reality and in the scope of a company that is an agency, right? Micaela: That doesn't have its own product. and then, also in that first week, we defined, met with my supervisor to define the professional development plan, so how I was going to ramp up to where I needed to be. so the project that I, What's going to be working on, was Ruby and I didn't know Ruby before starting. Micaela: So I had previous knowledge, I had previous knowledge of, C Python, JavaScript, but no Ruby. so we got started on, this, tool, it's called Cohen's and you go through it and it has,A set of tests that you need to. get rights in order to pass. So that was very, interesting. Micaela: It was an approach that I hadn't used before. but it was really helpful to give me an overview of what Ruby is about. I learned that Ruby is really flexible compared when you compare it to C It's really like Ruby, you just can do, whatever you want. So I was joking and saying that this is Ruby's The Wild West. Micaela: For better and worse. And then I was, I had a lot of support, so I was checking in like daily, with my supervisor just to go over what I had learned, and, where I was at and, just Um,so we were just like, we were sure, we were trying to make sure that we're all on the same page and that we're going in the direction that we wanted to go. Owen: Nice. What was that tool that you mentioned? the learning platform for Ruby. Micaela: it's Coans, Owen: Okay. Micaela: O A N S, and there's, that's for Ruby, and there's also Coans for Elixir. Owen: Nice. Okay. We're going to have to put some links into the show. That's a new one I haven't heard of. So,if it worked for you, I want to make sure that other people have access to that. So I think one of the, one of [00:10:00] the most exciting parts about joining a new team is whenever you're able to connect the dots of a project. Owen: Or projects that you're seeing to your past experience. Have you been able to do that? Are you, are you seeing your cyber security chops coming into play, Emma, on some projects? Either you're like, I, we need to add, this thing or that thing, or. are you connecting some dots in that way? Emma: I'd say that the, it was the other way around. my last cybersecurity job, I created, an Elixir API. And so that was when I started to use Elixir in my, in a professional, sense, because it is so much more secure than a lot of the other languages. Like we've already mentioned C or Cthat's been a big point of conversation recently. But I have, currently I'm working on a multi factor authentication for a Ruby app. So everything comes back to cyber security eventually and it's a huge part of an app. but not my first few months of my app experience with my development.but I did have experience working with Elixir. Emma: Phoenix, and a previous job, so I was able to build on that, come in with some experience, the pedal stack, if people are familiar, Phoenix, Elixir, Tailwind, Alpine, JS, and Liveview, so lots to build on from there. I think that cybersecurity is something that everything should be built on. Every app starts really should start with a sense of security in mind. Um, but, yeah, I don't know. I don't have too many. Owen: this is interesting because, so you had some experience with LiveU coming in, right? You'd worked with it at least to some degree. And,and this isn't an episode about,cybersecurity or LiveU security, but one of the, something just to toot my own horn a little bit, a package that I've released, Wow, was it a year, maybe two years ago? Owen: I don't know how long it's been now, but, I've got a package for LiveView apps, called WebAuthnComponents. Owen: And so it allows you to add, pass keys, primarily, to a LiveView application, in place of the basic password authentication.so it would be nice to maybe eventually do some pairing or huddling on,extending that to something like second factor authentication. Owen: So that it can be layered on top of more traditional auth. are there particular things you're doing in LiveView around the security stuff? Emma: currently no, but that is absolutely fascinating. I didn't know that about you to know. No, currently we're using some outside APIs to work with the multi factor authentication, but there's so many things to do with, with cybersecurity. There's so many, APIs to use with open source data and, to be able to track, Security vulnerabilities. Emma: That's something else in Elixir that is fantastic because of the way that Elixir is, arranged, was developed.currently not working on anything with LiveView though. Owen: Go ahead. So Micaela, biomedical engineering. I don't think we have any biomedical engineering projects at the moment, but are there maybe some skills that you're still able to use? sometimes you can have skills in one domain that do transfer over to an entirely different domain. Are you finding that to be the case with your projects? Micaela: actually And unexpectedly, yes, in my most recent project. So the first project was mostly, there was some connection there in the sense of it's Ruby base, right? So I was able to, use my knowledge of object oriented programming, on, onto that, but I also learned, about web scraping, which I have never done before. Micaela: that was new. For this most, recent project that I've been working on, we do work with, a lot of math.and, complicated mathematical expressions. And I, so I think that came in handy when it was time to understand what we need to be implementing, what are the steps to make that, really, complicated looking mathematical expression into some Something more tangible, into the results that, that we want to include in that, project. Owen: Awesome. I'm glad someone, we have a math person now, just give me a calculator. I'll figure it out. is this beyond [00:15:00] like algebra? Is it like getting into calculus or something more advanced like that? Or Micaela: this when you say complex? Micaela: It has to do with financial products, derivatives, and in this case, they're calculating, risk for the clients. so they want to help, they want to help the clients understand, You know what risks they might be taking on. So there is some calculations that they are doing to, give those, estimations to the clients. Micaela: So yeah, but so like the projects I've been, I had worked on before, this is more of a matter of implementation, right? you don't need to have the skills to fully understand what, what's going on in those mathematical expressions. you need to be able to, to implement them and make sure that they're giving the expected results, right? Owen: Okay, interesting. So I'm trying not to go too far into the weeds on these projects because, my wheels get turning. So,you did mention a few minutes ago, some, a couple of processes that we have here at SmartLogic that I think are, within the context of this conversation, very relevant. Owen: I know anytime someone joins the team, we, within I think a week or two weeks, depending on schedules, we'll have,meetings with, You'll be introduced to all the different people in the company. So that's usually three to maybe four or five people on the call in addition to the new hire. And then, also you mentioned to all hands. Owen: So I think right now we're doing, all hands. Everyone at the company joins a call for 30, 60 minutes once every two weeks.and then just to recap what you said, whenever, because you had, had the kind of introductory meetings, you, by the time you got to the all hands meeting, you weren't seeing a wall of strangers. Micaela: You were, you knew, everyone or most everybody on the call. So were there, I don't even know if there's a question there. It's it's just the thing we do. right. Owen: is that, is that something you've seen at other places you've worked before? Micaela: Um,I, it's, I'm trying to think, the other, this is the first, my first, fully remote job.so in that sense,I don't have anything to compare it to. but, I think, I, I think the other, the work experiences also that I had before, they were mostly all in, in small settings, right? So small teams where,you get to know everybody pretty quickly. And so there's not, you don't have that feeling that you are, you're just talking to strangers. So I think, I think I only had really one experience like that in which I was,I was new to the group and I was only introduced tofour people and then I had to figure out who everybody else was and what they were doing. Micaela: but,I really liked the process of here, that onboarding that I found here at SmartLogic where, there's that, Intentionality, right? Of,having people get to know each other because it's not just about your technical skills of what you can do. It's also about, creating connections with the other members of the team and being able to work together efficiently, right? Micaela: So having that. Getting to know the people, not just what they do professionally, but also what they do outside of their work, what their interests are. It's really important to have that sense of connection and work well together. Owen: What I like about these is they're This is like the one meeting where there's no agenda. there's no, list of, what we need to do or questions or whatever. There's no outline. Having that said, there is, I think, one relatively recent hire who, like, whenever I jumped into the call to do the meet and greets, they had, they did have some questions. Owen: They were like, all right, so I want to know about this and this. That was, it's just funny, like how people different,show up to these things with different kind of like mindsets andexpectations and stuff.Emma, I know you probably did yours three, three and a half months ago now. Owen: where there is, so is this a process you've seen in previous work as well? Or is it also your kind of first remote for the remote, Emma: I had a job that transitioned to remote work. During the pandemic. So that was definitely interesting. And I have had a fully remote job before, but this was the first time that I worked on a much smaller team. And so I looked, I used to work at a large mortgage company. I worked at a large university. Emma: And so meeting people just wasn't a priority like that. Maybe small team dynamics. But meeting the, being able to meet a whole company is a privilege, because SmartLogic is a [00:20:00] smaller shop.being able to understand those team dynamics, it helps make things more personable. And, I don't know, it keeps you accountable because the other people on your team and they know you and they can, you can reach out for help. I think in some of my other onboarding experiences, there wasn't a personal flair like that. So that was a nice surprise from SmartLogic.but with remote work, then that comes with needing to create,an area for being able to meet each other and meeting greets. Because it's no longer water cooler talk. Owen: You can't just meet them down the hall or preparing lunch in the office kitchen or whatever else, pop over the cubicle. you can't bump into people anymore. Emma: yeah, no, you can't. we're cross country. all of us are in different parts of coasts.but we wouldn't be able to have this opportunity to meet each other to share knowledge if it weren't for remote work, but it definitely does require you to put more effort into creating that personal touch. Owen: I like, Mikaela used the word intentionality. I think that's exactly what this is about, right? I go back and forth. Like I love the luxury of working from home and being able to come and go as I please and, not having any schedule and stuff that I have to, strict schedule that I have to follow aside from meetings. But I do miss being able to bump into people, being able to go to the lunchroom, Or like just step over to a desk and ask the expert on the thing without having to like, formalize, meetings and schedules and everything. We do that to some degree in Slack. Like you can call up anybody, either for a huddle or a pairing session or just, Open a thread and People are pretty responsive here. Owen: but yeah, I think the, and having a, a process formalized for making sure that whoever comes, joins the team is able to get introduced to everybody. It's really important. Cause we're still a small company, we're big enough that we have multiple projects going on at any time. Owen: So like Emma, we worked together for. Maybe four to six weeks. And then, depending on the project you're on, you might not see me for a while. Right. Owen: Owen: cause it just happens that way.cool. So let's see here. So we talked a little bit about these, these introductory meetings. I keep saying introductory, meetings. I know how to talk. I promise.let's talk a little bit about getting into some code. I, to show my cards, I'm the, I'm an Elixir person. I am very comfortable with Elixir, right? decent amount of JavaScript as well. I have not really done much with Ruby since I did some, some, not Django, There's another static site generator thing that I used to use. you probably know which one I'm talking about. But, so when you're looking at, a code base, Mikayla, what's your starting point as a new hire? Like, where do you go first? Emma: Hello, everyone. My name is Micaela: so the experience that I had coming into SmartLogic, was to get onto, Emma: user experience, Micaela: the project that is, the most well established, right? smart Logic has been working on that project for a long time.and so the, to get into, to the, so this has to do with the web scraping that I was talking about before. Micaela: so the goal is to go online and.get these publicly available data. Emma: one thing. Please read Micaela: and and because the project has been longstanding, there's some things that every now and then you need to go and fix, because the website changes. And so you need to go and, see what's not working, so you're, because you're not getting the data. Micaela: for me, it was, I think it was relatively easy because I had very specific, tickets to work on. And these were the, I think the scope was also, limited, right? It was that one specific, website that was not working. So sometimes just little things to, to correct. For example, the URL was updated. Micaela: And for this year is a different one than it was from last year, right? So that, that's pretty easy.And then there were some other cases in which, you needed to change the approach. so when you need to change the approach, you need to pay more attention to, to, to what's on that code that is not going to be needed anymore, right? Micaela: this, because it's Ruby, it's [00:25:00] an object, based.so you need to change the class that you're using because that's no longer going to be the case. So then you have to figure out, when you change that class, what that entails, right? So you need to go dig a little deeper, deeper in, into, what that changes in your code. Micaela: and so you also need to make sure that you're testing for.for that new approach. So to make sure that, you're still getting all the data that you're supposed to get on there. So that was another case. And there are also,tickets in which it was like, add this new, code to get this data that we haven't gotten there, I haven't gotten before. Micaela: and so you just need to go and look at what, what was done. for other similar cases, right? and when you go slowly like that, then you are able to,that you're not going to mess up the whole code phase, then that makes it, makes you more confident, gives you more confidence in what you're doing. Micaela: And you slowly start to understand what the processes are. Okay, so if you have this specific case, this is, this is how you go about it. if, if that doesn't work, you maybe try another slightly different approach that's already implemented and you implement it in that specific, in your part of the code. Micaela: so that's how it went for meto explore a new code base. and I think that's, that was relatively easy because like I said, the project is, it's been established for a long time and it has the separate,say silos in which you can, Go and, you know,fix the code or train your approach without, with the confidence that you're not going to impact the rest of the code. Owen: Are you, quick tangent, are you missing C Are you just, are you writing C after hours? Like, when, or are you, happy that you don't have to do it anymore? Emma: that would Micaela: when you define the function, for example, you know what you're getting out of that function because you need to specify you're going to get an integer, you're going to get, you're getting a string. so sometimes that at first, that, that was weird to me when I started looking into other languages that didn't have that, and I don't know, for some reason I assumed that, was more or less the standard in,for bigger projects. Micaela: so for example, and, one, one thing that really was surprising to me is that you don't need a return in Ruby, so you can just.it will just, you can just put the name of the variable and then that's what will return. And that is interesting because in a lot of other languages when you're, when you're learning, a lot of the time when you get these exercises so you can, fix what's wrong and then when you need to do debugging, a lot of times is that the return statement is missing. Micaela: And that's not a problem in Ruby. But that also means that you might be returning something that You didn't want to return,if you're not careful. Okay. Owen: dynamic typing versus static typing as part of that and then implicit returns. I know that in Elixir land, we've got Gleam, which is like a functional language. It's not Elixir, it's like a, it's another language that some Elixirs will use as well whenever they do want very statically typed. Also, there's some research work that's been in progress where we're going to start getting types in Elixir directly and, gradual typing. we're starting to see that, I think, in the upcoming Elixir release. and the backend, and the source code for Elixir itself are starting to add more and more gradual types. Owen: And then we'll have an interface for being able to use those.so yeah, I, I agree. Like I, I have been a very happy dynamic programmer, dynamically typed programmer, so I haven't really missed having types. Until recently, I did a thing with TypeScript using an API that was pretty convoluted and I thought I understood it. Owen: And once I started refactoring things using TypeScript, I uncovered a couple of things that I just had misunderstood or whatever about the API. Cause sometimes documentation doesn't,fully describe the thing that you need to do. And so types really helped uncover some of that nuance there.so And then Emma, when, let's see, when you're jumping into a big gnarly project, you're being hazed. You start with tests. Do you start with,just endless calls? Like where do you jump in? Emma: yeah. I think the first thing I [00:30:00] do is look at the tests. I think they call them living documentation. Not exactly what the app does, but what it should do. So you look into the test and that's where I start. I think my priority for a new project is to push. One commit, even if it is to change a font size, just to make sure that I know the process I have my environment set up. Emma: I have the code base. I understand where at least one thing is.I understand that Any new tools that we use, or some of the dynamicsof PR, some of the PRs, how to write it, what is expected of me and this team, yeah, but big, gnarly, especially legacy code bases, like a lot of Ruby, a lot of Rails code, you have to start with the test, especially if They're long. Emma: I think just finding or stumbling my way through some of the apps, going through, different pages, trying things, where does this go? Having the inspector open, inspect, everything I can, trace it back to the code, a lot of investigation going on, not necessarily a hazing experience, but, But yeah, when I first started at SmartLogic, I was put on an Elixir project. Emma: I feel comfy in Elixir. Elixir's great. But I did learn C in school, job in school. They don't teach Elixir or Ruby in universities. So that was something that I had to learn on my own. I'm comfortable not learning Elixir. I'm not coding in C anymore. Sorry, Micaela. I'm happy to, I know, I'm happy to have left that in my past. Emma: but there are a lot of implicit, like you said, implicit magic in some of these Ruby projects, some of these Elixir projects. I think that's why stepping through the code base and going through documentation is extremely important because Sometimes there are things, I don't know, tribal knowledge that everybody else knows you go in and you're like, what, why does this do this? Emma: Where is it coming from? What's going on?and so, Owen: really, Emma: to, oh, go ahead. Owen: what's really fun about that is whenever you have that reaction and then you look and it was your code that you wrote six months ago. You're like, Who can I be mad at? Owen: Right. Emma: Who can I Owen: Whoops. Emma: I know. Yeah. Yeah. I get blamed always.calling you out. But yeah, no, now I know to blame you and I, what I find some of that Owen: It was always Owen. Emma: yeah, but I think that's where it comes back to needing that kind of, like personable touch in these on, in these, And these teams that are online, that are remote, because then you can call, you can, you have to Slack them, you can't just pop over, over the cubicle wall and say, hey, you did this code. Emma: I don't understand it. I think that especially with a new hire and someone that is newer to, to development, especially in Elixir, that is still a growing language, being able to rely on your teammates. is huge. And so going into a new coding project, into a new code base, starting on a project that I've never touched in a business domain I know nothing about, I have to lean on my teammates to be able to walk me through those things. Emma: Think pair programming or especially asking the QA, just yeah. Our port QA, my first week, my first month, I like speed dial, boom. How do I do this? Where is this? Why is that? Where can I find this? What is this called? so I think, yeah, looking at tests and keeping the QA on speed dial or my techniques. Owen: Yeah, I think you're raising a great point. I'm putting myself back into, new hire shoes. So I think one thing I've struggled with, internally, just in my own mind, whenever I'm new to a team is, can I find the answers myself? Or, like what's the right level of asking for help? Owen: am I bugging people? Am I, Being annoying. Am I going to look bad if I'm asking too many questions, that kind of stuff. I don't know if you feel that too, but that's where my mind is at sometimes if I'm new to a team. over time, I've, I think I've just gotten more comfortable just asking a lot of questions and doing huddles and pairing and stuff. Owen: Mikhail, is that good? Emma: no, I was just going to say on a fast paced project that has like time or money constraints, you feel bad ripping senior devs off a difficult problem and hey, what is this called? Like questions like that, or having to hunt for [00:35:00] documentation that you're not sure exists. Yeah. It's a strange feeling. Owen: and one thing I think, I appreciate is as someone who is working with a new hire, I've got a sense for, are they asking me for the answer? Or are they asking me where to find, are they asking me, like, how to find the answer? So I think that's a key distinction, right? Cause sometimes you're in the heat of a problem and you're just like, I need to close my ticket. Owen: I need to get the PR opened. I need, I want this done in 30 minutes. Someone help tell me what to do. That's one way of going about it. I think another way of going about it is what you're saying is just knowing what I know about the project. There's sprawling documentation. across a bunch of different places. Owen: So knowing where to even look in the first place or like what, how to form the question is hard on its own. So,I think those are great conversations we've had. Micaela, have you had a similar journey in terms of figuring out how to communicate with the team, how to get help and what type of help to ask for? Micaela: I think it's, like Emma was saying, it's always like a struggle to know, should we, are you bugging,your supervisor or your coworker when you should be able to figure this out yourself, right? yeah. And also for me, learning a new language, is okay, how much of this am I supposed to be able to figure out by myself? Micaela: I like to be able to figure out by myself because then that, that will give me the confidence to, to work on the, the next, challenge. but at the same time, this is, SmartLogic is an agency, right? So you cannot just be. Spending all day looking for a solution to something that's going to be like what a tenth of your, everything you have to work on. Micaela: so I think it's hard to find the balance and still working on it. because, yeah, sometimes you could be like dragging a senior dev or something onto that. But, yeah. would they have, that you don't know whether they would have the answer right away, Or if they would be also, working on that with you trying to explore what's going on. So an example that I can give was, is that when I, in one of the projects that I was working on, had to install, use Nix store, and I That first it took forever to install, and I don't think anybody was expecting that, that it would take that long. Micaela: but, that one. That went well, we got that installed, I got to work on the tickets that I needed to work, and then my computer needed a software update. okay, software update, reboot, trying to restart the code. no, that it's broken. Where to go from here? and at the time I was, so I tried to, figure out the issue myself. It was, I was not really sure if I had to install it again, if, if it was just like a path issue. and I, DM'd my supervisor on Slack and I'm like, this is what this is happening. Micaela: What should I do? But, I could see that this agenda was pretty chaotic during those days as well. So I'm like, okay, it really didn't occur to me to go ask somebody else because it was, I thought, for some reason, I thought it was specific to that project, and that's a small project, and I don't I was not sure who had been working on that, more or less recently. Micaela: So I, I spent some time, Googling what I could do for that. and then I got some feedback from my supervisor and so I ended up, we ended up working on, on, on that for Emma: being Micaela: and we figured out the solution and you know it turned out that he also didn't have the answer for me like right away soin this case I think it was like a good call to trying to use some of that time on my own to also to understand you know what to do in case that something like that happens againso yes in that sense it was It was a good call, but you never know, right? Micaela: So sometimes I think you need to have a mindset of what, of, okay, I'm going to spend some time working on this, trying to figure it out myself. And, but if I don't, find a solution, I'm just going to have to contact somebody else. And that's okay. And, oh, I was going to say, then I ended up, like writing that down, the steps. Micaela: because if that happens again, now I have somewhere to go, as a reference [00:40:00] to,to find the solution or if somebody else on the team, faces the same issue. Owen: when you wrote it down, it wasn't just a Post it note, it was Micaela: No, Owen: accessible? Micaela: it's actually, it's on my notes, but then I ended up sharing that document with other,people in the team. So yeah,I, that's a good point that you raised. Maybe, I should ask where is centralized,place that I can put info like that so that everybody can see it. Owen: It is tricky. I mean,if I'm running into a problem on a particular project, let's say it's a Nix setup thing, then,once we've figured out what the problem was, yeah, I'll try to update. Okay. the readme or whichever document within the repo is about that. And then about that step of the process, so that, exactly what you're saying. Owen: so that the next person behind me isn't also running into the same problem,sometimes it's just a weird thing, right? Like it's just, oh yeah, you updated the OS and no, like we just had never come across that problem before. So those things happen. I think. One, one area where I've seen people struggle is when they just don't ask for help at all, or like enough, like when they get blocked, especially if it's happening for several hours or several days, really got to reach out to somebody for some help, so I think you guys have been great at, Both trying to find answers, but also,speaking up whenever something needs to be unblocked. Owen: Right. Emma: yeah. I think one of the biggest things with that ison a new team, you learn what kind of knowledge people have, because you don't know who to ask for or who knows what just yet. And as you acclimate to a team, you start to understand who does what or who is better at what or, what domains people live in. Emma: and then you also get to share that. With your team. I think something that I ran into was that they didn't know what level of a developer I was. And so being able to share my amount of knowledge in a particular area, to become a better resource for my team and so that they become a better resource for me. Emma: So I know who to reach out to for help.I just wanted to mention that really quick. Owen: It's a good call out. it's tricky, right? Cause when I think about which type of engineer am I,which category do I fall into? it depends a lot on,I think traditionally we think of experience, like how many lines of code, how many hours of coding have you done, yada, yada, your big projects, but there's also what does the company. Owen: That you're at actually need and what are their kind of particular requirements for each level? Then, like a senior engineer, at SmartLogic might be very different from a senior engineer at something like Google. just jobs are comparable in some ways, but I think largely very different. Owen: yeah, it's just a hard thing, right? So it's like hard to know who am I? What am I? But, Emma: Yeah, I think in tech knowledge is so domain based, like just being a senior dev in Elixir doesn't make you a senior dev in something, another language. and yeah. Owen: we really could go on for another hour. I've got more questions and more topics I'd love to talk about. I'd love to dig deeper into the biomedical engineering, cybersecurity stuff. Maybe we'll have another opportunity to come back to those topics. But again, thank you both for joining us and for joining the company, also being on the episode. Owen: yeah, any final, plugs we'll go with Emma. Do you have any final plugs or asks or just anything you want to get off your mind before we go? Emma: no, I'm just really happy to join the podcast. I've been an avid listener for years, so it's wild for me To be on here right now. yeah, just happy to be doing it for any new hires out there, anyone going through their new hire experience. Best of luck. I promise you'll get through the hazing ritual. Emma: No, I'm just kidding. No, just reach out for help and, just time. Time heals all. Just persist. Owen: And just to clarify, when we say hazing, we're not talking about, physical, mental, or, alcohol abuse or anything like that. It's just that's a lot of code. That's a lot of documentation. Emma: Yeah. All Owen: anything you want to wrap up with? Plugs, projects, anything like that. Micaela: Yeah. I want to thank you guys for having me here. and I would like to,I volunteer, and I was organizing, meetups, with a local group. It's called Baltimore Code Coffee. And there's, Code Coffee is a nationwide community that I think we're in over 25 cities now. check it out, codeandcoffee. Micaela: [00:45:00] org. check if you're. there's a community in your area. It's a super friendly, very welcoming. So whatever level you are at in your career, or if you haven't gotten your first job, I was, I started going when I started, when I first started looking into getting my first job in the tech industry and, I've made friends, I've made connections. Micaela: I got, the tech community here in Baltimore. so check it out. Owen: Nice. Now I've got to open a tab and find out if there's one in, in the Dallas area where I'm at. Micaela: I right. Well, thank you both. I'm sure there is. there's meetups everywhere. thank you both, Micaela, Emma, for joining us. And this was a fun conversation and yeah, we'll wrap it there. Micaela: Thank you, Owen. Emma: Thank you, Owen. Dan: Elixir Wizards is a production of SmartLogic. Owen: You can find us online at smartlogic.io and we're @SmartLogic on Twitter. Sundi: Don't forget to like, subscribe, and leave a review. Dan: This episode was produced and edited by Paloma Pechenik for SmartLogic. Sundi: Join us next week for more Elixir Wizards Office Hours as we deep dive into another aspect of the software development lifecycle. Yair: Hey, this is Yair Flicker, president of SmartLogic, the company that brings you this podcast. SmartLogic is a consulting company that helps our clients accelerate the pace of their product development. We build custom software applications for our clients, typically using Phoenix and Elixir, Rails, React, and Flutter for mobile app development. We're always happy to get acquainted even if there isn't an immediate need or opportunity. And, of course, referrals are always greatly appreciated. Please email contact@smartlogic.io to chat. Thanks, and have a great day!