Tania Rascia joins us today to talk about her experiences in transitioning from a professional chef to a web developer and the tools she used to get there.
Tania Rascia works as a web developer full time. However, just a few years ago she was working as a professional chef. How and why did she make such a dramatic career switch? It isn't uncommon for culinary professionals to realize that they don't want to spend the rest of their life doing it. It is a very demanding job and isn't sustainable if passion isn't there.
So, having always been interested in computers and making websites, Tania decided to make the transition into programming as a profession. Starting with one-off small odd jobs on Craigslist, then an internship, and then a full-time web developer! There were a lot of skills and concepts that had to be learned in those three years, especially starting from near zero.
Sharing what she learned publically played an essential role in Tania's development. It's like writing documentation for herself, but everyone who read her posts got to benefit from it too. Tania also places a lot of importance in creating your own version of something to fully understand it. For instance, she didn't understand how bootstrap worked, so she experimented and worked on creating her own dynamic CSS grid framework to achieve that more in-depth understanding.
"Switching Careers and Learning in Public with Tania Rascia" Transcript
Getting Started with React
Joel Hooks: I wanted to talk to you because somebody shared your website with me, and it was really awesome. But one of the things I noticed on there, before we get into like talking about technical stuff and blogging and all that fun business was, that you say at the top that you were a professional chef prior to getting into the world of technology, and I was just wondering, how that was and what it was like for you switching out of that world and into being a software developer?
Tania Rascia: Yeah, I mean the life of working as a chef is definitely extremely different from working as a software developer. But, you mentioned that you also worked as a line cook at some point, didnt you?
Joel Hooks: I did. I even sometimes still like think of it kind of fondly, maybe with rose colored glasses and forget some of the drawbacks of working in the kitchen and the hours and all that fun stuff. But I really enjoyed it, I worked as a line cook for probably five or six years, and almost went that way with my career, but got into computers instead.
Tania Rascia: Yeah, mine is interesting because most of my childhood I spent on computers and on the internet and making websites, so it actually didn't really make that much sense that I went into culinary school and ended up being a chef for eight years following, but that is pretty much what happened with my life. And yeah, like you said, the hours and the high pressure and everything, it's fun when you're really young, kind of, but it's not good for having a work, life, balance. And most of all, it wasn't really my passion. So, trying to do something for 70, 80, hours a week on your feet all day long, or you don't even have a passion for what you're doing, it just didn't make sense to me.
Tania Rascia: So after a while, I just kind of thought about it and well, I realized with a culinary degree, there was nothing else I could do but work in the restaurant industry, so I kind of had to start over from scratch. So I know, going from a chef to software development doesn't seem like the most natural transition, but surprisingly I've met a lot of other people who've emailed me that they've done the same thing, so I think it's pretty common that people realize that the industry is not really sustainable.
Joel Hooks: Yeah. It feels like, I mean the ultimate goal is to like have your own restaurant and then the actual reality of owning a restaurant is, especially as you get to learn like what's going into it, is a super daunting, to me anyway. And I still daydream about it, but I don't think I'll ever actually make the leap into that.
Tania Rascia: Yeah. It kind of makes sense it's a dream, but actually living out that reality is a lot of stress and you have to wear a lot of hats.
Joel Hooks: Yeah. And so, it made me think too, like what are the similarities that you've seen as you stepped into software development, from like lessons learned in your time in the kitchen?
Tania Rascia: I mean, if you can pass anything over from working in the restaurant industry to working in the tech industry, it's mostly just soft skills. Like, you have to do a lot of time management when you're working on the line, you have to prep certain things, you have to be cooking your tickets at the same time, and just when you're actually coding something you just have to prioritize, so soft skills like that kind of transferred over. But obviously, anything actually coding related is totally separate.
Joel Hooks: It was just funny, because if you read object oriented programming, the metaphor is always the kitchen, right? That one comes up a lot, like you're the chef in a kitchen and this is how we're going to describe object oriented programming.
Tania Rascia: That's true. I've often seen functions kind of a described as recipes, and so on.
Joel Hooks: Yeah. Yeah. And that's kind of a stretch though, to say you carry that over from kitchen scales.
Tania Rascia: Yeah.
Joel Hooks: So, I came across your website, somebody pointed it out to me, and I was so impressed just by the layout and the presentation, because you know, like you see a lot of people and they'll do it and it's either scattered or everything, and how I described it, and I tweeted about it, was that it was probably the best developer resume that I've ever seen, like in terms of a modern resume as we transition out of the paper resume age into something where it's really showing people what you can do. And I was just wondering, did you have any particular design philosophy when you approached this, or what was your thought process when you were creating your site?
Tania Rascia: Yeah well, first of all, thanks so much for that compliment. I actually did put a lot of thought into it, and I've made a lot of different designs over the years. I think that's my, technically, fourth major version, but if you look at the number of commits on my theme, it's over a thousand at this point. But for me, like the major thing was just simplicity. I wanted the content to be the first and foremost important thing, and everything else would kind of follow, so there wasn't going to be animations, or things that are just in there for the sake of the sign. If it didn't have a clear purpose, it wasn't going to be part of it. So, the site is pretty plain if you look at it, but all the content that I wanted to be there, from the different types of articles to things about me such as the timeline and what kind of programs I use and everything else, is all laid out very simply, easy to find.
Tania Rascia: I didn't want there to be like a hamburger menu, so you'd have to go through a long list of links. I just wanted it to be the absolute most important stuff. So I went through a lot of iterations and sent a lot of stuff out to my friends to take a look at it, what should I change? And if I had to say that there was like another website I've seen that kind of helped inspire that, it would be Derek [Cyber's 00:05:42] website, which is also extremely simple though a little bit less design oriented, even than mine. It's almost kind of just plain sans-serif, or plain serif text, and nothing else. But the fact is you can go through his site for hours and just look at all the different things he's written and just have a really great time on it, and that's kind of what I wanted people to have with my site as well.
Joel Hooks: Yeah, I love his site as well. And for the content, right? Like I don't go there to explore it as a design resource, I go there to read and learn and I think that's a really good approach and philosophy to building a personal space on the internet.
Tania Rascia: I agree.
Joel Hooks: You host your blog and your space, on your own domain, and these days I see everybody venturing to platforms like Medium or other kind of hosted, almost walled garden spaces, and I was wondering what made you choose to maintain your own site, versus one of these WYSIWYG sites, that's offered for, and I'm using the air quotes, "free use"?
Tania Rascia: To be honest, I really just don't like a lot of those sites. Like, I know a lot of people are posting on Medium and and different kind of blog aggregation sites like that, and I just like having complete control over the design, over the content and what is displayed. Like I personally don't have any ads or sponsored posts on my site, or popups, or is there something in the middle of the post, it's trying to get you to click on something, or affiliate link. Like all that kind of stuff is going to show up if you use another service, you can't control that. But if it's on my own site, my own domain, I even control the comments, because it's WordPress, I'm not using a third party service for that. So everything is mine, I can take it with me anywhere I go, and I just kind of liked having that freedom.
Joel Hooks: Yeah, because you're kind of an ownership. And I also thought, because you state that and I think the idea to avoid ads and affiliate posts and sponsorships and partnerships, that's something that we do at Egghead too, and we'll always do. I don't even ... like, we were making a lot of money, actually with Facebook ads, but quit doing it just because, and I was wondering, what's the motivation behind that? Is it just a purity, or do you have some other philosophy that has you avoiding that kind of stuff on your site?
Tania Rascia: I mean, there's a lot of different reasons for it. I think the absolute, like the biggest one, is just that I don't like looking at ads. I don't like having ads injected into my brain, and all day long, everywhere you go, you just see ads. I want there to be at least a place you can go where it's not happening. Where you can go, you get to see the content you're looking for, and nothing else is competing for any space or cluttering up your mind, kind of.
Joel Hooks: Yeah.
Tania Rascia: And the fact that I don't have any, for example, sponsored posts means I'm completely true to myself. I'm not putting something out there in hopes that someone will click on it. I'm putting something out there because I believe in it.
Joel Hooks: Yeah, I think it kind of skews incentives and motivation too, when you start going down that route. And like people always ask for it, you know, hey, we want affiliates, and I'm like, well, then you totally lose control, like you said, you don't have any control about how people are enticing you into your site, or what people are presenting, and that sort of stuff really ... like it makes you think, you have to start thinking about it, and is this right? Is this somebody I want to be associated with? And what's going on, that sort of thing.
Tania Rascia: Yeah, I totally agree. And sometimes it's been like, have I shot myself in the foot? Like, you know, I'm not going to be able to make any money on ads, and I can go back and change my philosophy now. But I'm glad that that's the way I've gone with it because it gives me the opportunity and the desire to push myself further to find other ways to make money, put some content out there that someone actually wants to pay for and make money that way, instead of just be ads.
Joel Hooks: Yeah, I like that a lot too. Because you're kind of like helping people and you know, there's probably some argument that ads help some [inaudible 00:09:28], but I think that's kind of a tough position to take.
Tania Rascia: Yeah.
Joel Hooks: So, I noticed just generally, and looking back to 2015 is when you started blogging, and I was wondering what the timeline was in terms of your transition from being a professional chef into a software developer, and does your blog posts track that kind of transition or did that come later in your development career?
Tania Rascia: Yeah, I would say it's at the very end of 2014 that I kind of, in the back of my mind, was thinking, what do I want to do? What am I going to be? How can I transfer over these culinary skills and do something else? And the reality was, I couldn't, I just had to do something totally different. But I started off just going on Craigslist, trying to see if I can make a little one pager website for someone, or do some graphic design, because at that time I still wasn't sure if I was going to do design or development or anything else.
Tania Rascia: But the end of 2014 is when I started, and then a actually a bartender at one of the places I worked at, had his own little WordPress company, and I asked if I can intern for him, and he said sure. So, I was interning for him in the morning for a few months while working at a, it was actually this NAMCO, Pac-Man, themed restaurant at night. So I quit my full time chef management job and just became a line cook at night while I was interning in the morning, and that was how I did my transition. While I was at that internship, I applied for a job which was, Let Us Entertain You, which is a Chicago restaurant group, as a web designer. Got that job, and I've been working in the industry ever since.
Joel Hooks: That's cool. Has that process of, I like to call it learning in public, my friend Sean Wang kind of coined that, for me anyway, that's where I first heard it, and just the idea of solving problems and then posting them to your space as you learn and grow, has that helped you? Or how do you think that's helped you, in terms of your new career as a software developer?
Tania Rascia: Absolutely, I think I've helped me. I think it's probably one of the most important things I've ever done as far as transitioning my career. And I strongly suggest to anyone who wants to become a developer that they do it as well. I mean, it's really easy to see all the work that's out there, and all the things that are left to learn, and think that it's just way beyond you. But when you write it down, you have a place that you can go back to, and not only have I been able to help other people with my blog posts, but I help myself. I'm constantly Googling something and getting my own website in response, and like, oh yeah, I remember I did that before.
Tania Rascia: So, it's kind of like documentation for myself, that other people benefit from as well. And if it's something that I can find useful, then someone else will probably find it useful as well. So I think people, they can be too scared to put themselves out there. And I've definitely had people commenting on my blog post that I'm wrong about something, but at the end of the day, I learne from that and I improve my article, and fix whatever I did wrong and I learn. If I didn't put myself out there I would just keep doing it wrong.
Joel Hooks: Yeah, I think people talk about the idea of imposter syndrome, and I noticed on your Twitter stream you've talked about that too, where they just hold off and they won't do anything like that, they won't put themselves out there. And I'm wondering, what's your experience with that, and any advice you'd give to people that might be feeling the same kind of feelings?
Tania Rascia: Yeah, I think everybody gets imposter syndrome. It's impossible not to with this whole information delusion that we have, where you can go anywhere and someone else has 300000 followers and they have so many projects on GitHub with thousands of stars, how could you ever compete with that? And you look at their projects, you don't understand a single thing that's going on. But I mean, I look back three years ago, I didn't even know what a variable, a string, a simple data type was, and I work today as a React developer, so it's not like it's outside the realm of possibility or something that you can't teach yourself. It's just, you have to take it slow. If you get hung up on the fact that you don't know everything, then you'll never be able to accomplish the beginning steps that you need to get there.
Joel Hooks: Yeah. One of the objections that I hear quite a bit is that folks are worried that it's already been covered, right? Like I hear, oh, I'm not going to make a blog post because everything I would want to say, has already been covered. Is that something that you've noticed, or you think people might be kind of holding back, unnecessarily on?
Tania Rascia: I do think that they're holding back into unnecessarily because I think, probably everything I've ever blogged about, has been covered before. For example, my most popular posts, lately it might be one of the React ones, but for a long time it was how to create a WordPress theme from scratch, something that there's all sorts of articles on there on how to do it, but no one really laid it out in a clear, easy to follow manner, and I couldn't find it. I sat there with like 20 Stack Overflow tabs open, trying to do it over and over again when I didn't really know any PHP.
Tania Rascia: I didn't really know any development, I was trying to figure it out as I went along. So once I was able to figure it out, I laid it out step by step, and now if you look that up, my link comes up before the WordPress official documentation itself, because in that specific instance, I did it better than what was there before. So, yeah, there's always going to be someone who's done it before you, most likely you're not going to be the first, but that doesn't mean you could do it better or it doesn't mean you can't get something new out of it that someone else hasn't done before.
Joel Hooks: My personal experience when I do that, and when anytime I end up on multiple Stack Overflow posts or have many tabs open when I'm trying to learn something, I think, wow, this is probably really a great teaching opportunity or learning opportunity for me, because the writing itself helps solidify my knowledge, and then being able to share that with the public is kind of a cherry on top of benefit. That's how I've viewed it.
Tania Rascia: Yeah, I agree completely.
Joel Hooks: So, speaking of React, I think your getting started with the React posts, if it's not your most popular posts, it probably will be soon because, one, it's awesome, and it's just really an interesting way to see something clearly explained, in a way that to be honest, like goes beyond the docs, like you said, with the WordPress theme building. I think that that post does the same thing. And is that a process of you learning React, is that where that came from?
Tania Rascia: Yeah, that's another thing, like I wrote that post as I was learning React. And it's funny that you mentioned that because it's actually in the official React documentation as the article to read for complete beginners. And I think the fact that I was a complete beginner as I was writing it, and I was writing as I was learning, means that I know exactly where beginners are going to get tripped up and what they're not going to understand. If you have a complete, full knowledge of it already and you're trying to put that out there for someone who's never seen it before, it's possible that you might have the curse of knowledge and you might not even know what they don't know. Which I think is a big problem overall with development tutorials and resources, that people just have too much knowledge and they assume that the new developer already has some knowledge that they think is innate, which is actually something that they just learned long ago, and forgotten that it might be something that someone will be struggling with.
Joel Hooks: Yeah. Once you're like a decade into your programming career, all of the beginning knowledge just kind of seems to fade away, and it's using the air quotes again, it's "just simple" or "easy" and why don't you understand this already? Which isn't a good attitude I think, for people educating in general.
Tania Rascia: Yeah, which is why I'm glad that I write these things as I'm learning them, because possibly if I tried to go back in a couple of years I wouldn't be able to write an article that as helpful for new people.
Joel Hooks: Yeah. It's really hard to gain that beginner's mindset once it's passed, and I know people that do, but I think that's a real ... like they're kind of the exception versus the rule, to that.
Tania Rascia: Yeah.
Joel Hooks: So, while we're on the subject of React, it's going through a lot of changes and I noticed that you've written a little about some of the new stuff that's coming out, and I was wondering just what you thought was exciting that's coming out with React and the new 16 six, and 16 seven, which you're introducing things like hooks and a Suspense and all that fun stuff, and what you were thinking about and where the future of React is for you, in your head?
Tania Rascia: Yeah, it's really interesting. I haven't had too much experience with Suspense, I've only heard of it, but hooks I saw when that came out and I just wanted to play around with it. And so I created a little CRUD out with it, and it ended up using a lot less code, I think, just in general than it would have if it used class components. And it was easier to write and I think, probably for a brand new person, it would probably even be easier to understand, if they had never used classes before.
Joel Hooks: Yeah, I think that's a good way to look at it. And it is hard. And one of the struggles for me, is that folks are going to be out there opening the tabs and have Stack Overflow open and they'll probably see three or four different ways to do a thing. So like the deciding which is the best of the best practices is probably going to be a challenge for a lot of folks.
Tania Rascia: Yeah, I think that's already a problem if you're looking at how to do something in React, if you see a post from 2015 versus 2018, it's written completely differently. They didn't have a lot of those ES6 features that they do now, so everything is a lot more verbose. And again, if you're new, it's just confusing.
Joel Hooks: So, I guess along the line of you learning, just like think about the timeline, the ES6 kind of landed almost in the middle of that. Is that about right?
Tania Rascia: Yeah, I would say so.
Joel Hooks: Would you say the overall experience, was that confusing at all? And I just debate this all the time, that's why I'm asking, like do you show just straight up old school 2015 or ... excuse me, ES5, or do you jump forward to ES6 in like an educational capacity, and for people that are learning, or doing examples and teaching?
Joel Hooks: Right.
Tania Rascia: That's a lot to take in for a beginner, when learning variable itself is hard enough. So I mean I kind of understand just learning ES5 first, and doing ES6 on top of that, but also nowadays, everywhere you go you're going to find ES6 code, so I can see how that one is a little tricky.
Joel Hooks: So on that note, what is your advice for somebody that's just starting out and is totally raw, doesn't know much, or any programming, like where do you even start to become a well rounded developer, in this day and age?
Tania Rascia: I mean, I'm always going to go with the fundamentals on that, and I think that's pretty hard because anywhere you go on line, any tutorial, they're going to say, NPM install these 30 dependencies, and then use this thing that already exist to do it for you. But I'm actually a big proponent of reinventing the wheel. I think you learn a lot doing things that way. It doesn't matter if it's practical for anyone else to use, you're learning. So I mean, something I did last year was I didn't really understand MVC, or classes, or any of that kind of stuff, so I built my own MVC framework in PHP.
Tania Rascia: And I didn't know what I was doing while I was doing it, but in the end, like I had all sorts of authentication, routing, everything I did on my own that now I feel comfortable using some framework or library to do it for me, because I've done it myself and I know what's going on, and I understand the concepts behind it. And taking it a little further when it comes to web development, HTML and CSS have to come first. You have to have some sort of basis in how HTML and CSS work on a simple level before you can start bringing in programming, in my opinion.
Joel Hooks: Yeah, that makes a lot of sense. So, one of my absolute favorite genres of books or articles or tutorials, is kind of the build your own X, you know whether it's build your own Rails, or build your own React, or build your own Redux, whatever. Like, I've always loved that idea in terms of building a thing, and I noticed your general stack of the open source projects that you present have that kind of vibe to them, like you wanted to learn something soo you built it, and then released it to the world. Is that about correct with those, like your PHP MVC framework?
Tania Rascia: Yeah, absolutely. I mean, before I made the, the MVC framework, and before I knew any programming, I only knew HTML and CSS and I saw Bootstrap, and that was kind of the first thing that confused me, like I didn't understand responsive design, because I hadn't made websites since the nineties practically, and a lot of things had changed over that time. So, once I figured out how to use Bootstrap, I realized if I didn't have the crutch of Bootstrap, I wouldn't know how to make a responsive website. So I decided to make my own CSS framework, using SAS as the language that would compile to the framework that you could use.
Tania Rascia: And it wasn't just a project that I created to say I could do it. I was working at the time, at Let Us Entertain You, designing websites, and that was the framework I used for all of the websites I designed, which each had custom designs. So like, I tested it by creating things with it and by the end of that, I felt like I could make any sort of navigation, you know, full canvas navigation, full screen navigation, responsive, all that kind of stuff. I did it from scratch, myself, and I used it.
Joel Hooks: Yeah, so I mean it takes that idea of learning in public even a step further to me, because now your not only writing about things but you're building a framework and using it in practice. So you're learning on like four different levels, basically, and you're really cementing the concepts into your brain.
Tania Rascia: Yeah, exactly. I feel like that kind of stuff, everybody should do when they're learning, at least once. At least try to do it once before you use Bootstrap or Foundation or Semantic or anything else. Or same thing with Laravel I haven't used Laravel, the PHP MVC framework yet, because I wanted to make my own first. Now that I have, I feel like I can go into doing that. And I think if you do things that way, you're going to become a much more well rounded developer in the end.
Joel Hooks: Yeah. I mean, it's all a black box, right? Like you said with NPM install, we just [inaudible 00:24:58], well, just install these 20 libraries and go to town. But what you're really doing is creating a very complex system without knowing what's going on inside of that black box. And that, it feels easy, but at the same time you're almost doing yourself a disservice if you don't really know what's going on. I'm not to say you shouldn't do that, just because I NPM install stuff, I don't understand all the time, but at the same time, when you really want to have a core understanding, like take a step back and think about what you're actually doing.
Tania Rascia: Yeah. I mean, I'd rather spend time developing something than fixing dependency errors, to be honest.
Joel Hooks: Yeah. And I could really stand to build my own CSS framework to learn it better. That's one of my often neglected skills. I'm getting better at it, but I'm like a decade in and still I'm kind of a noob at layout.
Tania Rascia: I mean these days I do CSS less and less, I get more interested by the programming problems, so when something's CSS comes up it kind of bores me these days. But I'm glad I did it anyway.
Joel Hooks: Yeah, I love that, that's my favorite thing about code is it's like a constant, ever evolving, Rubik's cube of wonderful knowledge. It just doesn't quit.
Joel Hooks: Yeah, it's really fantastic. So, that said, what are you going to focus on in 2019? What do you see coming up, in terms of your learning research schedule?
Tania Rascia: I mean, as far as web development itself, I would like to learn Node more because, like I said, if there's a dependency error, I don't even know what's going on. I'm just Googling the error and trying to fix it and get it over with. But if I could do more stuff on what I refer to as the back of the frontend, which would be like the Webpack aspect of the frontend, or just the backend of Node.js, I'd like to learn more about that. Webpack and Redux, I've never used Redux or any sort of state management in the React, which is kind of surprising considering I actually work with React on a daily basis, but I just haven't used it. And then in addition to that, I think I'd like to learn some lower level languages like C, just to kind of see a completely different way of going about programming and what that could be used for. So, that's kind of what's on my radar for 2019.
Joel Hooks: Yeah, I keep looking at REST, because it's a really interesting language, solves some of the problems that C has, but still gives you that kind of low level access. That has me fairly excited lately.
Tania Rascia: I don't know too much about it, but I've heard nothing but good things. Like I hear people really love that language, so that's another thing to look into.
Joel Hooks: Yeah, there's like this direct correlation, where they have a really nice path from REST into WebAssembly, which is also very interesting just for getting core libs up and running that defy the browser limitations. So that's been on my list too. I kind of skipped C, and c++ and all that stuff as well, and jumped right into web development, so-
Tania Rascia: Yeah, I mean, that makes sense. You'll either do one or the other. But yeah, WebAssembly is another thing to look into, in the future years, because I think that's going to get a lot bigger.
Joel Hooks: So much cool stuff. Well, Tania, it was great to talk to you today and thank you for taking the time out to chat with me about web development. I look forward to seeing and following along with what you're learning over the next years. And I think you make a great role model for anybody looking to jump into web development, and be kind of a constant learner and learn in public. I think it's a great, great model to follow.
Tania Rascia: Yeah. Thank you so much for having me. It was great.