AppForce1: news and info for iOS app developers

Twitter Space: iOS Coffee Chat: How to Learn New Things?

February 05, 2022 Jeroen Leenarts
AppForce1: news and info for iOS app developers
Twitter Space: iOS Coffee Chat: How to Learn New Things?
Show Notes Transcript Chapter Markers

Another Twitter Spaces recording. Was a lot of fun with Stefan again.Soon we will begin deep diving into some very much iOS related topics.For now, we lay some groundwork on how learning new things might work. Including the approaches Stefan and I use. There is even a confession in there on how Jeroen could do this better.

Dev Interrupted
What the smartest minds in engineering are thinking about, working on and investing in.

Listen on: Apple Podcasts   Spotify

Runway
Put your mobile releases on autopilot and keep the whole team in sync throughout. More info on runway.team

Lead Software Developer 
Learn best practices for being a great lead software developer.

Support the show

Please rate me on Apple Podcasts.

Send me feedback on SpeakPipe
Or contact me through twitter or Mastodon: @appforce1@mastodon.cloud

Buy me a Coffee or become a member of my podcast.

My book: Being a Lead Software Developer

Stefan Blos:

Welcome, everybody, I can see we already have a few people here, which is very nice. Happy to have you here. We are hosting this to the space. Last time last week already, we want to just have a casual hangout for iOS developers and connected illiteracy in our Swift developers are actually, basically just everyone, just casually and out, we want to discuss one topic. And we also want to hear from everyone of you. If you're interested in joining them, let us know, the topic of this week will be how we approach learning something new. This will be pretty pretty tailored towards iOS, but it will also be interesting for other people, because the strategies and patterns will probably translate very well to other areas as well. So we thought a nice thing to start would be to just get get going with how we actually learned iOS development or how we how we got into it, or why I want to invite you to start with that, because it may be interesting for us.

Jeroen Leenarts:

So you're talking to me or the the listeners

Stefan Blos:

talking to my wonderful co host. Okay,

Jeroen Leenarts:

wow, that's quite an evolved story, because that's most people here know, Stefan and I are colleagues at stream. And that's not what we're talking about today. Basically, I got started with software development 20 years ago. So that was in 2002, that I started software development. And I did a whole bunch of Java development back in the day. So front and back ends, I was quite good at at SQL servers, SQL language was quite easy databases, no problem, pretty much throw a problem at me and I was able to deal with it. And then at some point, I was stupid enough to buy an iPod, because social rights back then you want the music with you 1000 songs in your jeans pocket. Now, who could resist that right? iTunes back in the day was was wild, to say the least that's a software package, especially if you would use it on a Windows. So the iPads added standard thing. That was basically my my gateway into the Apple ecosystem, corporate South Mac. And then that was right around the time that the iPhone, the first iPhone was a thing. And then at some point, the SDK, the iPhone SDK was released. And I was thinking that's very interesting. So I started playing with that on my own time, because basically, I had all the hardware already available, I had a Mac, I could run all the development tools. And so I was just playing around with it in my spare time. And then it was at some point, I think it was the in the Netherlands, at least it was the iphone four that was released, and I bought that phone. And when I had that phone in my hand, that's really when it clicked with me. And I was like, Okay, I need to get on this platform, I just want to try my hand at developing iOS, nowadays, but iPhone software back in the day. So I started promoting that idea within my then company did some proof of concepts with that on on an iPad, actually an iPad app. And that was then not a success in the sense that the proof of concept was alright, but we just couldn't sell the project. And what's interesting there is that I actually did a little bit of a back a bug fix on core plot that's like in a plotting graphing library that is still around today. And there's like this glorious commit you can find on on GitHub from January 13 2011. And that is Drew McCormack, who is patching something in incorperate. And then with the comments in there patch was contributed by Jeroen Leenarts, which is me oh, so there is there is historic proof that I actually did something related to Mac or app or iOS development in 2011. I was able to find that back today. So but the project didn't work. So I really wanted to do this. And it basically resulted in me looking for another job at a different company. And I just said, Okay, I want to do iOS development. This is my resume. And they were smart enough. I don't know, stupid enough. Interesting enough, at least something to just say like, Yeah, let's do this. You have like, two months of professional experience with iOS development. And we'll take you and we'll throw you into a big project right away, which ended up with me being deployed, because it was a consulting company that I joined at the ING Bank in the Netherlands, and I've worked on their ing banking app for close to four years. Then I started there really, really as a junior no experience with iOS and when I left air it was Yeah, basically I was there was parts of that application that was completely my thing, my domain and anybody who wants to work in that. I would help them and try and get them up to speed with how things work. But yeah, most often it was like, Yeah, could you please back program with me on this because I'm not getting what's going on here, which, of course, was a great trigger for me to think, Okay, I need to refactor this a little bit so that it's simpler, easy to understand, easy to get into, because people looking at your code and not being able to understand it. That's, that's, that's a smell to me. So that basically, that's how I got into iOS development in just, I don't know, five minutes.

Stefan Blos:

All right. All right. Very nice. Very nice. Thanks for sharing this, I think it's a nice story that it doesn't require too much experience to get started. No, not at all. That's very nice. So for me, it was a little bit different. I started off with iOS development during my Bachelor's, actually, it wasn't a part of my university program or anything. But I was just fascinated by the whole ecosystem. So actually, I started off with an iPad, iPod, as well, as my first device, it was an iPod Touch that I like, I saved so long for that, to get enough money to buy that. But yeah, I started off. And actually I used a Udemy course for that. It was I can still remember, like the entire videos of that. It was by death slopes, and oh, no, they they're still active, but I haven't had a lot of them lately. That was the first thing. And then I was like reading a lot online, I was trying to get as much information as I can, and did some more courses. And then I wound up at what is popularly known as the tutorial help, because I was basically just doing courses and courses and courses. And trying to get better, which, at some point, I just like at a plateau and didn't learn a lot because I wasn't properly properly progressing by not doing anything myself. And that's when I started 100 days of Swift by Paul Hudson, which had this this really nice approach of being being very public about what you're doing, what you're learning, and sharing it on Twitter. And actually, a lot of a lot of fun. And a lot of learning has come from that because I was I was not only doing stuff for myself, but also also sharing this with others, and got into discussions actually got to learn, or to meet a lot of new people that were also like very interested in that. So that it was a very nice way to get to learn. Swift and the iOS world. Already also did the Swift UI version of that later. And then I actually just focused on building a lot of toy projects, which were most of them were never seen by anyone. But I'm fine with that. I learned a lot from that. And after some time, I also decided to do this as a profession. So I decided to be on the career path of iOS as well. And that's when I joined stream. And I'm working there. And I'm really happy to be to be in this space. With my little story.

Jeroen Leenarts:

So what's already interesting, because of course, Stefan and I prepared this intro a little bit, what's very interesting to listen to is that, actually, if you listened closely to the ways that we got into iOS development, is the fact that there are different styles of learning going on. So you could call those mental models of learning. And basically, if you look at learning something new, it doesn't matter really what it is, there are brought the like four different ways of you being able to learn something. And those those types of mental models are visual, auditory, reading, and writing. And kinesthetic. That last one, of course, requires a bit of explanation, but I will just explain them a little bit from top to bottom. So for example, if you're learning in a visual style, you're really benefiting from learning something new by observing how this new thing behaves, how it works, how it operates. So basically, you could compare it for a software developer by looking at YouTube video and seeing a colleague doing something that you are wanting to learn. So you're just observing what's happening. So it's, of course, you're listening to the person but you're also seeing what this person is typing and what effects is changed or changed or having on the topic at hand. And then the second one is auditory learning. And that's basically listening because there are actual people who learn new things, new skills, by just learning to audio content on on that specific topic, I'm finding it hard to believe that there are people that can learn something related to software development by just listening to people talk about that. But there's actual proof that it's a valid way of learning something. And of course, within a YouTube video or listening to a tech podcast, or basically also listening to us, just by picking up on things that we talk about the things that you hear, most often, those are things that linger in the back of your mind. And then in a later stage, I don't know it pops up, it triggers you to start looking for some information on a specific topic. And then, of course, there's reading and writing, reading is quite obvious, tutorials, books, written content. But what you might have done yourself as well, if you are, if you've done like an education is that you're reading some material, you're reading the book, and you're making notes on the material that you're processing. And just the fact of making these notes, and not even in the future, referencing back to those notes. But just the act of writing it down, is also a learning method that you could apply. So what I tend to do, if I'm learning something new, I really try and make lots and lots of notes on the thing. And I specifically choose to make those notes not on my computer, not digital, but just a pen and paper and write stuff down basically a scratch pad. I've even used I also often use, like these little whiteboard books that you can then use and then like a week from now, I can just wipe them clean and reuse them again, but with little effort. And then there's the kinesthetic style of learning. It's a bit hard to understand what we're talking about here. But it's, it's basically the act of learning something by experiencing it. And even in software development, that's the style of learning that you can actually apply. So for instance, if you are in a bad programming session with somebody who knows a lot about certain framework that you need to be working with, just by cooperating with this person experiencing how it happens, you're looking you're discussing it, that's also a style of learning. And yet, just being aware of that as different styles of learning is already very important with how you can select and pick up certain materials. Because if you are familiar with what a suitable style of learning is for your specific person, person, then you can of course already do sort of a pre selection of what kinds of material you want to queue up for yourself when you decide to dive to dive onto a specific topic. So I just wanted to share some of the backgrounds on learning.

Stefan Blos:

Authority. It's a very interesting point because, like you describe the the ways of visual and auditory learning. I I think what's interesting about those is that you are pretty passive doing this right? Someone else prepares content for you and you consume this. Yeah, and I can only speak for myself, but I like there's a limit to what I can learn from content that other people prepare for me.

Jeroen Leenarts:

Yeah, that's the that's the tutorial hell, that's your thoughts. Ante up into because you you you see something in tutorial, and then you think, Oh, this is amazing, our need to try this. And then Oh, there's another great tutorial, but it talks about the same stuff in a little bit different way. So it keeps you engaged. But you could actually say at that point, are you learning something new at that second tutorial? I'm not.

Stefan Blos:

Exactly. And this is why I think that something like writing or creating content on on your own is actually so much more powerful when you learn new things. And which is, which is why I also like, like when I described, I built a lot of toy projects that never saw the light of day like it when they were never published. But by building those on my own, I learned a lot of like, How can I approach things? How can I solve problems on my own and not someone else doing this for me. And I think this is a really powerful way in learning because this repetition, and there's like this exercising actually allows us to really deepen the knowledge in that space.

Jeroen Leenarts:

And it's also what they say, if you're like, wanting to become like a expert in a specific field or an expert in a specific martial arts, for example, they always say, yeah, you have to have done the movement, you have to have done the experience, like 10,000 times, to be able to have seen all the different aspects of it and to be able to call yourself an expert. Of course, for software development, that might be a bit much to create 10,000 applications, but it is it is something to be familiar with that repetition with learning is also one of the things that is that is key, because just remember when you were a small kid, when you had to learn your maths tables, how did you learn those just repetition? Not saying that it's something that you can really do with software development, but what I have seen people do is something called Code cutters. And that's just small challenges that you just try your hands on and try to develop them. And actually if you look for the IRS sphere, you have to 100 Days of Swift program by Paul Hudson and 100 days of Swift UI, that's actually a sort of a code kata that's going on, it's just 100 small assignments that you just your goal is to just keep finishing something every day. And just by the repetition, and repetition, like 100 times over, you are actually familiarizing yourself with new concepts, new mental models, and also ways that basically, you're wiring new neurons in your brain to be able to deal with this new type of complexity that you're trying to learn. Yeah,

Stefan Blos:

that's great. And, and what's what's also really powerful about this, this concept of the 100 days is, you get into the habit of learning. And I think, keep it keeping this habit of always be interested, like always be interested in learning new ways to do things. Also learning different approaches, maybe not always doing it the same way can also be like a really powerful way to challenge your own thought patterns and ways to approach solutions, and to keep yourself pushing to always learn new ways and get better at stuff.

Jeroen Leenarts:

And it's also just looking at with learning. And, of course, there's, there's like this big, this big challenge when you became because everything is unfamiliar, everything is like, okay, how am I going to do this, you start, and at some point, it's sort of like climbing a hill, and at some point you crest, the top of the hill. And then for me, at least the fun begins, because then I really start experimenting, and just so thinking like, Okay, what would happen? If I change something in this in this way? Does it still work? Would it crash doesn't behave in a different way. And that's then the the real experimentation phase that is so easy to do with, with small sample applications, small toy applications. So just to recap a little bit, Stefan, what is your strategy when you're learning something new, just to give like a sort of an example of what a person could do when learning something new?

Stefan Blos:

Okay, I can be the role model here as an example. So like I said, I think it's always always important to be interested in your things. So to be open to learning new things. And there's different ways to do this. I mean, sometimes it's a requirement when you have to learn new things, for example, for the job. But it's also interesting to just like, listen to the conversations on Twitter, on a listened to podcasts, as you mentioned already, so you can get a lot of inspiration from just listening there and following following the news in what to learn new or what's what's very interesting for you. And then I think it really depends on the topic, because, for example, like I a few a few weeks ago, I decided I have to get better at combine sort of the reactive framework fibers, which is similar to something like RX in other realms, and I decided to buy a book, because I rarely use books actually to learn. But I decided it may may be a good idea to do that. And I had a lot of good things about the book called practical combine by Donnie Walsh. And I'm really enjoying that because it, it offers a nice way I can, I can read a few pages, and then I can try things on my own. So it offers a nice way of the combination of reading and writing. And I, I think the most important thing to do is to basically get your hands dirty, and try to create things. It doesn't have to be like the most shiny apps, or the most shiny projects that you share with everyone else, it's fine to keep them for yourself. But in my opinion, it's very, very important to keep that to keep doing this on your own. And actually, I want to quickly share a little story for that. Because, like, the one problem I see with only consuming content by others, is there's always bias involved, right? So the people that prepare content, always have their own like opinions and, and thoughts that flow into that. So when I started, I watched a video on YouTube, I can still remember that we were the person who created the video said, if you want to create apps for iOS, you need to use the MVC pattern as an architecture. If you don't use that your app is bad and it won't, it won't succeed. Which for me, as a beginner led to oh, I need to restructure everything to use MVC. And I was really bad at that because I only had heard of it for the first time. So I was really bad at this and it really like didn't didn't allow me to pursue this further because I was under the impression that this is really necessary, but which of course is not the case. But but by by simply creating this on my own. I also realized, hey, there's many different approaches to this. There's many different ways of Doing something, and only because someone, like a random person on the internet says, Hey, you have to do it like this, this doesn't have to be true. I think doing doing practical things really helps. And trying different approaches is also a great thing to keep learning.

Jeroen Leenarts:

First, let's recap a bit a little bit what you said there. Because yeah, if I'm correct, what you do is you basically you're just doing going through your day to day doing your job, doing your projects, or your spare time. I don't know what you exactly do that, but just coding stuff. And then at some point, you want to learn something new and you get like inspiration from the work that you're doing, or some stuff that you read or heard somewhere, or, or read somewhere. And then you pick a topic, for instance, you mentioned combined. And then in this case, you start reading a book, but how is your progress with the combined stuff? So you go into the book, or you're already feeling that you're getting familiar with a topic or not? Or are you already using combine in practice nowadays?

Stefan Blos:

Okay, so yeah, like, the approach I take is, I read a few pages in the book. And then I open up Xcode, and try to code something. And this can be very different. It can be only like, little little code snippets. For example. A couple of days ago, a friend had a problem with creating a web requests on it, he was getting requests, and he had to power some information. Now, okay, so I tried to do this with with combines, it's a tragedy to learn and apply the concepts I read from the book.

Jeroen Leenarts:

So basically, what you're doing is, you consume something, then you experiment with it. And then you it's a quick process, then you review where you are at, at that point in time. And then you just repeat the process can consume something experiments, consume experiment, and just keep on going with that.

Stefan Blos:

Is that correct? That's very correct.

Jeroen Leenarts:

Yes. Okay. Exactly. So but there are other ways of learning something new, right?

Stefan Blos:

Of course, there are Yeah, but what is your approach? How are you?

Jeroen Leenarts:

I'm really weird in this regard. Because I tend to read like, lots and lots of lots of stuff. So basically, from the I've been getting my hands on combined a little bit as well. But what I tend to do is indeed, get a book, I've also got a book by Tony Walz got a bunch of articles. And I really like the documentation by Apple. And what I really tend to do is just go through the documentation that Apple has defined because they have in within their API documentation, there are these more long form bits of content that you really should read word for word and evaluate any statement that is in there, because it's Salters. Everything every line has meaning in those documentations, buy Apple, and then basically have a little bit of a thought process going on there. And then just think, Okay, do I understand what's going on here. And if I don't understand the specific content, contact, sorry, I don't understand the specific concept that is being presented in the documentation, then I start looking, and all the other stuff that I collected and already read before that, because I'm, when I'm reading, I'm sort of like more of in a mode of reviewing what is under pages. And then I have like a sort of a map of what is in all this content. And then when I need the content, I sort of, I sort of have a feel for which resource at what location it's roughly at. And then and then I really start reading it in depth. So like, more focused reading and more word by word, instead of having to scan the documentation. And one of my pitfalls is just the fact that I have a tendency to just keep on reading. So I tend to start experimenting when I think I know enough, but I should actually start experimenting way earlier, but it's really hard for me. And I should do more trial and error. Maybe just like if I have a rough understanding of an API, then experiment with it. And then run into issues and then start reading a bit more again. So that's one of the flaws in my process. But up till now, what I've been doing has been working great for me, but I know I can be more efficient with it. Because when I'm in the experimentation mode, what I really like if you have like a small toy codebase just like a really condensed little piece of code, if something breaks, there's not a lot of locations in that source code that you could have done something wrong, because you were trying something out in like a really a big project full on that's like production code. 10,000 lines of code, maybe like 100,000 lines of code, there's so many moving parts. So then if it breaks, how do you figure out what's breaking and why is it breaking? So just having this toy application that's really important, and that's also one of the things that you see when people request a reproduction on the back for example, you have to like basically create a toy application that does one thing. And that's reproduce the faulty behavior. And quite often with API's and SDKs, but what you tend to see is the people, they have an issue they, they proclaim, they have an issue. And then you ask, okay, can you create like a sample bit that this place this behavior, then they start creating their sample application, and then they get back to you. Yeah, about that issue. Yeah, basically, was something that we were doing wrong in our larger codebase. Because when I did it in the smaller code base, I could see what the issue was, and it was on our end, and sometimes there's like a legitimate issue that they are presenting with you. But that's something that you're able to display, because you're in a small, condensed environment that works very well for learning as well. And what I really tend to notice is that my learning is very much motivated by what I need right now. And I tend to call that just in time knowledge acquisition. And it's over the years, I really have been like, of course, I've been doing software development for quite some time. So I have the benefit of experience, also, sometimes a drawback, because sometimes my mind is closed off to specific insights on the topic, but then I really need to make sure that I unlock myself again, but because I have like this broad set of experience and knowledge, I can really go to specific areas. And then when it's needed, like deepen my knowledge on specific areas, so that I have the required expertise level, just when I needed. So that's a little bit of my strategy when learning something new.

Stefan Blos:

I want to I want to quickly touch on that. But I just want to quickly say, we're we're almost through with our content that we prepared. So we're happy to invite people to stage to share what they have as their strategies of learning. So feel free to do that. You can, I think just tap the mic on the bottom. And we can invite you to stage I have like two more questions for you. Because what I think is very interesting about what you said is that you still are in the process of learning how to learn, right? Yet, this is something that's super important, because I think we're not perfect in doing whatever. And learning is definitely one of those things. So I think it's always important to think about other ways to try out to learn new things. And try those out really, to see what fits best for you. Because

Jeroen Leenarts:

what I really like about knowledge work is that there's always more to learn. But it's also the device of knowledge workers, because what I noticed with myself and people in my surroundings that start deepening their knowledge on specific areas, is that you come at some point to the conclusion that the more you know, the more you realize that you don't know. And and that's like a really weird thing, because, of course, yes, you know a lot about a specific topic. But even when you're really deep in a specific topic, you are very much aware that there's much more to know about this specific topic and also unrelated topics that you haven't deep into knowledge yet. Just very true. Just something to think about.

Stefan Blos:

Okay, so the last question I have for you is you mentioned that you you are reading a lot, right. Yep. So a little birdie told me that you also actually do some writing, right?

Jeroen Leenarts:

Yes, that's correct. And that's actually something that that's very nice to touch upon. Because, of course, we are going to put out some documentation, some links on everything that we talked about. But it's true, it is true. It's like a couple years ago, I I was a software developer at at a big insurance company in the Netherlands. And basically, they needed some buddy who would be able to do sort of like a team technical leadership. So it was a lead developer role that opened up. And at that stage, it was like, for some reason, I was the iOS developer on the team with the highest salary. And in their minds that made me the prime candidate to become the lead developer, the lead iOS developer of the whole thing. So basically, they sat down at a table and they said, hey, you know, would you be interested in being the iOS lead developer of our product? And it was like, Yeah, sure. I'm fine. No clue what I was getting myself into. And then basically, like, two weeks after I was, all of a sudden, I was like, the lead of the iOS developers. And it was a team of nine developers. And fortunately, I didn't have to do the managerial side of things because I had my then manager taking care of that. But I was supposed to be like the technical conscience, making sure that All my team members were like getting trained up learning all the things that they needed and selected would also be developing themselves in in ways that would result in a mutually beneficial end results for the individual, but also for the company. And also keeping tabs on the the workload of people. And also the, you know, sometimes if you're working with people, at some point, you know, which are good enough that you can tell, Hey, what's up, something's up. If you want to share, do that, if you don't want to share, that's fine as well. But take the time that you need to make sure that you can deal with this situation that you very much carry on your shoulders as I can tell, subject, that's just more the personal side of things. And just like interpersonal relations that you need to be very aware of, if you are in some sort of leadership position. So I had to do a lot of learning on the job. And I started making tons and tons of notes on this topic. And at some point, I thought, Oh, my God, I've got so many notes on this. Let's just try and condense this down into into written form. And it resulted in me learning a lot about being a lead developer. And it also resulted in a nice book that I wrote on the topic. And that's, that's, I linked it on my Twitter for the just created that for the duration of the Twitter space. It's a book called Lead developer. And it's not like a marketing term, but like lead developer in the sense of software development. And it's basically my condensed version of my experiences and my ideas about what I think a good lead developer should be and should do. And it's really practical. It's basically a reference back to that book quite often, when I'm dealing with with Team related things in my day job.

Stefan Blos:

Okay, okay. I'll have to pick that up once. When I wanted this card is still available. So yeah, nice.

Jeroen Leenarts:

Nice. Yeah, that's, that's a book that you mentioned, that's practical, combined by Donnie walls. He also wrote a really cool book on core data. And I think core data is going to be a topic that we're very much going to talk about in the future. Coffee Chat, I think, because it's a really deep and interesting topic. And yeah, we you also mentioned, Mark mercans. In our preparations he did like swift UI and animation stuff. And a big book that was very important for me when learning iOS development was what people call the Big Nerd Ranch book. And that was the back in the day written by Aaron Hilla gas, I don't know if they still publish a book on this topic. But if that's still available, we'll definitely kind of link that on as well. Yeah. And on the visual learning aspect, we're also have a list of interesting YouTubers doing great stuff from on YouTube in relation to iOS development. So really, people like Sean Allen FinCEN, fleur de lis, Brian and Jared Davidson, Kevin chromic, who's German, actually, so maybe you've seen him on a conference in Germany, sometimes, Stefan,

Stefan Blos:

I actually discovered him via YouTube channel. So there's quite a few people that that that we think, provide great content. Again, I want to mention that when I when someone wants to speak here or wants to share his or her learnings, then we're happy to have you on stage, just click the mic button. And as you already said, we will also share the all the information we we had here later on. So feel free to follow me or your room here on Twitter to not miss out on that. Because I think there's quite a few interesting, interesting tidbits that we that we touched upon. And also, like you mentioned, there are many, many interesting people that share great stuff. And it's also sort of also, I think, a great thing to link to some documentation that we really enjoy. You mentioned the APA one. So I think this will be something that would be interesting to see. And with that we have the first person to join us on stage Timony. Welcome.

Unknown:

Hi. I've recently moved to Germany. And I've been like working in ice for the past seven, eight years. You just mentioned about couple of instructors. I was writing down if it's convenient Can you just repeat it

Stefan Blos:

but feel free to stay on our on our Twitter profiles because we will share that I mean, it's always a bit tough to to follow auditory content. So I think we mentioned a few people like on on YouTube, definitely Shawn Allen he provides great content and Vincent for dealers branch right.

Jeroen Leenarts:

Sorry to break property of Stefan. What we can do because of course we are going to probably some notes on this and those there's links and names in there as well. But what you can do is just send me a DM and I will send you like a rough version of the notes that we're preparing so that you can like, get going, like, at your leisure, when you have some time for that, like right away. So just send me a DM and I will send you a bunch of links that you can then have a look at to, to learn something cool. Or maybe I'll just send you a DM or send me a DM and I will push out a tweet with some links in there. And then it's also publicly available for anyone who's also part of this space. Because then you can just get going.

Stefan Blos:

That's a great idea. All right. Is there anyone else who wants to contribute his or her learnings or how they are approaching how to learn new things, then feel free to get up on stage and

Jeroen Leenarts:

talk about that? A fun one that might that might be interesting is what do you do if you if you get stuck on learning something new? Because that's probably something that it's not something we talked about yet. But what if you get stuck on something and you're blocked? You're not getting any further? What is something that you can do in that case?

Stefan Blos:

Well, while I think about that, I will advise check up on search, because I don't have a very good, very good answer right now. I mean, there's different approaches, of course, like the most common one, I think for when you get stuck is just take a break, and re approach the problem that you're facing, maybe one day after that. But of course, there are other approaches. And yeah, that's let's hear your check first. And then we can talk about that as well.

Unknown:

That's what we want to share her eyes and her own. So what I found, I'm 58 years old. So I've been I've been in computing the whole time, I used to work in Microsoft and a few other places. And obviously, Swift holds a big allure, because I've been an apple person forever. What I found is, is that when my skills stagnated, I went and did some hackathons. And I did about 10, before I got anywhere. And this was I don't know, over the last five or six years, when you know, the tool sets for collaboration were changing. And, and so basically, I had an idea. And I didn't have all the time or, you know, the intellectual brainpower to, to complete what my idea was. So I went to hackathons. And I found that very interesting way of learning, because you'd have a crunch, you have two days, you have to come up with an idea. So it's a combination of concept, plus, relevance plus execution, plus some sizzle, right. So you have to know there's an end. And you have to let the potential somehow show through a very rough code base and a rough demo. And so I found that was, for me, probably the best way to learn, which I think employees all have your four mechanisms, right? Whether it's kinetic, right? Verbal, you're chasing around, I remember, I had to try to go find a rooted Android phone to do a function. And so I raced down Seattle to a friend of mine who had a rooted Android phone, and we just barely got this framework going. And we when we got it, working on it, and we won. And the I guess one of the big things was, is that first of all, when you have a team and you inspire the team to do something, and you go, no, let's try it this way. Or I know, I can be it can be done. Right? Why? How do you know this? Well, because you know, we could do it this way. We do it that way, whatever. And so, so I learned a lot from being confident enough to know that it can be done because I know enough of the background wiring, right? Plus, you know, having an idea of what networking can do and robotics and all sorts of comms and IoT, that if you can pull together your idea with existing frameworks that this this is where I think I'm struggling a little bit, right, I see so much great stuff on GitHub, I want to use that I want to use this I want to go between that language to this language. I would love an Esperanto of, you know, programming languages, which is never going to happen, but but in effect, right, I see great things being done. And I don't want to reinvent the wheel. So, you know, using somebody else's code base, obviously, is is foundational to most apps now. Right? You're using this thing, right? You're using that part because it's the well known answer framework for what you want to do here. So but at the say in the middle We'll have a hackathon is where I found my neurons re assembled themselves and became Avengers.

Stefan Blos:

That's very good. And I love the story about the rhododendron dedication,

Jeroen Leenarts:

decades scaring me a little bit with this being a venture.

Stefan Blos:

I mean, yeah. Like, the startup experience on steroids, right, right. Yes, made at a time. And it's very, very nice, nice atmosphere to create new things and to learn and

Unknown:

it's competitive. It's competitive. Right? So you look at other people, and you go, okay, and you even almost pivot, mid day, right? Oh, no, somebody's doing that. Or that? Or oh, yeah, we've got this covered. Or, you know, you have one of the judges come up and say, What are you doing what how you doing this, right. And you're, you're, you're coercing them to say, well, this is a good idea because of this, right? And then when the judge puts on the HoloLens and looks at something and goes, you can do that. Right? You know that you've you've quietly seated the idea, you've socialized it, you've tiptoed and you know that your your demo is going to work at the end of the day. And so you get great feedback.

Jeroen Leenarts:

Yep, that's really the case that and especially if you're if you're working on the problem set with somebody in the team in a hackathon, that just the fact that you can have like, so much focus on a small thing together with somebody else of multiple people even that really can. Yeah, it is exhausting. But it probably will be like a sort of like a quick way of learning some specific things quite thoroughly, actually,

Unknown:

here's two other benefits. One is, I had a, you know, a fully I'm more of an Information Architect. So I know where things are, and how they should be structured and what you know, how do you make a future proof and so forth. And so I know where the data needs to go, and calm and so forth. And how you do that is not always up to me. But I have, I certainly always have an opinion on something. But I went to these hackathons to do some cheap engineering proof of concept. As long as I broke it down to a module that people don't understand that there was a payoff on that module, then people go, Okay, I'll go for it. And then I hired a couple of guys that were on, because everybody, because I'm so old, everybody's more junior than I am, right? I hired these guys to be interns and I, I worked in segway robotics. So I got these guys, and I got a pretty cheap, and they were still working, or they were still going to school. And I was, you know, they were doing summer work and off off peak hour work for me. And then eventually, they did actually get jobs in the robotics space. So there was about two or three different, really good outcomes of that particular approach.

Stefan Blos:

As like, one thing I want to quickly jump on is the level of excitement you described for people that for example, realized, like, Hey, you can do this with the HoloLens. And I think that's also something if, if you can spark this excitement, this is also a great environment to learn. Right? So do you remember for sure,

Unknown:

do you want to know what that outcome was? The what the effect? The quick use grab that? Yeah, sure. It was how to predict when to pick a carrot out of the ground based on computer vision using euphoria, unity, and a HoloLens.

Jeroen Leenarts:

Machine learning like if the if the carers is ready for consumption,

Unknown:

well, we have problems, right? Because during the day, the hackathon got hot, and all of our tops of our carrots and drooped, so we had to take pictures, and resort to you know, hard frames, but But basically, that was everybody else was doing, you know, kind of calendars or lightsaber games or whatever. And then if you go and do something practical, right, then it will help fix a particular real world issue. I think this is where augmented reality can come through. And just just the concept one.

Stefan Blos:

Yeah, that's, that's great. Thanks for sharing. That's very interesting. And I really like the way you describe hackathons is a great environment for learning. So we have another speaker here for feel free to unmute yourself and share with us your experiences. Hey, sure.

Unknown:

Thanks. Thanks for creating the space in separate thing. I sort of agree with everything else that has been said so far. I just wanted to add, I guess, one more area, which I think it'd be interesting is, for me personally, I would say, speaking to people literally having conversation with I guess, obviously, more experienced people. It's a great way To learn, because, yes, you can sarios you could read books, but sometimes, I mean, at least for me, having conversation really helps to understand very, I guess, complex topics in some cases. So from my perspective, for example, I work in security of Apple, and I learned so actually, I mean, I started using Swift UI, basically, when it was released. And when you work on a framework itself, you obviously obviously, I mean, there are things you can obviously Stack Overflow, or just, I guess, you know, just look for on the internet. So like, a good strategy, I would say, obviously, it depends on, you know, on your network and whatnot. But I would say definitely, trying to create connections with people literally knowing who is doing expert on what area, and whenever you need to have a conversation with them, obviously, reach out to them. And obviously, try try to do the same for other people. It's something I feel like it's severely underrated. Because like, I know, a lot of people that are already to spend hours and hours and hours on StackOverflow, even though they know, great iOS devs. So for me, it's all about having conversations, just trying to think about things from first principles. But yeah, that's sort of my two cents on that topic.

Stefan Blos:

That's a very, very great point. I mean, it's always a good idea to surround yourself with smarter people than yourself, right? So that you could learn from them. And to also give that give that away your give away all your knowledge you have and share that. It's always a great idea a great and also like touches on the different ways of learning. So it also has this has this different different approaches of visual auditory learning. And then also speaking, and, and writing about stuff. So I think that really ties it ties it all together. Because it, it forces you to do all of this when you have these conversations with other people. Alright, quickly if I check up to stage because he wanted to say something again. Let's hear that. And after that, we are going to wrap up because we already way over time here but check.

Unknown:

Yeah, some frank that was that was very interesting. I have a friend of mine again, he was kind of a mentor when he was a kid. His name is, uh, Steven, trouten Smith. And that guy has more opinions on Swifty high than you would ever find anybody else. I'll DM you his. I mean, he's been through it. The guy is an Uber, Uber hacker. I mean, if there's ever a framework hidden in Apple's betas, he's one of the the kids that finds it. So I would love to connect you to it because he really gets his, you know, his fingernails underneath the skin of everything and has definite every time he posts stuff. And he goes, I wish swift could do you I could do this. I wish which, you know, you know, when are they going to do that? You know, I'm sure some of your other colleagues may be taking notes from him, but he's a really great guy. So that's the last piece I just wanted to double check. And I see

Stefan Blos:

that he's definitely a great member of the community. I'm following him for quite a while now.

Unknown:

So I guess it's great because I gave him his first Mac. I gave him his first neuter. I worked as fought with his father. He was an enfant to Ebola in Ireland. And the kid is I mean, he's 30 Something now I thought fantastic. He organically learned everything he knows. So I'm glad you're following him. And he said yes.

Stefan Blos:

That's good. I mean, that's that's good to know that you're guilty of inviting him basically to the community. Very nice. So I think I think we're going to wrap up now. I think that was a pretty nice nice space. It was great hearing from from other people as well. And also like your opinions your own has been very interesting to hear. Again, we will provide the links for that for everything we talked about and a little summary after the space so feel free to follow that. And we will have this summit for the next few weeks at least. So keep your keep your eyes out to see when we will do that we are always experimenting with different times so that more and more people can actually follow these spaces because I think it's pretty interesting to do that. So you don't do you have any any more anything more to share?

Jeroen Leenarts:

Pretty much if you if anybody listening has like a question on okay, I'm running into a brick wall when learning something Phil free to reach out on Twitter. My DMS are always open, I can always answer like quick question if you if you have one. And also on specific programming topics, if you just want to bounce some ideas off of somebody, feel free just you can do it in the open on Twitter and had mentioned me or you can just send me a DM, if that's more comfortable for you. And, yeah, just want to make sure that people know that Stefan and I are available, especially on the topics that we that we share on in these Twitter spaces. And I think this is a recorded space. So if you find it interesting, feel free to share the link with your friends and colleagues, if you think that they can find some use from it as well. Or if you want to have a listen back yourself. And that's pretty much it. Make sure to give Stefan and me a follow if you don't do that already. And we'll see you or not see you will hear you next time. And maybe we'll meet at a conference in this year. Yeah, hopefully, hopefully,

Stefan Blos:

I'm looking forward to seeing or hearing all of you and maybe future spaces or like you can set it on Twitter or on conferences. Always happy to connect. So thanks, everybody for listening. Thanks for contributing as well. It's very nice hearing from everyone. So we will share the stuff after that on the socials. Thanks for following and looking forward to hearing from you again.

Unknown:

Bye

(Cont.) Twitter Space: iOS Coffee Chat: How to Learn New Things?