Some of us buzz with excitement at the possibility of getting into tech while others find that same excitement through teaching. What do you do if you are drawn to both the tech industry and teaching? Both! But, what if you don’t know software development at all yet? What if you could learn tech via a coding bootcamp and in a short amount of time go from boot camp grad to tech teacher extraordinaire?
Meet our next guest, Adriana Castaneda. Adriana was initially taking a different career path. She was a biology major who had her sights on going into medical research, but something happened that changed her course. Her sister was a DeVry University student and Adriana accompanied her to some tech meetups. It didn’t take long before curiosity got the best of Adriana and she fell head over heels in love with software development. One short year after graduating from her coding boot camp, Adriana began teaching coding to others. Are you ready to hear her story? Give a listen and check it out!
Adriana Castaneda is a Python Mentor at ChiPy Chicago, a Computer Science Instructor at The Latin School of Chicago, and a Front End Web Developer Instructor and Software Engineer Instructor at General Assembly. Before this, she was a junior web developer for Dev Bootcamp as well as Health Engine LLC. Before that, Adriana was a TA and Presenter for RailsBridge Conference.
Adriana is a 2015 Dev Bootcamp grad and has a BS in Biology from North Park University in 2014. She was initially planning on going into medical research but changed direction when she fell in love with coding.
Episode Highlights and Show Notes:
Arsalan: Hi everyone. Today my guest is Adriana Castaneda. How are you, Adriana?
Adriana: I’m fine. How are you, Arsalan?
Arsalan: I am fantastic. It’s so good to have you. I say that a lot because it’s so good to have all of my guests, but you are wonderful in a different way and the reason is because you did something remarkable in your career. You were going one way and getting a liberal arts education and probably going to go into history or some other type of humanities. Were you trying to get into one of the humanities? Were you trying to do something political? I’m not really sure. But by some accident in history, you found yourself not only in software development but also a software development instructor. That is something I’ve never seen before. Tell us a little more about that.
Adriana: I actually started my career in biology. The idea was to do medical research. During my senior year, my sister was going to high school at DeVry University. While she was going to high school I would have to take her to different meetups. Some of those meet ups were for HTML and CSS classes. That’s where I got started. Before that, the computer was a magical thing that some super geniuses had created, or so I thought. But once I learned how the Internet worked and how to create a small website, that kind of broke down the magic for me and I realized that this was something that people can do.
Adriana: Once I graduated from the University, I went into Dev Bootcamp and I learned backend as well as front and technologies there.
Arsalan: That’s really fascinating. So, you went from being someone who is not really interested in software development and had no idea how to be a software developer, but once you saw it, and you went to these meet ups your interest piqued. Perhaps you thought that it looked like fun and that anybody could do it. Do you think that it’s necessary to go to college for this?
Arsalan: How do you see yourself? Who is Adriana? How will you describe yourself? Do you consider yourself outgoing or maybe a little introverted or do you see yourself as someone who is really eager to learn and wanting to read every book that you find? Or are you somebody who takes things slowly? Help us to understand you.
Adriana: As far as I go, I’m more the type of person who likes to organize things. I’m very outgoing. I’m the type of person who likes to participate in a hackathon as well as plan the hackathon and bring more people in. I like helping people. So I do a lot of mentorships to.
Arsalan: That’s great. I don’t like to throw out terminology at people who might not know it. So, let’s define in one sentence what a hackathon is and what it isn’t.
Adriana: That’s a great idea. A hackathon is an event where a problem is presented and people come together and work in teams to try to solve that problem. At the end, they present the solution that they came up with for the problem.
Arsalan: Okay. So, when people get together, they are trying to solve a problem that may or may not be a hackathon because that’s what I did in college. I had a team and we worked on projects and in groups. We would solve a problem as a group and we would get graded as a group, but that was not a hackathon. So, in a hackathon, the idea is not that important or you’re not given an idea. You choose an idea based on what you are interested in and if you later decide that it’s not a good idea, then you can change that idea. The concept for what you are doing is not that important, but the fact is that you come together, you plan it and you execute it, and you finish it. Maybe that’s more important. What do you think?
Adriana: I think it really depends on the hack on that you’re working with. For example, I participated in many different hackathons, one of which was called the AEC hackathon. It was for the field of construction. When you think of construction, you don’t think of technology. Yet, you have a bunch of software developers come together and you come together and try to see how you can bring technology into this field of construction. It was very interesting because the problem that was presented was how do you bring technology into the construction field, which is very outdated as far as how they do things. For that hackathon, it was important to come up with an idea, not necessarily have a completed project. The goal was to come up with different ideas so that with time permitting, they could implement these solutions.
Arsalan: Okay. I’ve been to a few of those and a lot of them turn into mocked up software and word press websites to show what it would look like if we had done it, but what we were trying to prove was that it was a viable product. So, that’s fair enough. What was your first encounter with programming? I know that you went to these meet ups, but I don’t think you were sitting there coding. Do you remember your first time writing a program? People don’t call it programming anymore. It’s called coding now.
Adriana: My first time coding was for the Dev Bootcamp pre-work. So, it was to get into Dev Boot camp. That’s when I had to write my first program.
Arsalan: Your first time for writing a program was for an entrance exam?
Arsalan: Wow. How did that go?
Adriana: It was very interesting. In order to get into Dev Boot camp, you had to teach yourself programming first. When I look back at it, it was not elegant at all. It’s possible to teach yourself how to program, but as far as writing clean code goes, Dev Boot camp really helped me there.
Arsalan: Right. I think that the first step is to do it any which way you can and then you polish it. It’s just like with anything else. The first clay toy or sand castle that you make, you don’t try to make it a masterpiece, you just try to make one that doesn’t fall apart. Once you’ve done it a few times, you’ll realize that if you do it like this, it actually last longer. Maybe we can do it a little differently this way. These are things that you learn over time. This is a problem that we have where we are always comparing what we produce as a new developer with something that we see on the Internet that we’d like to use. This is a website. I want to make it exactly like that.
Arsalan: It’s hard because a lot of blood and sweat and time have gone into those productions, websites, and cool graphics and whatever else you are interested in. It’s not easy and it’s not even possible to make the first version of any website look like the finished article. In the modern software development paradigm, we don’t want to do that because if you polish your application a lot that means you probably released it too late. The reason we like to release early and in a state that is not finished is so that we can get feedback that will allow us to make any adjustments that we need to make. We’re not making it for ourselves. We’re making it for others to use.
Arsalan: Just recently we bought a new house and the other day I was installing new locks. Let’s say that when you’re screwing the handle in and you screw one of the screws in three turns and the other you screw all the way in. It’s not aligned and you’re going to have a very hard time putting the others in if the first one is not done right. It’s like anything else. If you need to align something around your home, you screw in the first one but leave a little space. Next, you screw and the rest all the way. Then you go back to the first to make sure it’s aligned and finish screwing it in. That’s how you do it normally. This is common sense. But, a lot of times in software, we don’t think like that. We want the first version to be the final version. Software always evolves. It’s never going to be perfect and it’s almost never going to be bug-free. It will always have quirks and we live with those quirks. What we do is say that this is acceptable at this point.
Arsalan: The first point of delivery is when it kind of works. When you do things this way and you don’t try to go outside the bounds, it will kind of sort of work. It proves the concept and you have to use your imagination to know that the finished project will work this way. It might not work right now, but just imagine that it does. In a professional software environment, we all understand that. In a large corporation or a startup, we all understand that because we do this internally. We usually do not expose it to the world, but I think that this is something that new developers should internalize. You’re not going to create a masterpiece the first time around. All you need to do is make sure that it works. It doesn’t even have to work all the way. It just needs a critical path, maybe 10% that you care about to work. Make sure that it works according to the needs of the customer or the user, and then you move onto the next 10% and so on. It’s incremental.
Arsalan: So the next time that you have a problem, you only need to undo the 10% to take care of it. And it’s much easier to do.
Thanks for Listening!
If you found this episode useful, please go ahead and share it with your friends and family. You can do that easily using the social media buttons at the bottom of this page.