What happens when you get life-changing news or information? How do you respond? How do you process? Catch up with DJ to hear how he re-framed his perspective on hearing he'd been diagnosed with cancer.
Jonathan: Okay, DJ, well, welcome to this week's Exercism podcast. Really great to have you here. We're sitting in Haarlem, Haarlem, as they say, I think. You can correct me if I'm wrong. You're supposed to be able to pronounce this. Okay, I'm going to try again.
DJ: Okay, which are our three cons. Okay, Harlem. There's no G in there. Okay, Harlem, Harlem. Okay, Harlem
Jonathan: Haageslach eating tulip growing. The trouble is it's that guttural G which I struggle with.
DJ: But there's no G in Harlem, it's an H.
Jonathan: Yeah, but the R. OK, so that's that's where I'm coming from in this instance. But really good to have you on today's show. You've been involved with Exercism for a couple of years now, potentially. I mean, how many how many years have you kind of have you been involved?
DJ: I don't actually recall my first... The first time I thought, oh, I'm gonna be annoying and complain. I've been with Exercism since the first version. I do recall, I think it was around Christmas, and I was just looking for some exercises to do. And I found it, I signed up, then didn't use it. And then there was a V2, which I do recall a lot. But I think it's been about, I would say, three, four years. Four years, probably, when I was really like, oh, I'll help out. I'll tell people where I think they're wrong. But then I'll go to fix it. Yeah.
Jonathan: And then after you fix it. Yeah. And then from a tech perspective, so obviously Exercism. Was that later on in your journey into tech?
DJ: Yeah, I definitely didn't use it to learn a new programming language. It was, it started out as busy, busy work. You know, the same as people find cleaning very soothing. I was very busy at work, so I decided to do more. Because, you know, you already have so many things to do. So I was looking for exercises, I did the Cotta Wars, I did the HackerRank stuff, and then I found Exercism, and what I liked about Exercisms, they were new exercises that you didn't have anywhere else. There was no make this code golf, so make this as short as possible, and there was no make this as fast as possible, but it was just see if you can complete the exercise in a way that you like. Cool. With the added benefit that you could do it in more languages. So for me it was, I went to university and I studied computer science, but I only did it because I didn't know what I wanted to do. Wanted to do one million things, and my parents had a toy shop. And it was going bad with the economy. So I figured I needed to do something.
Jonathan: So what year was this roughly that you... When was the crisis? 2008? 2009? So then. Yeah, okay.
DJ: When was the crisis? The US crisis? 2008, 2009. So then. Yeah, exactly. So I'm 31 now. I started university when I was 17. So around that time. And I was already working for an ICT company. Have you tried turning it off and on again? No. No.
Jonathan: No, no. Yeah, yeah, they've broken just turn it on.
DJ: Yeah, so for anyone in enterprise, the most common problem with people's computers at offices is that they're not plugged in. So, you know, I was working for an ICT company, an IT company, and they did some programming, but I decided, well, if I'm going to study and I'm going to need to support myself because my parents had a toy shop that wasn't running well because there was crisis in the world, I better do something that I already know how to do. So, I decided to sign up for computer science.
Jonathan: And that leads us to kind of now-ish. Yeah. Was this in Holland at the time? Yeah, yeah. It was in Delft, University of Technology. OK.
DJ: Yeah, yeah, it was in Delft, University of Technology. And so I was 17 and I really liked computer science when I started it. And I did it for about seven months. And then I didn't quit, but I got cancer. So I stopped university. And when I got back, university was being very difficult with me. Curriculum had changed. They didn't want to accept me into some of the second year and third year courses, because they were saying, you've been drinking too much. And I said, actually, I was dying, but thank you very much. So I decided to work instead. So I only did the projects that I really wanted to do. And that was my introduction to languages such as Java. There was some C, Haskell, Prolog, a lot of different subjects for different courses. But at work, I was using C Sharp.
DJ: And I knew Ruby from when I was younger, when I tried to be a game developer, because that's the language to do it in. It's not, but it was.
Jonathan: So how did you get initially interested in tech from a very young age? Obviously you went from like you're seeing your parents in a toy store and then the recession and all that But like presumably before that was there like a tech this is interesting moment
DJ: Yeah, so when I was 12, I think it actually it actually started when I was very young. So when I was very young, there was no Windows 95 yet. It was MS-DOS. And my mom would do the books for the printing company that my parents had. They had a printing company before they had a toy shop. And she would do the books in Xact, which is a very common accountancy program. And it's in MS-DOS. And it just looks it looks like the thing that you see hackers do, right? It's like the green screen, the matrix screen. And then a little bit later, it was white, white colored. And it was it was it looked very interesting. And I like to play around in it, absolutely destroying her work. And she hated it. And my dad was actually one of the people when he was younger, who had one of the only CD burners in the city. So when he grew up, he was one of the first.
Jonathan: The Matrix screen and all the cascading.
DJ: people with one of those things and he would he would copy data for people and burn it. So he did like computers. He had a few toys at home, but that was it. I didn't have gaming computers. I didn't grow up with a television. I was in the scouts when I did competition sailing. But when I was 12, I did get a computer. And it was slow. It was one of those computers. And those who are a bit older, you know what I'm talking about. It had a turbo button. I think I remember you talking about it. And if you press it, the computer literally went zzzzzzzzzz easier to fence. And it went faster.
Jonathan: And your electricity bills went up significantly. And so I played Rollercoaster Tycoon. Oh yeah. A lot. Where did you get to on that one?
DJ: Yeah! Significantly. And so I played Rollercoaster Tycoon. Oh yeah. A lot? So the computer was so slow that there is this one level, and I think Israel goes to Takkun 2 in one of the expansions, and I think it's called Arid Heights. It's the first level you can do without money. And it took me like four months to complete it. That's amazing. Right now on my computer, I can probably do it in an hour. But it was that slow. And it was great. It was amazing. And I love this.
Jonathan: That's amazing. One of the best games out there.
DJ: Yeah, yeah. And it did make me want to get into game development. Not because I like programming, I just like playing the game. So between my 12th age and when I turned 18, I did dabble around with RPG Maker, which is... I think it's Japanese, but it's a program that was translated for an international and mostly American audience, and you could use it to build RPGs. And it's very much like point and click, and the entire event system has UI, but the underlying programming language was Ruby. And the entire scripting language was RGSS. That's the Ruby Game Scripting System, or something like that. And so you can move whatever built-in screens they give you, like a menu, around by changing the coordinates in those scripts, because they're exposed. So that's the first thing I did. I moved the screens around and I felt very accomplished. Well, you're a pro. I mean, I've seen it. Yeah, I've seen it. I mean, I didn't know any programming. This is just, you saw numbers and you understood those were coordinates on the screen and you changed them around to change the screens on your screen, and it was great.
Jonathan: Well, you're a pro. I mean, senior. Yeah, senior. So like the connection between what happened on the screen and what you had to do was kind of straightforward. It was almost instant. You could almost instantly see it.
DJ: You could almost instantly see it, right? And that goes into why certain people think that interpreted languages are better to teach beginning programmers, right? Exactly because you have the instant feedback. And after that, I did work on more complex systems. So someone made graphics to have leaves animate on the screen. And so I built a little script that made that leaf actually animate and then float around the screen. And even though I was like 14, people did know me by my internet alias, which I thought was very eloquent. It was me and then a trademark sign, which was very annoying when people tried to address me because they were talking about me, which was great. And as I got older, I did find that the programming was just fun to do, but it wasn't like, oh, I'm gonna do this one the rest of my life. I wanted to be a surgeon and I wanted to be an astronaut and I wanted to be into designing medication. But no, circumstance, happenstance. So by the time I actually worked for that ICT company before university, when I was 17, I had some programming knowledge, but there was no desire to become a programmer. There was no, oh, Silicon Valley is the coolest thing I've ever seen. I was just.
Jonathan: ...flowed around the screen. It was just a part of who you were or who you are. It was how I made some of my money. Yeah.
DJ: That's how I made some of my money. Yeah, and it was a job. It wasn't until I actually started university and actually did the courses that I realized I was very good at it. To annoyance of some of my classmates who really did not like that I could come in way too late and still get higher grades than they did.
Jonathan: Do you think being competent at that point at university was partly because you'd had a long period of time of Having had that content material in your minds and that embedded in so to speak Is that you think as a factor in that like an element of that or was it just like you had a natural affinity? Affinity and you just knew what was going on. There was a
DJ: what was going on. There was research done. I don't recall the paper's name and I don't even recall the researcher's name. But they did research on whether or not... everyone in the world could become a programmer. Remember, a few years ago, there was this big push to do everyone should code. And they found out that there are basically two groups of people, people who will understand and people who won't. And that's okay. And they found it important to research or actually, that wasn't the goal. But that was the conclusion. They found it important to voice that conclusion, because it means that you're not dumb if you don't get it. It just means that there is a part of having to be able to understand the logical constructs. So this has nothing to do with knowledge. So how often have you seen it? Or how much do you know about the language? It is purely, can you make the mental model to make it click? And they found that there are people who can and people who can't. And in both groups, you'll have various degrees of competence in terms of if you put that time in it. And I think it's like that with so many things. I really like cooking, but I've only gotten better at it because I spend a lot of time in it. Yeah. Right. So you try out. So I think there is some skill to it, as I know, people, very dear friends, who've tried to cook. Yeah. And that's all I want to say about it. Because you know who you are if you're listening to this. And that's not to their fault. There is a part that I think comes natural. And there's a part that's acquired. And I think with programming, it's the same. Do I think it helped that I already had dabbled with programming? Yeah. 100%. Of course. It's very similar to someone who's trying to learn an instrument, but they do know how to read the notes. It will help. And it may not give you all the benefit in the world, but yeah, it did help me. But a lot of it was also because I was already making money with it. So I was doing...
Jonathan: And that's all I want to say about it. 100% 100% 100%. So while you were at university, were you earning your keep building stuff as well as studying? It was like you had this dual thing going on at the same time.
DJ: Yeah, I did. So I basically studied, study plus work, together was about 60 hours a week. And then also that was going out.
Jonathan: So you made the week turn into 270 hours somehow. Yeah, somehow. Yeah, yeah, yeah.
DJ: somehow. Yeah, somehow. Yeah, yeah. So I was very good at very little sleep. I also don't get hangovers, I still don't. I just get tired and that's it. So it was great for me. In Dutch we say, studeren is leren combineren, which means that studying is the art of knowing how to combine different things. And I do, especially for me, that was very true.
Jonathan: So then you made an interesting point about the whole cancer thing. So you're in university and then that hits you. Yeah. Out of the blue, something that you just like.
DJ: Yeah, it was a shock that one day. It was shocking, but it also was I felt very mellow. Getting diagnosed with cancer for for many people is a very long it's a very long process. It's not like oh, you go to the doctor and they sell you have cancer. That never happens. You go to the hospital and you get all these tests and and there is always the worry from doctors and by the time you've had it once you know what expressions to look for, but they don't tell you you have cancer until they know that you have it. So and this is a very long process. For some people this takes weeks, for most people this takes months, but for some people this takes years before they know. And that's also the horrible part about it is that if they don't look for it, this is what kills you because you're too late. And so for me, I was in the mill as we say here for four months and months and then they finally told me and said yeah you have you have lymphoma this and that and yada yada yada. We don't know. We have a diagnosis for you but not a prognosis. So we know what you have, we don't know how long you're going to live. We know it's bad, we don't know how bad. That was it.
Jonathan: So I tell you everything and nothing all at the same time. And so I said, OK, now what? Yeah.
DJ: And so I said, OK, now what? Yeah. And the people who told me the news were not very happy with my response because they thought I didn't take it seriously. But I said, you're telling me that you don't know what to do, so what's next? And I think the only thing that really changed for me, apart from, of course, be out of the running for almost a year, is that I stopped saying no to a lot of things. So whereas before the cancer, I was working and studying and going out, after that, I just I started to do more. And you did more. Yeah.
Jonathan: And you did more. Yeah. Most people would be like, OK, slow down, stop.
DJ: I stopped saving money. I started to spend it, because what's the point? I would die and then someone said, oh, he could have done so many great things with all the money he saved. Now that I'm older, maybe that wasn't the wisest decision, but at the moment, that's what my prefrontal cortex told me to do, and it was late puberty, and go for it. So I traveled a lot, I worked a lot, I studied whatever I liked, which was computer science, but only the courses I was allowed to take and I wanted to take. And then one of my teaching assistants from the first year, he moved to Stanford, which is in California. It's one of the big universities, one of the great universities, and he said, do you wanna do a summer project for me? Because I work for this company, it's a startup. And I said, sure, fully confident that I had never touched Android programming in my life. I had an Android phone, it was an Android project. I did Java at university and that's it, that was it. And I said, sure, sure, give it to me, I'll do it. What will I get? He said, well, we'll pay you $3,000, you have to finish it by the end of summer. At the moment, I was living together with someone in RNM and they cheated on me on my birthday, and so I called my best friend, who's from Texas, and she said, you just turned 21, why don't you come on? What have you got to lose? Exactly. Come on over here. So I did. I flew over and when I was in Texas, that teaching assistant said, hey, it looks like you're in Texas.
Jonathan: What have you got to lose? Exactly. Come on over. That's what I need.
DJ: we can fly you out here. So why don't you do your holiday and then change your flight back and then come over and work with us for a while. And so I did. And that's how my Silicon Valley story started. And this is how I, even though I was already professionally making money, but more as a means to an end, it's how I got pulled into California and the work. I already had my own company because I- 21
Jonathan: At 21 you set up your own company in Holland? I set up my own company for tax reasons. Okay.
DJ: I set up my company for tax reasons. So I was doing the ICT company, but the programming work, I wanted to do that not as an employee, because as employees, you don't make a lot of money. And there was still a lot of tax benefit I could get. So I set up a company and I told my ICT boss, I said, hey, listen, I want to do the programming work as this company. And he said, fine, agreed. I'll also increase your pay because you're not an employee then. I'm like, great. So I already had that. And so I was able to legally have a US client because I already had- Or you subcontracted out and then- Exactly, I subcontracted out myself. It's great. It's great. And I basically did that for four years, flew back and forth.
Jonathan: Oh, you subcontracted out. And then exactly I. So you were based in Holland? Yeah. And then you would fly out, do some work, come back? Yeah, I would also work over here.
DJ: You come back just yeah, we'll also work over here. So I would do work remotely. But I would go there for meetings and you know, build up a like a working life and experience over there and it completely replaced whatever I wanted to get from university. So I stopped going. I mean, this ended about five years ago. And that's when I started to hire people over here. So I grew the company, it wasn't just me anymore. I told one of my friends from university, I said, hey, do you wanna work with me on this project? And that project was actually one of the clients from the US. And he said, sure, let's do it. One of my other best friends, she actually was hired by a US company, so I still had a reason to fly there to visit her, which is great. So I would visit the clients, I would make new clients, and I would fly back home and then we would do the work. And they would pay us American salaries. Amazing. And for those who don't know, the cost of living over here is much lower. So- Is it? I mean, And this is...
Jonathan: guess California or was that what you were kind of in that area? so
DJ: Where was that where you were kind of in that area? Yeah, so it's like a ridiculous. If you I know I know I'm spoiled in the Netherlands with access to fruit and vegetables and we grow a lot over here and we import a lot from from Europe. But if you want to get a. Half a kilo, so 500 grams of strawberries on the market, you will pay, if it's within season, between one and two euros. And in the most expensive supermarkets, except for the eco ones, you will pay about 250 in season. Out season, it will go up to four or five euros. But let's just say, for argument's sake, it's two euros. The same amount of strawberries at Molly Stone's in Palo Alto will cost you about $11. You serious? Yeah. So that's really... And I think that's a good way to base your prices on. My rent for one room and a bathroom was $3,000 a month. It's ridiculous. It's unsustainable. It is also why they need to pay people that much.
DJ: And so yeah, when you move back here and you get the same pay that for a while, that was great. Yeah, that was amazing. And then I grew out of the company. But there was never really a realisation of, oh, yeah, I want to do programming or I want to be a programmer. Or it was just I'm good at it, I can make money of it. And then I started to like it after.
Jonathan: And so now you're in this tech scene, this tech space. One of the things I wanted to ask you about and I'd love you to expand on was this whole concept of accessibility. And now I'm coming in a little bit blind in terms of what that means. I know that it's close to your heart in that sense, but expand on that a little bit.
DJ: Yeah, so currently I build mostly computer programs that can be consumed either by your mobile phone, so think apps, or websites or web applications which you consume usually using a browser on your desktop or your laptop or any other browser capable device. Accessibility is about making what you build inclusive, so accessible to others. It in essence has nothing to do with programming. We talk about accessibility when we talk about, well, is there a wheelchair friendly entrance or toilet? It is to make spaces more accessible means to make it more inclusive so more people can use it. I think that I've had a lot of, a lot isn't very quantitative, I've had bad experience, negative experience with racism and ignorance all over the world, including this country.
Jonathan: I think.
DJ: majority of it I strongly believe comes from ignorance. But it goes as far as my watch, my smartwatch, burning into my skin because they didn't design it for more pigment. So the official support request when I told them I was having a spot and it wouldn't either detect my heart rate or it would burn was try to wear it on the inside where there's like less pigment. That was the official response. You can see me, other people can't, but I'm like Dolce de Leche caramel color. So you know I'm not very dark tone, I'm not very light tones, it's like right there in the middle. But I've had issues with soap dispensers not dispensing soap.
Jonathan: That was the official answer. That was the official response.
DJ: or doors not opening. Okay, really? Yeah. And, and you know, that stuff annoyed me, but it's all inconvenience. I don't have people around me who are visually impaired to an extent that they need assistive tools. I don't have people who are deaf or hard of hearing, but I can imagine what it's like for them if how they are.
DJ: negatively affects them when they're trying to live, because that's what it is, right? So when I looked into this, which literally means, one night I opened Google, and I started reading up on Mozilla's pages about accessibility, they do have quite a bit of information on there, I found out that a lot of the things we can do as web, primarily web-based, but also app developers, to make stuff more inclusive is not complex. And by not complex, I mean I did a talk a few weeks ago where I showed the difference or actually I let people listen to the difference between about 15 minutes of work between something that is completely inaccessible and something that is not horrible. And so this excuse of companies that they say, oh, you know, it takes a lot of money and takes a lot of time to make stuff accessible. It's just an excuse. It's probably ignorance, which is the most positive way to see it, but it's also b****.
Jonathan: It's an excuse.
DJ: It really is. And so when I found out it was easy to do, I started to advocate for it.
Jonathan: So give me an example of something like in an app or a web browser that, like just as an example.
DJ: Oh, here's the easiest example. People assuming you have a mouse. So that means hover states, which you don't have on your mobile phone. This is the most common thing that people actually know, because they use the website on their phone and they want to see a tool tip and they can't see it unless they long press on a thing, because that's what simulates the hover on your mobile phone. Now, imagine you don't have a touch device and you don't have a mouse, but you use your keyboard. If you use standard web elements, so HTML, the way it was intended to use, or if you use the right primitives for your Android or iOS app, or when you use libraries such as React Native, this will not be an issue. And this is the important part. Smarter people than me have thought about this endlessly. There are documents and documents and documents about how using standards can make things better for everyone. But if you can't use your keyboard to navigate a website, it means that there is a part of the world who can't use your website, which is sad because you want to build stuff so people use it. So this has nothing to do with doing more work. It has everything to do with you want your work to be out there, or at least you should. I guess you're saying.
Jonathan: So I guess what you're saying is being more intelligent with how you approach something rather than necessarily...
DJ: I think it's part education. So and by that I mean, there are a lot of people who don't know this is an issue because no one has told them this is an issue. And I find it very easy that people complain about that. Say, oh, you should you should you should make everything accessible. But if you don't know, because it's quite a broad term. Like if you say make it.
Jonathan: Because it's quite a broad term. Like if you say make it accessible, it's like, well, what do you mean by it? It's very broad in that context. Super broad.
DJ: Like it's very broad in that context. It's super broad. It is incredibly broad. It's even worse that some ways of making something accessible is mutually exclusive of making it accessible for other people. So if you're visually impaired, so you have bad vision or you're blind, you'll most likely use either a Braille screen, which will translate whatever it sees on the page to Braille, which is great. It's amazing. So how does that, does it create like a- It's tactile. Okay, so it's tactile. Yeah, it's really cool. So it's a tactile screen that you can touch and it will show the content in- In Braille or like- Yeah, yeah, no, literally in Braille, that's it. Or they will use a screen reader, which will read the screen out loud, or they'll use both. There are many people who use both. These people-
Jonathan: So how does that does that does it create like a okay? It's really cool in in in braille like yeah yeah no like literally in braille
DJ: will not be able to use the product, right? But if you do the work to make it possible for them to use, you may start doing things like announcing icons. So what we see as an icon, like a gear icon, which we think is settings, you give it a label. You say, this is settings, which is great, because now they can see by hearing or by feeling what we can see with our eyes. However, and now here comes the thing where you need to know this, is that some people will use voice commands to browse the page.
Jonathan: like a gear icon. So like Siri, would that be an example? Hey Siri, go to Sessence.
DJ: Yeah, like Siri. Hey Siri, go to settings. Yes, exactly. And if the visual textual label on the page doesn't match that extra accessible label that you added, so it doesn't start with the same text, and nowadays the more modern tools they do inclusion, it won't be able to click that button.
Jonathan: So does the experience of navigating around as someone who has trouble seeing in that context just becomes like real pain in the neck? Yeah, so in these cases...
DJ: Yeah, so in these cases, people who use, and it's very important to understand that, people will use assistive technologies in different ways than we expect them to use it, right? So someone using a screen reader doesn't mean that they're blind. One of my employees uses it when he's tired, because that's how he keeps focus. In the same way, some people using speech commands, it may be because, not because they don't have hands, but because they are nurturing a child, or they are on the road, or there are so many reasons why people will use these tools that are different than their original purpose, right? But not knowing that this is how the tools work, make it very hard to develop for. And so I find it, I find a lot of things. One of the things is, I find it interesting that in university, there was about zero minutes spent talking about the subject. And this goes for most people. Most people I've talked to do not learn this at school.
Jonathan: I mean, this is the first time that I mean, to be really honest, like I probably had a conversation about this. Yeah, this topic. I mean, it's kind of floating around. But yeah, but in terms of actual concrete examples that I'd never really considered. Yeah. That's, you know, my wife is pregnant or was pregnant and or now has a baby child. Yeah. And you can't do stuff with your hands. Exactly. So speak.
DJ: Exactly. So speakerphone is great. And this is what we call situational impairment. So you have different categories of impairments, right? You have permanent impairments. So if you cut off your hand, you don't have a hand. But if you sprain your arm or you break your hand, it's temporary. And then you have situational impairments, which is, well, you have your hands full. And all of them would like it if stuff was more accessible. And that doesn't just go for programming, but for anything, anything in the world. But with programming, it's something that we can influence. So the second thing, so the first thing is we don't get educated about this, right? But the second thing is that the big companies who do have the resources to spend on this, they are horrible. In general, they are horrible. Yes, there are great teams. There are great accessibility advocates. You know who you are. There are definitely big companies who've made a lot of improvement over the past years. But in general, this is not something that people do by default. Mm hmm. Whereas, you know, making sure that the site loads is something that they do. Yeah. And that's something that people do care about.
Jonathan: But I think it's interesting because at the moment, I think there's a negativity around creating something for accessibility. I would say that the general perception is that it's an additional thing that one has to do. But actually, if you flip it around and you say, well, you make it so much more available, then that changes the dynamic completely. And I like what you said about that, because it kind of feels like when you talk, I feel like there's a hopefulness about it, which is, hey, actually, you can make your product stand out from the crowd because you're actually making it more available.
DJ: Making it more available. I think that... Am I being a bit... Is that a bit twee or a bit stupid? I think the positive thing is that you can do it. Yeah. This is not something that is... You don't need to be a rocket scientist. This is a great thing. The negative part is that we actually are talking about this, that it's the exception. Which is sad. It really is sad. But I do hope and I do fight for making more people aware and then care. Yeah. And the question I get most about this is, okay, DJ, you convinced me, but how do I convince my coworkers and how do I convince my boss?
DJ: As a company and as an employer, we've changed a few things. So the first thing we've changed is we don't charge for accessibility. It's not an invoice because it shouldn't be.
Jonathan: So you bet you build that into your scope so you would say like okay here's we'll develop your app normal And then okay you want the additional accessibility That's it
DJ: Yeah, that's interesting. So we don't do that. You don't throw in accessibility in the same way that you shouldn't throw in animation. You don't throw in design after the fact because it becomes very hard to design something, right? So when we build something new now, it's accessible. That's not an option.
Jonathan: option. So it's just that it is the spec. Yes. It's not it's not a line. There's nothing no.
DJ: It's not a line item. It's not a point in the projects. We sometimes list it when people ask for it. They say, can you please make it accessible? Then we will put it in there.
Jonathan: You see what I even had that assumption that it was like an additional piece. You don't.
DJ: assumption that it was like an additional piece. You don't. Yeah. Every button you put on your page should be a button. And every link you put on the page should be a link. And for those who know what I'm talking about, this is common sense. But for a lot of people, that's not what they do.
Jonathan: So how does that then fall into like best practice side of things? Because you could do things cheaply in the sense of not make everything a link a link. Yeah. Right?
DJ: Yeah, yeah, yeah, that's a very interesting comment. So this ties back into how do I convince my boss. At the moment, as programmers, there is so much scarcity. There are so many job offers. Right now, for the majority of people who already have worked in the programming space, it won't be very hard to find a new job. This is with the caveat that I only know the current states in the West. I can absolutely imagine that in other places of the world, it is difficult, but right now in the West, it's not. If your boss cannot be convinced by you saying that they should care about it, you should leave.
DJ: Because if you're going to turn this into a cost battle, you will lose because all they'll see is it takes more time. Now, if you use best practices, right? So if you use the web, if you use the web standards, and if you know about this, and if you invest the time to know about these things, being accessible for...low to medium interactive applications doesn't take more time.
Jonathan: Hmm. It's because you're just doing it as part of.
DJ: Yeah, it's because you're using things that smarter people than me have come up with and they are accessible by default, right? So think input fields. When you input, you have to put your name into an input field. There's an HTML element, which is called the input element. If you use the input element by default, it will allow you to use a keyboard, but also use speech commands to fill it in. If you use...
DJ: a different element, say a div, and you try to make it behave like an input element, you're probably not going to consider all the things other people already thought about. And that's the point, right? So if you don't try to do something special, and you don't think that you're smarter than those people, you will probably use the standard. And if you use the standard, you're already halfway there. And for everything else...
Jonathan: Because that to me is the most compelling argument. It's like one of the most compelling arguments is just do what things were designed to be used as, right?
DJ: Yeah, and you'll actually make it easier for new people who come into the company to understand your code. You'll make it easier for people who are just starting out, because you can point them to all this documentation that already exists out there. That's not... You're not reinventing the wheel here. You're not reinventing the wheel, and that's the point. And because I now, after years of studying this by myself, because I decided to care, I know that so many things are actually not difficult to do.
DJ: And so if you do them, and if you make them part of your regular workforce, they actually become easier for everyone to do. Which makes everything more inclusive for everyone, which also makes this more common, which makes it again easier because... And then more fun, and then... Yes, exactly. Did one of the inventors of the World Wide Web...
Jonathan: mmm, Yes, exactly.
DJ: I don't know the quote by heart, but it's in the talk. You should link it if you put this online. Yeah, I'll definitely put it in the show notes. But he said that this was the web was for, it was to be consumed by anyone and everyone.
Jonathan: Yeah, I'll definitely put it in the show notes.
DJ: So the whole basis of interconnectivity of the World Wide Web was for more people to consume more information. It was universities who started sharing their research details. And sure, there were governments who thought, oh, maybe we can have a military application for this, just like how GPS started out. But in essence, it was a science project and they didn't expect it to be this big. But when they found out that by connecting computers to each other and sharing data, you could actually do more work more fast and you have access to this big library of data and you didn't need to write it down in books, which get outdated.
Jonathan: Yeah. Accessible was the founding pillar of the internet you could argue yes exactly
DJ: pillar of the internet, you could argue. Yes, exactly. It boomed. And we need to keep it that way. We need to make products that are inclusive. And this goes not just for web applications, not for mobile applications, but it goes for everything. So dear Google, when you design a labeling system for your Google Photos and you start tagging black people as monkeys because you don't put in monkeys in your additional data set, that's just unprofessional. Apart from social aspects, right? So apart from ageism, ableism, and racism, it's just unprofessional if you don't think about...
DJ: how to make your products inclusive. And that is my stance. And I know it's, people say, oh, you care a lot about this.
DJ: But that's a fun thing. I don't gain from this personally. I don't gain from this personally, right? I'm able-bodied in almost every sense of way. Sure, I'm a bit weird, they dropped me as a child, there's that, but other than that, I don't need these things myself, and that's not why I think people should care. It's because I do want other people to be able to see, hear, use whatever I built. That doesn't mean that I don't make mistakes, there's plenty of code that I write that is absolutely inaccessible or not inclusive, but when I find out, I try to make it better. And that's not a, that's not like, oh yeah, this is something we could do. No, when someone says this to me, it's something I feel I must do. Yeah, otherwise they can't use it.
Jonathan: And that's Yeah, it's like a no-brainer. It is!
DJ: It is. It really is a no-brainer.
Jonathan: But it's good because it means that you're bringing something fresh, well not even fresh, it's just like you're bringing back to the front something that the World Wide Web, for example, was built upon and it's like a core value and I think that's important. You don't want to forget that. Because tech is actually quite inaccessible to a lot of people. And the knowledge of it, it's still a small group of people who tend to understand.
DJ: don't forget. Well, think about how the majority of programming languages is in English, assuming that everyone speaks English. Exactly. Right? How a lot of programming languages requires special hardware. For example... Internet connection. Yeah. And high-speed internet connection, which is more required more and more. And this is also... these are also things that I mentioned to people. You know, they'll write something that you can only do if you have a Mac or if you have Linux. I'm like, there's a lot of people on Windows.
Jonathan: We should write it back in the days if you had a dollar fifty six foot of a motor imagine that I do remember
DJ: What a motive, imagine that. Well, so I do remember those times. Yeah. Where your parents want to call and you're on the internet.
Jonathan: where you're-
DJ: Exactly, and they can't. And so I don't know if that's something with the current generation. I don't know if this is the problem of a lot of the money being in the West. We do generally have access to high speed internet, which makes it very easy to forget that not the entire world has it. But it's also stuff that's not very hard to think about, right? Yeah.
Jonathan: Exactly, and it can't. Yeah, but I mean it's interesting conversation because Exercism is trying to create an opportunity for as many people in the world as possible to learn code Which means that most of the population in the world where it's growing is in the emerging markets Yes, India South America Africa and internet connection is way more sketchy at this point in time in those in those parts of the world so yeah, are we building programs that people cannot access because it's The internet doesn't cannot handle but you know, that's always a consideration as well. Yeah There's a lot of different things to think about
DJ: Yeah, definitely. But to that point, though, of course, there are plenty of people in the merchant markets with great internet connections. And there are plenty of people in, for example, where I traveled the most in California that have no internet connection because there's just no coverage, which is very interesting. But it's always online and this high speed requirement and this fast device requirement, this expensive machinery requirement. These are...
DJ: They're not all arbitrary, but there are a lot of easy things we can do from having budgets. Think of budgets in size, right? How much are you going to push through the wire? To having access to offline modes, to making sure that your code works with assistive technology that are not easy to, that are not hard to start. So it's not, it's actually very easy to start making it better. And that's one of the things why, it is, if you think about it, it's one of the ways why I stayed with Actorsism is because there were so many different opinions, but everyone wanted the same thing, which I find very interesting, right? So there is this very large group of maintainers and contributors, but also mentors who all want the same thing. Every single person to some extent said, I am going to help other people acquire a new language. And I don't really care how good they are, but I will help them get better.
DJ: And I think that made me want to stay. Awesome. This is why I'm probably still around. Also, Jeremy likes it when I complain. So there is that.
Jonathan: There is that. That's awesome. That's really interesting on the whole accessibility topic. I've got two more little things I just wanted to ask you before we have to head off. The first thing was that we're really keen to drill into this concept of an idea or a hill that you would die on in the tech space. And the reason we wanted to talk about this and we wanted to frame it in a positive perspective is that there's a lot of opinion out in the old tech industry. And we're just keen to have conversation around those things and have good conversation around those different things. So what is the hill in the tech industry that you would be prepared to die on? And framing it in a positive kind of, this is what I would really vouch for. And you've probably touched on it a little bit before in our conversation just now, but is there something that you would be like, this is the thing that I think is key, that I would fight for.
DJ: Yeah, go for it. There are so many to choose from and obviously making the world's software inclusive would be the easiest to grab. But I don't think it's the one I care most about, funny enough. There are, especially the past few years, there are many, many... vocal people who conduct behavior that's not considered very pleasant. It has to do around things like gatekeeping. So oh, if you haven't studied at a university, you don't know what you're talking about, right? Or the conversations that back end is more complex than front end. Now here, this ties again, ties into Exercism. But the thing that I hope we will see is that those conversations are pointless. Because to a front ender, back end is hard if you don't know what you're doing.
Jonathan: It's like trying to be a bricklayer if you've never done it. Yeah, but you know how hard back end...
DJ: But you know how hard front-end is for back-enders who've never done it? When I come up with this accessibility topic, they're like, oh, I don't deal with that because I do back-end. People who write software for embedded systems, chips, rockets, they are brilliant. They have so many more constraints than we can imagine. And then there's game programmers, and they are brilliant at what they do, trying to figure out how you can make your GPU contain all those textures of all those new and brilliant games. It's such a different way to approach things. But this is what makes it interesting. What makes programming and talking about programming interesting is how it's different and how you don't understand it. And this is what we should do instead of saying, oh, you're this and you're that, negative, ad-ject, ad-verb, noun, whatever. Yeah. Be interested in this because you may learn from it. Now, there are definitely companies and there are definitely individuals and there are groups who do this. There are crossovers between so many fields that people don't realize. HTTP2 is basically doing TCP, a network protocol, over UDP, something that was very common in online RPGs, which needed to be able to push much more data without a persistent connection. React, one of the frameworks where you can build reactive applications for both web and for mobile phones using something that's called the double render technique, which comes from games. But also the other way around, all the assistive enhancements that we now have on our websites, are also being introduced in the gaming world. Right? Especially Microsoft has been doing a lot of work with some of the newer games where they add more options, such as subtitles, such as voiceovers for the menus, but also things like difficulty curves. So we know that programmers have different ways of how they acquire the knowledge and how they learn and the speeds of which they learn. And it goes the same way with using a product, whether that's an interface, like buying a ticket on a machine or playing a game, doesn't really matter. And it's actually the crossover between all these different fields and all these different roles that will bring us to a place where everything is better. Literally everything is better. Because you do see that the big things over the past years that are brilliant are crossovers. Right? Between all these fields.
DJ: People are going to gatekeep, but you're holding yourself back when you do that. And so, what I think, what hill I would definitely die on. is the one where I say, if you don't do that, you're gonna help yourself, right? So it's not just being inclusive, but being open to other languages, to other fields, to other roles, as opposed to saying, mine is harder, mine is more complex, mine is better, mine is whatever. This is also what leads to a lot of innovation because someone builds a new framework when they try to add one little thing to the standard. It does give us more knowledge if you think about it in a positive way.
Jonathan: Okay, so final question for you today. Yeah. What recommendation would you give to the community in anything? It can be food, exercise or whatever. If there was one recommendation that you would give to our community for this week, what would it be?
DJ: Yeah. one recommendation. That's interesting. My one recommendation would be... When you come to the Netherlands, understand that the Netherlands is bigger than Amsterdam. If you already live in the Netherlands and you live in Amsterdam, understand there's a world outside the ring. You know who you are. And if you're from the province, don't be mad when people call you a provincial. Because you are.
Jonathan: There we go. That is the good recommendation from DJ today. DJ, thank you so much for your time. We're heading out for some dinner now, but I hope you've enjoyed that everyone listening. DJ, thank you so much for pulling in for this impromptu recording this week. It's great to see you. Great to have a good chat. So we will link all of the notes to different links, and talks, and things that DJ has mentioned in the show notes. But DJ, thank you. You're welcome. Really great to have you, and we appreciate all that you do for Dexterism and who you are. So thank you very much. All right.
More Stories from our community
Listen, learn and be inspired by our community members.