« All Episodes

Part 2: Una Kravets (@Una)

Published 2/3/2016

In today's episode, I interview Una Kravets, developer at IBM and prolific open source advocate.

Mentioned or Relevant on Today's Episode

Today's episode is sponsored by Digital Ocean! Use the code DeveloperTea at checkout to get one month of a 1GB droplet, completely free!

And lastly...

Please take a moment and subscribe and review the show! Click here to review Developer Tea in iTunes.

Transcript (Generated by OpenAI Whisper)
Hey everyone, welcome to Developer Tea. My name is Jonathan Cutrell and in today's episode I continue my interview with Una Kravets. Una is a developer at IBM. She works on the Bluemix project. She is also a proponent for SAS. The, the, the, the, fantastically awesome style sheets we've talked about SAS many times before. If you miss the first part of the interview, make sure you go and check it out. You can find it at spec.fm and of course it will be in the show notes for today's episode. Speaking of today's episode, thank you to Digital Ocean for being the sponsor of today's episode. If you are looking for a cloud hosting provider, Digital Ocean is the fastest growing cloud hosting service provider on the market. So we'll talk more about what Digital Ocean has to offer to Developer Tea. Listeners later on in today's episode. But first I want to jump straight into the interview with Una. So you know, you have decided to attack some really major big goals this year and not only that, but you're not keeping them a secret. You're, you've open sourced your goals and they're on GitHub. In fact, anybody who's listening to this can go and visit Una's GitHub and see what she's doing this week and also her kind of big goals for this year. I'd love to hear a couple of those goals. I know for example, one of your goals is to write a book this year, but I'd also like to know a little bit more about how you are going about doing this, this weekly thing that you're doing by updating your GitHub and why you're doing it in the open-source environment. Oh, those are great questions. So this is something that I started doing in October of 2014 and I found it to be so helpful. I started it because I like a lot of people, I'm sure, felt like there are so many things going on in the developer community. How do I keep up? There are so many things that I want to be doing, but how do I make the time? I think you can't just find time in your day. You have to make the time. So by keeping this list, I was able to break those down. Write them down. That helped me figure out exactly what I wanted to do and then figure out the steps to get there. And then putting it out there in open-source, kept me accountable. This really great transparent system that has versioning. It's just all out there. So I figured why not. I used GitHub for it. Yeah, it's crazy now to look at this list because I have this accomplishments folder where I just do this week interview. And I could tell you exactly what I did every week since October 3rd, 2014. Wow. That takes a lot of diligence and commitment. And I'm really interested about the mechanics of this. So do you have a specific day, a specific time that you sit down and kind of keep this stuff up to date? Yeah, so every Sunday night, I try to do it Sunday nights, maybe a few times, probably four or five times in the past couple of weeks. I've had to move it to maybe Saturday or Monday morning. But what I do is, as I am accomplishing these tasks for the week, I made a couple of terminal aliases where I'll just go in and check off that thing in the markdown file that is the readme of this repository. So I'll kind of just check it off as I go. And then at the end of the week, I will look at all the things I plan for the week, make a list of things I did, things I didn't do, and then things I'll do next week. I think it's really key to make a list for next week, the week before, so that you have an idea of things that you want to be doing. But it's also important not to overload yourself that week. So if I come up with an idea, I'll add it to next week's list. So after I've done that, what I do is I sort of write a little write up of how my week went and I try to reflect positively and think about the good things that happen. Maybe I didn't accomplish all the goals I set out for that week, but that's okay. Every week is different, some weeks are more productive than others, but it's definitely helps me be able to break down these big ideas, like writing a book is huge. So one of my goals was start looking for publishers, just emailing publishers as a step. Starting to write it, I'm going to start breaking that up into chapters when I get through that. But it's a really good way to start to accomplish big tasks with little ones. This sounds like the agile approach, which I assume somebody has said that to you at some point. That's the first time anybody has called an agile. And I kind of shudder at that word. Of course. So let me back up and say the idea of maybe some of the original agile people was to have a short work period that was relatively defined that you decide pretty close to that work period what you're going to do in that work period. You attempt to accomplish everything that you set out to do and then you have a retrospective week and review in your case to determine how did this go. And then you plan the next week after you have that retrospective. So maybe it's not like agile in terms of the heavy agile processes or whatever that you've read about. But at its fundamental level, this idea of test repeat or test evaluate repeat is really a powerful idea, I think, at its core. Yeah, I've never thought about that way before, but that is a good point. There's no can-ban, but there are a lot of similarities there. Yeah. So one question I have as a result of that, though, is do you find that you are able to kind of approximate how much you can do better now than you did before 2014? I think it depends on how much time I have. I've gotten a lot better at realizing what tasks I can just sit down and do in a night and what tasks I'm going to put off. So you know yourself better at least? I think I do know myself better and I think I've come to terms a lot better about not accomplishing all the tasks that I write for the week. That's okay. They're there. There's more than I can do in a week on purpose because it gives me options and it's fine. Don't stress out about it. That's sort of something I've learned, not to get hung up on trying to just go through my life checking off boxes. Yeah. Yeah. I think that's powerful. Do you intentionally put more on your week list than you know you can do? Absolutely. There's never been a week that I've checked off every single thing and that's because a lot of things are sort of ongoing and rolling. One of the things I'm doing right now is I currently own you might not need JS.com. Kind of like you might not need day query.com but you might need JavaScript at all. It's been on my to-do list for like two months now because I just keep putting it off. It's not like high priority. But every week or so I'll be like add one or two items to this website and I just keep it on my radar that way. So I don't forget about it completely and that definitely helps with the side projects with getting the side projects done is just keeping it on my radar. Yeah. That's interesting. You know I've been told so many times to you know limit my work in progress if you want to go back to Canban. I think that you know limiting your work in progress is important. Sure. But you also need to have the things that you want to do visible right. You need to be able to see all of that stuff because if you can't see all that stuff then it's going to be kind of weighing on your brain and you're you know I practice this regularly. I sit down and I just write out everything that I can think of that I could possibly want to do in the next like three weeks, three months up to a year right. The things that that are way outliers that you know I know I'm not going to do them this week at all. There's no way I'm going to even touch it this week. But it's like a you know maybe it's something at my house that I need to do like maybe it's a project that I've wanted to do for years at my home. I'll write it down and that gets it out of my mind. It gets it out of that cognitive load position and into something tangible that I can look at. Also one of the reasons why I did this in the format that I did just through text files and using my terminal for the most part is because that's my that's my radar that's where I work and right live for most of the time that I spend my day oh my god that sounds so sad. But especially when it comes to most of these goals they're mostly code related or work related. So it's really what is easiest for you what's in your peripheral if writing them down or notebook is better for you do that. I think there's so much there there's a lot of psychology behind list making and the benefits of it. So as long as you have some method of writing down your goals checking them off and holding yourself accountable that you can go back and reference as often as possible that's key. And you know this is a good practice for projects too. Like not not just your personal projects but you know at your whatever type of company you are working at if you're doing a web based project or if you're doing a programming project write out everything that you can think like this is this is the traditional kind of brainstorming method I guess but write out everything that you could possibly think should be done for that project. Now there's probably some things that you know should be done for that project and you know use checklist for those keep those things like repeatable and reference those things in the future but there may be some things that are really specific to that project and when you think about them don't just make a mental note because mental notes disappear all the time like it's really hard to find the mental note and say it feels so good to check things off too. It really does that's the interesting thing about your approach though you know is that you know you're writing enough stuff on that list that you're not going to be able to check it all off. I do want to check it off like when I was I've been in a sprint all week at work and what you will constantly see on my computer is a sticky note on the left hand side of my mouse with a to do list like a little just at work to do list and on Monday I felt so good about this because I had eight items for the morning like at work and eight items for the evening that I wanted to do and I think I crossed off 12 out of 16 of those items and doing that many I just I wanted to dance and take a picture and share on Twitter but I couldn't because it's work related. Oh that's great. This is my sharing. Well now we know now we know that you got at least three fours of it done so to take away from that I think you know the important thing is that not everybody is going to do the same stuff right like not everybody has the same methods obviously you know has a particular kind of cadence that she's set up for herself and and you know you enjoy this like weekly review it's it's not so strict that it's confining and you have it's a text-based process there's not like a particular tool you know if you're listening to this now and you have trouble feeling bogged down my first recommendation I would say unisfirst recommendation as well coming out of this conversation is to get that stuff out of your brain to begin with right that's that's you know step number one is get it out of your brain and step number two create these kind of incremental progress goals you can't look at that goal of write a book you know and and assume that well you're going to be able to cross that one off today right like that's that is a series of small things that is a series of small things that lead to ultimately accomplishing that goal yeah I would even say step one is think about what you want to learn or what you want to do because it could be anything it could be learn how to sew I should probably put that on my to-do list and then step one is look up classes in your area step two is send them an email just breaking it down a small as possible and then doing them if you've never done it to do lists which would be surprising I assume everybody has done at least one to do list in their life but if you've never actually taken the time to you know really truly invest in this kind of process don't be surprised when things take way longer or perhaps even way shorter than you expect them to don't let that break your brain because it's very easy to get thrown off track by you know your inability to figure out the amount of time that it should take to estimate that amount of time we're really bad estimation notoriously bad at estimation and it takes a lot of practice to get better at it it actually takes a lot of intentional compensation for those issues as well right like if you think it's going to take you five hours add two hours or whatever right many people in this field have done a lot of research on this subject and one thing that continues to stand out is that people are bad at estimation the other thing yes and memory people are bad at remembering things too horrible at memory so you know continuously refine your processes one thing that that many of these researchers have said is get as granular as possible so that there's no question about what a particular task is get as granular as you can practically get you go through this process similar to what you know is going through where you kind of use the things that you've done in the past to inform the things you're going to do in the future do some kind of review look at your history and see you know if I get five tasks done on average every day then it would be kind of silly for me to assume that today I'm going to get 10 done right because historically that hasn't been true it doesn't matter how much coffee I drink I'm probably not going to make that much of a productivity jump in one day what also depends on what kind of day you have because for instance work days I won't check out as many things as maybe if I sit out like on Saturday of this week I'm going to spend five hours in the coffee shop those five hours are going to be way more productive than just a random weeknight oh yeah yeah well this is really interesting information and the kind of stuff that I I could just talk about this stuff all the time I love the soft skills side of development and I really appreciate you sharing that with with the listeners no I appreciate you asking about it it's something that I don't think people talk about enough because people are always talking about how do I improve my coding skills when if you improve your ability to learn that is going to make you a multiplier when you're trying to improve those coding skills and that's something that we've talked about on Developer Tea many many times the importance of the skill of learning the kind of the meta learning right learning how to learn yes incredibly important it's something that I wish that I did more when I was in school because I feel like I learned how to learn when it became something I wasn't doing for somebody else yeah yeah I agree with that I did well in school but I did it because I could understand the system right my my engineering kind of brain took over and it figured out the different variables to manipulate to to get the right grade yeah yeah the only reason I did well in school is because I I somehow happened to find this mix of design and development and I really loved it so I just got really lucky in being able to find a field that I loved and take classes in that yeah but didn't even exist 10 years ago for gonna be honest yeah that's true this field is is brand new especially if you're in the web now software development is slightly older than the average kind of web development career would be but uh it is it's all the same right we are software developers it is weird to think about it that way as a web developer I definitely have a lot of imposter syndrome kind of baked into my bones about that still I don't feel like a software engineer as much as I feel like a web designer sometimes yeah I mean we could probably get into this for a long time but those lines are also constantly blurry as web apps become more and more prevalent um today's episode is sponsored by digital ocean the fastest growing cloud infrastructure provider they are laser focused on their mission to provide simple and elegant solutions for developers and teams you know I talked to a lot of people in the spec slack community and specifically in the Developer Teachannel on the spec slack community uh which by the way you can join it spec dot FM slash slack and we've recently had a lot of people asking questions about digital ocean in what's really awesome is we have some people from digital ocean in the spec slack community it's really cool because we can talk to them directly about their products the the digital ocean products are easy to deploy you can spin up a droplet that's preconfigured with your popular open source platforms like node js or magento or docker uh you can you can scale your application using the digital ocean API they have floating IPs and as you grow you can manage your apps with team accounts so if you if your team scales up then your team can all log into the same account of course all of these nodes are reliable and available you can select from data center regions around the world based on the latency or uh deploy across regions for redundancy and of course digital ocean has straightforward pricing so you only pay for the resources that you actually use by the hour there's no setup fee no minimum spend I think we talked about it the other day is like 16 cents to try it out for one day uh but if you use a promo code Developer Teaou can get one month for free on a one gigabyte droplet that's a whole month for free on a gigabyte worth of RAM cloud SSD server which is an incredible deal so go to the show notes it's spec.fm to find that code and when you check out use the code Developer Teathanks so much to digital ocean for being a sponsor of Developer Teaspeaking of web apps you are learning a lot more advanced JavaScript this year that was one of my big goals for the year um I am trying to learn by doing so one of the things that I've been working at is building this react app that I've had in my head for a long time building and react for a few reasons one of the big reasons being that I want to kind of explore just what all the fuss is about so that's that's a sense but um there is a lot of sort of like screen changes that react really helps with with the virtual DOM so I have a reason for it but one of the big reasons is that I just want to learn it and it's a side project so who cares the mind choice um yeah do do what you want to do if it's a side project I mean by all means yeah it's been really fascinating because when I first started working at learning it I thought oh everyone really uh understands it well and everyone's so good at it and then I started tweeting out about how there aren't very many good beginner resources and so many people agree with me and people that have been building react and redux kind of like trying to get that viewpoint and understand it um it's been really cool to see that a lot of people are there with you you're not alone in this um it might seem like everyone is so much more advanced in you but it's because you see their final product you don't see the struggle and what they're going through yeah yeah yeah you don't see them struggling to get into the right mpm stuff installed right oh my gosh like dependencies peer dependencies are never in sync and then level six breaks everything from level five and these are things I thought was my fault and my problem but it turns out that a lot of people are sharing these frustrations so it's been good the tools are definitely influx no pun intended yeah I mean you have you have so many so many tools to learn I mean if you sit down as a web developer especially a front end web developer but also I mean really any software developer write out the number of tools that you use and your your mind will be absolutely blown the number of languages that you use the number of plugins the specific things that you use for your work all of your environment setup all of that stuff goes into this craft and you're you're kind of balancing it as a as a marionette in a way in many ways you're like orchestrating all of these tools together and it's not easy like we can all have this kind of support group moment here this isn't an easy thing to accomplish to learn these things and then to wield them in such a way that you create a compelling and usable and you know highly performant and error free thing like that's that is a in many ways it's like a miracle that that comes out on the other end you know I do want to shout out to Rebecca Murphy for a lot of this sort of I'm not gonna say it courage to speak out about not knowing what I'm doing but um just the push to do that because I turned to her for a lot of JavaScript advice since that's not the world that I run in it's not the circles that I um have a lot of experience in uh she just sort of lets me know that a lot of people will get value out of sharing this experience of learning with somebody else and to not be afraid of that to not try to pretend like you know what you're talking about when you don't because there is so much value in um having that viewpoint of a beginner that people who have been working at it are missing because they don't remember that it's not a common term or a common concept to understand flux architecture um so I'm just trying to be as open and honest about it as I can well I mean another common example is how little I know about bash I'm just really not good at bash and so I I'm constantly copying and pasting little snippets of code to like do the simplest stuff with bash like iterate over a folder of uh of files and rename them like I have to go to Google to figure that stuff out still and I realize that there are other ways of doing that but you know I just haven't had a good you know a good amount of time and the demand to learn that yeah the demand is a big part of it it's just not it's not present enough it's the peripheral thing you have to put make it a part of your peripheral if it's important to you I mean I commit my code many many many many times a day so I need to I need to learn that right but I like I'm not writing bash scripts every five minutes yeah it's not a common thing for me I mean I wrote aliases for the terminology for a few other things and I just have to reference the internet it's fine I think everyone does oh definitely I mean I I reference it for so many things even the the most common things that you can imagine every once in a while my brain just gives up and it's like nope just just go to the internet and you know remind yourself that can be a healthy thing sometimes uh because it keeps the perspective that hey you know it's this is not about memorization and you're not going to be quizzed on this right sometimes it's also unhealthy that I reach for the internet so quickly because at some point that becomes a little bit of a hurdle right it becomes a little bit of a productivity negative you know the thing is everybody does this to some extent at some level right like about something you're still googling and so if you're if you're still like learning about these things at some level we should all come together and say hey look you don't have to remember every single command you don't have to remember how to write an alias because you aren't doing that but like four times and then you've written all the alias is that you need really like it's not and then you can reference your alias is that you just wrote yeah I mean just copy paste it's you're good it's an amazing thing uh that we that we expect more out of ourselves than what is really feasible I like to set high expectations and you know I hope that I am not always googling how to iterate over files in a folder right hopefully at some point I will start googling more sophisticated things you'll learn what's useful to you when it is useful to you so and that that's what it comes down to and I think you know if you're listening to this and you feel like you have not been able to catch on uh you're again you're not alone in that uh everyone has some level of abstraction away from the things that they would like to know well this has been a fantastic discussion you know I really appreciate your time tonight thank you for having me on the show I feel like it was really cool to go from talking about these abstract concepts and technology to really technical specific things like CSS and JavaScript it's been it's been a fun conversation yeah I've enjoyed it very much so oh by the way if you are listening to the show and you don't know much about Rebecca Murphy of course we'll include links in the show notes to her site and other things related to Rebecca but there was an interview that I did with Rebecca as well on Developer Teaso I will include a link to that she talked about a chicken coop on that episode she talked about a chicken chicken coop that she was making smart with JavaScript it was a really fun really fun interview that I did with Rebecca yeah I have had eggs from her so I can attest wow it's a real thing like she's succeeded in her chicken coop creation she has chickens yeah wow that's that's impressive well uh you know I have two questions that I like to ask uh all of the guests that I remember to ask them um the first one is if there's one thing that you could tell all developers from whatever background whatever experience level if you had 30 seconds to talk to them what would you tell them I would just say keep working at it if you think you know what you're doing you don't know what you're doing yet um so when you reach that point of yelling in your head oh my gosh there's so much more out there that I don't know that's when you know you are in the right place welcome welcome to chaos the Dunning Kruger effect right and uh this I agree with that whole heartedly and you did that in less than 30 seconds so there you go it was a challenge challenge that efficiency uh yeah mic drop the second question is is the harder of the two I think um what is one thing that you wish more people would ask you about oh gosh that is a good question and what do I want people what what do I want you would know about me oh man I don't I don't even know how to answer this question because I feel like I'm just so transparent about a lot of things mm-hmm I think I'd just want people to ask me questions that I don't get to talk about on daily basis I really like theorizing with people and just talking about sort of the future and say of tech we got a little bit into that that was fun um those are really fun conversations to have I don't know don't ask yet movies I don't watch movies um I feel like I talk a lot about CSS sometimes JavaScript stuff I'm not answering this question very well no it's fine that it is a difficult question and it really reveals a lot about the way that that we think right um because I think it's important for us all to be thinking about that right and you you actually said a really good thing that reveals what I think is the best answer for you to this question which is you're already pretty transparent about stuff and you value that it's um it's an interesting question that definitely transcends tech and devily transcends work what do you want people to talk to you about and ask you about mm-hmm I've never thought about what I would want to have a conversation about I guess I was like talking about travel that's fun topic travel is great yeah I agree I agree with that I always talk to you about travel suggestions tips tricks tell me where you should go you are are you responsible for any of the things uh on the Austin stuff in Austin site I believe it is I'm in the big um slack chat but I haven't made a thing on it so I'm a member of the community in support the community that I'm always traveling away from but love you all and you are you're going to Brooklyn JS this week correct yeah so it happens to be in the New York which has made this interview really fun in a way that if we keep breaking up the audio with each other um but yeah I'm seeing a hotel room I'm here for an IBM events um so since I'm in town I'm gonna do some of the burrow-gramming uh tomorrow and just work with the JavaScripters of Brooklyn I'm excited to hang out with them it's really cool that you can just go to any city and find a web event and meet new people I'm excited for that well unit thank you so much for coming on the show and thank you for opening up and talking about all of these all these things that you're involved with if people want to find you online what's the best way that they can do that Twitter I think is the best way you can find my blog from there so my twitter handle is youna just you and a so twitter.com sash youna my blog is youna.im so you and a.im and all the links are there i'm youna and github just just search youna.cravids or just youna it's weird i'm on google search results on the first page for my first name learn that recently that was that was creepy wow that's great but yeah well of course all of those links will be in the show notes as well and uh we'll include all the links to the specific things that we talked about in today's episode and i really hope that you all will go and visit unicite and look through all of the amazing stuff that she is is putting out thank you so much again you know thank you thanks so much for listening to Developer Tea today and thank you to unic for joining me on the show for this two-part interview if you miss the first part make sure you check the show notes of course all of the links from today's episode will be found in the show notes at spec.fm as well thank you so much for listening to the show if you are enjoying Developer Teaake sure you subscribe and also go to iTunes and give us a rating this is the best way that you can help Developer Teagrow and reach new developers just like you who would love to listen to the show thank you so much for listening and until next time enjoy your tea