Tim Bourguignon 0:15 Becoming a software developer is a never ending journey. Some developers started coding when they were kids. Some ended up studying computer science and others came from very different backgrounds. Some taught themselves programming. Others went through apprenticeship programs, a few even jumped in yet boot camps. One thing is sure, no journey is void of bumps, forks, and hard decisions. Every journey is unique and full of learning that are worth telling. So let's ask developers from all around the world, how they got where they are today. And how will they grow? Whether you are a junior Dev, starting your career, and learning the ropes, or maybe a senior developer, pushing and guiding others around you, we have something for you. Welcome to the software developers journey. Hello, and welcome to developer's journey, the podcast shining a light and Developers Live from all over the world. My name is Tim Bourguignon, and today I received Charlie Jura. Charlie is a software developer at thoughtworks in Sydney, Australia. She is passionate about creative coding and building interactive prototype mixing science, art and technology. She also spends time giving back to the community by mentoring new developers contributing to open source project and speaking at events. Jolly Welcome to the journey.
Charlie Gerard 2:12 Hi, thanks for having me.
Tim Bourguignon 2:14 Oh, it's a pleasure. Um, what it didn't say in your bio, is that you have a background in marketing and advertising and actually started your career as a digital producer. But you're still developer nowadays. So tell us, how did you become a developer? How, where and how did this journey start?
Tim Bourguignon 6:07 Fantastic. Fantastic. Um, how was it to, uh, what decided to, to drop your your career and start this 12 weeks program? I mean, it cannot be a heated disk decision that you made? How long did it take you to ponder this discussion of this decision? And then actually do it?
Charlie Gerard 6:34 Um, I don't remember exactly. But I think it took me maybe a few months, because of course, I had to see. So I had to, like, read more about about the program. And I think at the time, I'm not sure that coding boot camps were really popular things. So it was about like four and a half years ago. So I think coding boot camps started to become a thing, but it was a bit of a risk. Because I didn't know if if I would get a job in encoding, because I thought companies would only hire people from uni. So when from a uni background. So it was a bit of a risk. But I think, of course, I thought about well, if it doesn't work out, I still have my degree in in marketing and advertising. So I would still be able to, to go back to that if if I don't like it. Or if I can't find a job, or if I realized that I'm not good at programming. So I think I kind of thought about the pros and cons. And there was, there was more pros to me, or the cons were not that bad. Like if I if I failed, I can still fall back and I can still find a job. But the pros would be I could actually start, like a new whole new career. Or even if I realized that actually, I actually don't really like it, having an understanding of coding, even as a project manager can be really helpful in advertising anyway. So I think there was not that many cons apart from the fact that maybe I'll find a job. So it was, in the end, I think I was thinking, well, it's kind of now or never cuz the more I wait, maybe the more like, the harder it will be for me to be able to do that. So I think maybe I was quite like privileged as well. Like I had a bit of savings. And I know that in Australia, sometimes it's not that hard to find a job like the there's not like the competition is a bit less hard than in other cities, cities, like for example, Paris. So I think it was privileged in that sense that I felt comfortable quitting my job.
Tim Bourguignon 8:40 Did you did you inquire the different boot camps that there is and decide on this one? or How did you find this this boot camp?
Charlie Gerard 8:51 Um, so I think at that time general assembly was maybe the the only one, or at least the more more most popular one. But I heard about them, because in the agency I was working in, we had some discounts on some of the night courses. So if, for example, if a designer wanted to take part time funding costs, we had some discounts. So we could use, we could use that to scale up in different areas. And, and then when I looked at, you know, as a project manager, can I take a part time course in coding, so I would have had a discount, but then I realized, I don't think part time after work would be the way I would learn the like the most because, like after work, you can be quite tired. And also, part time I didn't really know, you know, how much could I could I learn like in a couple of hours or four hours a week. So yeah, I learned about them through the agency and then I was okay, I'm just going to do this.
Tim Bourguignon 9:53 Fascinating. And how was it How was it getting into the workplace, as a as a boot camp alumni. If I, if I may. Yeah, you just talk about about comparing yourself to university graduates. So how was it for you to start as a as a bootcamp graduate?
Charlie Gerard 10:18 Um, so I think what was really good from doing the bootcamp is that you actually build projects. So you build three or four projects over the whole course. And it's maybe an advantage that you get over students from university where it's a lot more, you learn a lot more the theory of like computer science, like algorithms and data structures, but I feel like you don't actually build that many projects that teach you the practical skills. So you, when you do a boot camp, you obviously lack the theory part, but you can pick up new frameworks pretty quickly, because you've been doing that for the for the past 12 weeks, I think it was an advantage for me when I joined footworks, it's like, I joined in, I was pretty much ready to go is that was that was really motivated. And as having done having done a boot camp shows people that you can learn fast, and that you really want to do this, you didn't just end up in a computer science degree because you didn't really know what else to do is that you everybody doing a boot camp is a career changer. So it's a really, like, it's a decision that you really made that you thought about it and you want to do this. So I think it's it's a thing that shows company as well, that you that you are motivated and that you want to do this and that you can learn fast. So I think it was actually okay, because I was ready to pick up new frameworks and build things. I think there. Like the more time goes, the more I realized that I want to learn the theory as well. I have actually studied for the past six months, I've been studying, like data structures and algorithms on my own time, because it shows me now that actually understand better what I'm doing if I also have the the theory, but it's not necessary to get started, I'd say so it was actually it was actually okay.
Tim Bourguignon 12:13 on this on this topic, do you know the imposters Handbook, I think written by Rob Connery. And now the second band came out with Scott hanselman as well. Oh, you should look into this. And this is exactly this. This is Rob Connery, which is now a very well known programmer. He has something like 25 years of experience in his back, and he's really good. And he kind of felt bad for himself of not having a CS degree. And something like last year, wrote this book going deep into computer science theory going into into compiler theory and, and catching up on all the things he thought he should know. And this is a fascinating read.
Charlie Gerard 13:05 I can definitely relate I think I still have this feeling of like I should, I should know the the theory part of things, even if I started from the practical side, because I think it's still really important. But I probably have that feeling of like you're feeling bad because I don't know these things, which is not a really good feeling. But I can totally understand how people can have that.
Tim Bourguignon 13:32 Yeah, it's funny, I have basically the opposite view, I I did an engineering degree. And I have a master's degree in engineering with a specialty in in computer science. And my first job working for Siemens, I was kind of comparing myself to apprentices who were coming out with one year of programming background, trained from Siemens, and basically teaching me how to program. They were they were amazing. And really the opposite view, I could understand everything they were saying, but I had no clue I was a toddler, I needed to learn everything from scratch, which was an interesting position to be in as well. But I
Charlie Gerard 14:20 think that's why, to me, it's important to like hire different people. I think different people bring different things. And that's why I'm glad that I felt like now we do hire more people from boot camps, but we also hire people with a CS degree. So you have this exchange of knowledge all the time that I think is really important. So in a way, it's a good thing that you're sometimes uncomfortable for not knowing but then you have access to the people who can actually teach you.
Tim Bourguignon 14:48 Yeah, this is very, very important. I hadn't thought about this. We're always talking about diversity in terms of, of origin of, of countries of origin, etc. But I'd never considered that boot camp would be also a real kind of diversity.
Charlie Gerard 15:06 Oh, yeah.
Tim Bourguignon 15:09 I thank you for that one. Okay, so you had in this in this boot camp, more or less the html5 stack, and then Ruby as a kind of back end, maybe. language? Or maybe you're on rails with? Did you did rails? Yeah. And what decided you then to go more the HTML five route than Ruby? Basically, I'm assuming reading or seeing or what I read about you, maybe you're still doing Ruby, and I'm assuming something. I haven't
Charlie Gerard 15:47 done Ruby in a very long time.
Tim Bourguignon 15:50 Okay. So I was not assuming it would would decided you going in one direction over the other.
Charlie Gerard 15:57 I think
Charlie Gerard 15:59 I think I prefer front end, because I like to actually have the visual feedback of what I'm doing. I still, I still like to do backend. I haven't done Ruby in a while. But I'm working quite a lot with Node JS. But I feel like the front end in the front end world, a lot of things have changed. And now the the landscape of like, in the front end, you have so many different frameworks, and so many different things that you have to think about. So frontend is definitely something that's, like, really interesting, there's like so many things to learn. And I think the what the main reason why I focused more on the front end was probably because I liked, I'll probably like the visual feedback, or the whole interaction, being able to, to play with the coordinates of the of the mouse or, or the rotation of the device or things like that. And I think the visual Yeah, maybe probably the visual side was what attracted me to focus more on the front end. But the more I look into it, the more I'm interested in even performance and accessibility, or 3d in the browser, like all, there's so many different things that I feel like I'll probably never know everything.
Tim Bourguignon 17:21 that's unlikely. That's true. But you just say you, you, you want to play with coordinates. And so there are a couple of videos on you. holding talks, doing 3d magic with your mind. Sounds like?
Charlie Gerard 17:41 Yeah. Did you want
Tim Bourguignon 17:42 to tell us about that?
Charlie Gerard 19:54 Yes. So it's the so the electrode signals coming from the neuron. Firing in your brain and you can track that each sensor can actually track different signals. And then there is it is using machine learning in the background, I assume, but it's part of the software that is kind of like not that part is not open source. So you don't have access to what machine algorithm they using the it's basically getting a set of data from all the sensors, running it into an algorithm and then trying to predict what you're actually thinking about based on what you have trained the software on before.
Tim Bourguignon 20:34 So on stage, you were shrinking and moving a cube, I think it was,
Charlie Gerard 20:42 yeah, I had a few different demos, because with the sensor, you can track different things. So I had, one of the things that you can track is facial expressions with the sensors that are closer to, to the front of the face. And I was trying to spell a word with the movement of my eyes. So I had an interface of a keyboard. And I was trying to move my eyes right and left to move the cursor. And blinking would select a letter. So I wanted to try and show that with devices like this, you could actually help people with certain diseases to actually be able to, to communicate, maybe faster than with the current devices that are available. And the second demo I had was more with the thoughts. So no facial expression involved, just the thoughts. And it was about trying to navigate 3d world in the browser by just thinking right and left. It didn't always work, I think I should have trained the algorithm a few more times. But also, in an environment like a live demo in front of people, it's quite hard to focus on only the thought of right and left, because what's going in my mind is like if it doesn't work, everybody's going to laugh at me. And so it's a bit hard, it works a lot better when I'm just by myself in a room. But it's fun.
Tim Bourguignon 22:08 Yeah, sounds like it. But I have to ask, how did you come up with this idea of going into into brain sensors?
Tim Bourguignon 26:41 I have to I have to dig into their How do you get how did I do get? I'm fascinated by them by the meta level? How'd you get into learning and you think, a DD of a recipe dee doo doo dee, pull your pull your pull your sleeves and just get into it? And and and come back a few weeks later with a I got it now.
Charlie Gerard 27:09 I wish
Tim Bourguignon 29:49 I mean, it makes sense makes sense. And would you would you start digging into it or would you start try to find tutorials that kind of go in this direction or
Tim Bourguignon 32:24 Did you find projects that you couldn't solve yet?
Charlie Gerard 32:30 Yes, I'm one of, I have a list of things that I really want to build, I think because I'm so I really like to read scientific papers. It's something I do on the side when I'm bored. Now, so I am, I think this is where I really like the mix of Science and Technology. Sometimes I really like to see what the MIT Media Lab is working on, or what the Disney Research Center is working on. They always work on really exciting technology that sometimes uses things that I don't understand at all. And one example of that was, I don't know if you've heard of Google project soli, where it's like a little radar sensor that can detect micro movements. So instead of just being your hand, swiping left or right, you could put your hand in front of the device and do a slight movement with one of your finger against the other like you would rub your phone on your other finger and you would like in one direction. And you would be able to put the volume up if you're going right or volume down if you're going left and I was reading the paper that they published on how they built it. And if they were talking about radar transformation, and a radar signal transformation and all these things, and I really want to rebuild that project in like an easier way, you know, in a way that I will be able to explain to other people. But this is where I got stuck of like, I think it's possible. But my knowledge right now is unlimited in even like radar signals. Like I don't know anything about this background in marketing. But it's really interesting, because then it gives me like I know that I can get there. But I think it's about finding the time and also finding online resources that make it easy for me to understand because sometimes the way research paper are written, they're written in a way. Like I just how can anybody understand this except an expert in the field. I wish they were writing them in a bit of an easier way so anybody could replicate the projects that they're doing. But yeah, this is where I'm hitting a spot where I have a few ideas of projects that I want to replicate from different research centers. But I don't have the knowledge yet to get there.
Tim Bourguignon 35:05 Fascinating. It is so great. In your bio use euro that you are mixing science, art and technology. You spoke very briefly about the connected canvas or the connected ink. And did you do something else and the direction of art that you want to talk about?
Charlie Gerard 35:31 Um, let me think I think I did a few things. But they're always prototypes, because I usually I just want to kind of see if I can do something. And then once I do the prototype, I switch to another idea, because I don't really have the time to really finish things. But I think I was, one of the things I did was to mix conductive ink with projection mapping as well, where I would have a canvas with some paint on it. And when I touch the paint, there's actually a projection that goes on the canvas. So it kind of animates the canvas with with projection mapping. And because it's projection mapping was something that I wanted to learn more about. So I did something like that. But it was really a project that really didn't dig into it. But I think there's a few times where I played with things like Sonic pie to make music with code, as well, a group of friends and I, we, one day at an event, we kind of made a band, that we're making music with code, I don't think we were really good, but people were interested was, that was good, you know, making people aware that you can make music with code. Otherwise, one of my goal for this year, and I don't know if I'll have the time to do it was to try to host a really small exhibition of augmented reality art. So I want to see if I can print a few different posters, and I would probably try to rent a really, really small gallery for like a weekend, and bring bring drawings or paintings to life with augmented reality. So it's something that I think is really interesting. And I like to explore that space. And then I would, it would allow me also to learn more about different augmented reality tools like AR kit, or AR core, or unity and euphoria, all these different tools. And so that's one of my goal for the year. I don't know if it was already my goal for last year, but half the time. So hopefully, I'll get a bit more time this year. But it's, um, I really love mixing different practices because you get to learn so much. I feel like if you're only only interested in in technology, you cut yourself from learning about other things. And you also I think we're all in that little tech bubble. And I think it's really important to get out of that, as well. And I think my way of getting out of that is to learn more about science and art by making things with technology. I don't know. But yeah,
Charlie Gerard 38:22 it does. It does.
Tim Bourguignon 38:24 I don't want to put you on the spot. But you said something very interesting. I would like to to come back to you said, um, about talking about your projects that you don't have the time to finish? When do you declare a project as good enough, and then move on? what's what's what's the feeling that triggers this?
Charlie Gerard 38:47 I think it's, so usually I have a goal in mind. For example, for example, with the brain sensor project, I wanted to format for the framework that I built, I wanted to be able to get the the data for the thoughts and the data for the facial expressions. And once I got that I tried to make the framework a bit more user friendly, because I want people to be able to use it. But I don't have this is where I kind of stopped and I say I don't have the time to do this full time. And to make it that much better. And or to build more demos with it. It's gonna feel like I, I built a demo with facial expressions. And I built a demo with the thoughts to move to move in a 3d space in the browser. And I feel like this is where I hit the point where I'm I'm okay, we're with words got up, and I'm ready to move on to the next instance, or the next project. So I think it's once I've reached the the first goals that I set myself, I don't always need to polish everything, because then you end up in this situation where it's never finished. And the thing is, if I keep, if I keep working on that, then I can't work on my other ideas. So I think it's I, I think I'm okay to stop something because I know I have other ideas I'm excited to work on. And also, all everything that I do is open source. So if somebody needs it to be more polished, anybody I can actually contribute and help me make it better. That's, that's what I like about open source is that it's working, it's not perfect, but for now, I don't have the time to really maintain it. But hey, it's it's open source. So if there is something that you think should be done, or that you want, you can either raise an issue or, or make it yourself. And it's always a bit hard to know exactly when something is good enough. But I think it's like, you have to be conscious of the time that you have. And I think I'm right, I'm trying to be quite productive with with my time. And this is where I have to be. Okay, I am done with this sensor. Now I have a new one. So and now it will allow me to learn more about machine learning. So I'm going to focus on that in one side. And I have quite a few different projects that I'm trying to learn more about. I think I'm I think that's why I'm building more prototypes, because I want to validate an idea. And once I think once I validate the idea, I'm thinking okay, do I do I want to really dig deeper? Or am I comfortable with the knowledge that I've had so far? And I can move on to something else? I think this is the that's the questions. I'm asking myself when I build something.
Tim Bourguignon 41:48 Fantastic. Tie Time is running out. One last question, have you already fought yourself with the idea of creating a real product out of one of your prototypes toward being torn between the I have so many ideas I would like to try? And this could be a business idea I could implement on?
Charlie Gerard 42:10 I've been asked that question a few times, especially about the the brain sensor people have asked me, don't I, you know, thinking about trying to start a company. I for now, it's not one of my goal. I'm not saying no for like later. But for now, it's not really my goal, because I see it more as an exploration of technology. And I feel like if I turn one of my ideas into a business idea that I won't have time for the rest, I will have to focus 100% in on that idea. And I feel like my brain doesn't really work like that. I like to jump from one idea to another to another. I think that's what keeps me excited and motivated. So maybe, maybe later on in my career, but I think that right now, I feel like I'm still at the beginning of my career, and I want to be able to
Charlie Gerard 43:01 explore different different paths.
Tim Bourguignon 43:05 Cool, cool. Um, this is a question I often ask at the end of an interview. What would you wish you would have known? Either at the beginning of your of your bootcamp or of your career, or maybe earlier?
Charlie Gerard 43:22 I'm
Charlie Gerard 43:27 not actually sure about what what do I wish I would have known?
Charlie Gerard 43:32 I think maybe the importance of networking in the community.
Charlie Gerard 43:41 Maybe that I wish I had known before.
Charlie Gerard 43:45 Because I think what I haven't had that much like trouble with that. Because usually, if I go to a meetup or a conference, I really like to get to know people. But I think people don't always realize that, like, getting to know other people in the industry, and learning from them can actually open a lot of a lot of opportunities. So that's one thing that I wish I had known. And also, maybe more importantly, I wish I had known that you're not supposed to know everything. I mean, that's maybe that sounds like obvious. But sometimes when you start in the industry, you think that seniors in Leeds know everything, and they can answer any question at any time. And he's quite unrealistic. And I think it was quite a lot of pressure on some of the junior or mid level devs. To feel like they have to just know everything or if they don't, then it kind of makes you feel a little bit bad about yourself. But then the more you actually talk to people in the more you see people interact with each other and the more you realize that you actually don't have to know everything at all you have to maybe know how to figure it out, or how you would start problem, but you don't have to know exactly how to write it like you're not StackOverflow or Google. I wish that people always let people talk to more about the when they fail, or when they don't know something. I feel like we're still we're talking more about it. But I feel like we're all sharing our wins, but we're rarely sharing when we're failing or, or when we're feeling bad about ourselves. Like, I think we should definitely do that more, it would put a lot less pressure on people. Yeah.
Tim Bourguignon 45:31 It would indeed, do indeed. Unfortunately, we don't have time to get in there. We reached the end of the time box already. I have two more questions. The first one is where could the listeners reach out to you if they want to network or ask you questions about about one of your many projects, ongoing project?
Charlie Gerard 45:53 I'm, I'm quite active on Twitter, at Dev, Charlie. So I tried to reply, like, my, my DMS are open. So I try to look at the messages that I get. Sometimes it takes me a little bit of time if I'm busy, but I always try to reply. And that's the platform and then most active,
Tim Bourguignon 46:15 do you have something on your plate coming up in the next weeks or months? I don't know, conference, you will be at where people could find you and reach out in real life? Or maybe articles or books coming up? I don't know.
Charlie Gerard 46:29 Um, so I have a few conferences coming up. I will be at JS heroes in April. And I will be at you got a love front end, which I think is in May, if I remember, well, I'm actually not sure. And I might be I think I will be at devoxx in London, around me as well. I'm pretty bad at remembering the dates. But when it comes closer to the date, I check it out. But I think for now, for now, I will be at these three this year. Otherwise in terms of in terms of books, always wanting to write a book but I don't think I know enough. Yeah, that's like imposter syndrome. And articles. I'm I'm working on a few different personal projects. So I always try to write an article to share what I learn, but nothing concrete yet.
Tim Bourguignon 47:26 Okay, cool. Well, um, it has been fantastic hearing you hear your story. Thank you very much for sharing.
Charlie Gerard 47:35 Thank you so much for having me. It was really good.
Tim Bourguignon 47:37 And this has been another episode of developer's journey. And we'll see each other in two weeks. Bye bye. Dear listener, if you haven't subscribed yet, you can find this podcast in iTunes, Google music, Stitcher, Spotify, and much more. Head over to www dot journey dot info. To read the show notes. find all the links mentioned during the episode. And of course, links to the podcast on all these platforms. Don't miss the next developer's journey story by subscribing to the podcast with the app of your choice right now. And if you like what we do, please rate the podcast, write a comment on those platforms, and promote the podcast and social media. This really helps fellow developers discover the podcast was fantastic journeys. Thank you