Tim Bourguignon 0:10
Hello, everyone, you're listening to developer's journey, the podcast shining lights on the life of software developers from all over the world. Thank you for joining. We're today live from the de WX conference in Nuremberg in Germany. And today I have Daniel mokuba. With me, did I butcher your name?

Tim Bourguignon 0:29

Tim Bourguignon 0:31
It's, it's,

Daniel Marbach 0:32
it's not. It's Swiss name, Swiss name.

Tim Bourguignon 0:35
Say it again. marbles are gone. I can't say that. I've been in Germany for 10 years, but still. So well, then you're happy happy having you're here. We met a few months ago at the dotnet cone of silence for the first time we held them a very interesting talk about the remote work at your the company you're currently working for. We will speak about that during now during the interview. The first let's let's backtrack a bit. I would love to start the program with with speaking about you where you come from, what the milestones in your life and your developer's journey were so that you ended up being here today and spoke at the conference where

Daniel Marbach 1:16
we're at. Okay, so well, first of all, a little bit about my my life about myself. I live in Lucerne in central Switzerland. I have a little son, he's four and a half years old, and I have a wife. And well, from from another private life perspective. I do fitness training. I used to play a lot of handball, but I stopped that due to university reasons and stuff like that. Yeah, I'm a What can you say I'm, I'm a software engineer, I would say so but also sometimes a solution architect during my professional life, have wear different hats depending on whatever is required. I tend to go from where deep into like technological stacks or like async await one of the one of the topics I'm pretty well known for up to like design and architecture components. And also speaking activities. Yeah, whatever, whatever it is required and a lot of speaking activities and stuff like that. But let's backtrack a little bit where, how did I end up being a software engineer? Well, it was I remember my, my father was working for the Swiss military, basically. And he he found a licensed copy of Borland Delphi, and the price point and it was no longer being used because the project got decommissioned. So he he brought it back to me and I think it was was fourth grades Primary School at that point in time. And he also bought on his way home, he bought a basically a book that explains object Pascal, and all that stuff. And while I started fiddling around, he gave me some introductions. And I started doing this, these. Let's see, let's call it in cost, because I don't remember the name when winforms applications, so calculators and stuff. And yeah, that's got me really hooked into the whole programming stuff. And they always had this dream of becoming a programmer. And I also, I thought, at that point in time, one of the best way to basically become a software engineer is that I would like to attend eth in Zurich. Well, it's a very well known University. ETH Zurich. There's one in Luzon. Okay, there is one in Zurich. So it was always my dream to go to go there and started studying software engineering at ETH Zurich. And, well, interestingly, I think that that really shaped my life, my current professional life because I actually failed. So in my while it was this dream My, every time someone told me, what are you going to do during gymnasium? I said, Well, I'm going to be studying at university in Zurich at eth. And I was doing the first year I traveled from Lucerne to Zurich, and Solitaire went back. And I, at one point, I decided Actually, I don't like it. It's not my my, my type of thing because it was too much theory from my standpoint, and more a practical learner. So and, but my friends convinced me to basically do the exams and everything. And during the exams, I was preparing I already had like two exams, which didn't really work out that well. During the exams, I was studying. At home, I was still living at home and my, my mom can came into my room and she said, like, I have to, I have to talk to you. I have to give you some feedback. And I think you completely changed in the recent months and I feel that's your Longer really happy, and that you're not doing yourself a favor by basically sticking to this premade dream, because I feel it's not something that makes you happy. And it's not something that you should be. It's worth pursuing for for your life. And it's interesting to actually knew it for the whole time. But it didn't really jump into my mind, right, because I'm thinking I have to do it, it was always my dream. But my mom basically brought it up to daylight and, and I realized I have to do something, and they actually quit at eth, basically said, Well, I'm just going to sit into the exams, but I don't care about the actual marks that that will get. So I quit there. And I went to another university in Switzerland, which gave me a, it was still software engineering. But it gave me a much better practical entry point into software engineering, which I think made me much more successful. And one of the biggest learning I took away from there, it's that it never came to my mind that I could actually fail, because everything went so good in my life up until that point. And then I realized, well, there are moments in your life where apparently, it's not the right moment, you don't have the right skills, or whatever. But you have to realize that you're on the wrong path. And then basically say, Okay, I came to this point, I'm going to stop it. And there will be other opportunities where I can shine. So as Yeah, that's what was, for me, one of the most humbling, but also still one of the best moments in my life, which I think really shaped my professional being

Tim Bourguignon 6:45
as really strong with your mom was able to.

Daniel Marbach 6:48
Yeah, I'm really grateful for that. Yeah, absolutely.

Tim Bourguignon 6:53
So this was your start in software engineering, and you graduated from from this second university? Yes. Yeah. Went on your career?

Daniel Marbach 7:03
Yes. So I started working for a company called bV software services in Switzerland as a junior software engineer. I was doing primarily compact framework stuff, and mobile development. But then I stumbled, basically, by accident into back end systems and stuff. And while I grew there, in the company, there, I had the opportunity for seven years to basically grew from a junior engineer, to senior engineer, they gave me opportunities to become an architect. And what was also cool is they realized they, they need some kind of educational programs for the 70 or 90 dotnet. Engineers, we had a tough time. And they gave me the opportunity to become How do you call that maybe some, I was a thought leader, for junior and senior engineers in terms of technology and programming paradigms and stuff like that together with someone else. They called

Tim Bourguignon 7:59
me doing some coaching and

Daniel Marbach 8:01
coaching, trainings and preparing training material. Cool stuff like that. Yeah. Cool.

Tim Bourguignon 8:08
Is this Oh, maybe put another way? How do you go from being a junior to senior in this company?

Daniel Marbach 8:16
Yeah. There's there's something particular in this in this regard? Well, I mean, you know, is probably as well, I mean, parts of it, if you're doing contracting work for customer parts of this is just what is written on your business card, right? That's totally not the same that you're actually are from a skills and experience perspective. I see. So I would say for me, one of them, at least for my own personal experience, one of the key learnings was that I got more and more into designs and components. So I basically started with doing some little stuff, little changes in the code too much more like, Oh, we have this challenge here with this framework that has to tie into the application. Could you look into that I started doing analysis and expanding the knowledge from from components to inter component communication. So that that was basically the tipping point where I would say I became a senior engineer

Tim Bourguignon 9:18
and not just on your business card, but also Yeah,

Daniel Marbach 9:20
exactly as you're able to grasp.

Tim Bourguignon 9:23
Going from from the single responsibility to multi responsibility. Exactly. Systemic.

Tim Bourguignon 9:27

Daniel Marbach 9:28
And one of them. At some point, I stumbled over the Advanced Distributed systems design course from the Han. And I convinced my my boss at that time that that would be a nice thing to do, because because I felt it's a nice addition to basically stumbled into more architecture, but especially distributed systems architecture paradigms. And I went there with one of my workmates, London and It was five days course. And it changed a lot of my thinking around systems, fallacies of distributed computing and stuff like that. And that was the first time when I met Woody, the hunted person when I when I got into Enza response. And that was the basically one of the door openers that allowed me to work now for the company who did on particular software. Because at that point in time, I started seeing the benefits of queuing for distributed systems. I started using Service Bus in my free time and building open source libraries on top of it. And yeah, I started contributing back in my free time to open source. And this got me somehow known. Or, or this was just this guy I met at the course, too, there is someone regularly contributing from Switzerland and adding value to the product and giving feedback to until I quit BB software services and started working for working for at the home. But

Tim Bourguignon 11:12
you're still there now?

Daniel Marbach 11:13
Yes, I'm still there. I'm not work for two, almost two and a half years for particular software. And, yeah, that's basically my my career path until now.

Tim Bourguignon 11:24
Cool. And now you're doing what you described in the beginning. So software engineering solution, architect, thought leader, evangelist, kind of manifold trade.

Daniel Marbach 11:35
Yeah. Oh, yeah. I like being a like having multiple challenges, it's, well, there is always this, this kind of fine balance between doing too many things at the same time, and being too thinly sliced, versus being extremely focused. And I try to basically have periods where I'm really focused on something. And sometimes I'm in this transition period, where I do three or four things at the same time, to basically expand into different areas and to see what is the next thing I would like to focus on?

Tim Bourguignon 12:11
How big is company?

Daniel Marbach 12:12
Well, we're currently 42 ish people around the globe working in potentially 10 to 11. Time Zones. That's cool. Yeah. Yeah, it's, it's cool. But it's also challenging at the same time,

Tim Bourguignon 12:25
you all of you are remote, or you have an office somewhere with multiple people that

Daniel Marbach 12:29
know everyone is remote. And I think that's one of the the key success factors of the company. There. I mean, a lot of companies essentially say we are, we are a remote friendly company, right. But that means usually they have some kind of headquarter, or let's say, 40 50%, or whatever percent percentage of people actually work there. And there there is this, the other people, right, so us versus them. And in particular, the whole it's basically in the genes of the company that everyone is remote. So when I want to talk to to Udi, well, I have to set up a call, I have to get an invite in his in his calendar, and we share a zoom session, which is the tool we use for remote communication. Yeah, and I think that's, that's a big success, because there is no us versus them. Kind of philosophy.

Tim Bourguignon 13:26
Um, but you could have this with with a fully non remote fully located one place company. In which regard is this for you. Bonus or your,

Tim Bourguignon 13:37

Tim Bourguignon 13:38
key key success factors, you

Daniel Marbach 13:40
said? Okay, well, well, I think I have to highlight here that there there are two approaches. One is to sorry. Now, there are two aspects there. One is the company aspect, why does it make sense to have remote workers. So from a company perspective, we are building Service Bus messaging infrastructure, that is in mission critical systems around the globe for over 1000 customers. And mission critical means whenever when something comes to a halt, and even if it's not our fault, people want to be able to pick up the phone and call someone and have have support. Right? Even if it turns out it wasn't our fault, hopefully. So and I mean, when he realized when he founded the company, you cannot do that was a traditional concept. It's you have to have people in different time zones, because I mean, if I would be doing all the support in my time zone, I would need to stay up late or I would receive calls in the middle of the night. So from that perspective, it makes sense. From my own personal perspective, I must say that I really like what I call being able to keep up with my work life life balance because I mean, I can arrange my life around, or Yeah, my life and my work together in a meaningful way. So that I can still give a lot of value back to the company. But I also can give a lot of value back to my family. And I mean, there is this expression in English for some time, sometimes fit sheets, the hits the hits the fan. And, yeah, I mean, stuff like that can happen, they happen to my family as well, my, my wife has a, had a serious back problem and had to do a huge surgery. That was last year. And in that time, I was basically able to reduce a little bit my work or to, for example, take care of my son, during the day, work a little bit in the night or shift dynamically, my working hours. And I think that would be much more difficult if a traditional

Tim Bourguignon 15:53
organized company and then it's good that you don't have don't have Oh, oh, I fold it with work and going one hour to go to work,

Daniel Marbach 16:03
commuting. commuting commute.

Tim Bourguignon 16:04
Yeah, exactly. Oh, yeah. Well, that's cool. Um, is there? Is there a mandatory profile for software engineers that can work remotely in an effective way? Or can anybody do that?

Daniel Marbach 16:20
Hmm, that's a really good question. I think I can only speak from my personal experience, I cannot really generalize that the thing from when I reflect on myself, I can see that I have a natural tendency, that if I'm stuck somewhere in some kind of problem, I reach out for help. Always, because I know where my limits are, like I like I explained in the beginning, I failed in my life. And this was not the only time I failed. And they know that sometimes when you fail, there, it's it's not always your fault. But and sometimes you need you need someone that helps you to get out of whatever happened. And that the same applies for software engineering, and I try to not basically being stuck too long in something as soon as and then I reach out. And that's independent for me for being co located or being remote work. But I think for remote working is much more important. It's because it's so easy to just be in your office to be at your home on a problem. And then time just flies by and No, nobody ever walks by your desk and says, Hey, Tim, what's up? Are you currently stuck? You look like you're really deep in something and you cannot get out of it. Right, that will not really happen. And I think that's a crucial skill that you reach out for help. Your being, like, humble about your yourself and your skills. And, yeah, probably that's, that's the most important part.

Tim Bourguignon 17:54
Yeah. How can one learn that?

Daniel Marbach 17:58
That's a good question.

Tim Bourguignon 18:00
Wow. I think

Daniel Marbach 18:04
learning is I think you have to, I think it goes a little bit into the topic of mentoring, right? I think, when, in my company, what we have, we have a, sorry, in the company, particular software, we have to the concept of mentoring. So what we do is we give, we give behavior based feedback. And I have my own mentor, we meet once a week and and dare we basically talk about these things where where my limits are. And in those discussions, we basically explore different ideas how it could get better. And I think from that perspective, the short answer would be, try to get the mentor way, which could help you guide into that direction. If you want to get into remote working and you think you don't have the skill set we just described, that will be my answer. I know it's a bit vague. No, that's okay.

Tim Bourguignon 19:09
The next question is, how do you get a mentor?

Daniel Marbach 19:14
Well, I think I think everybody can be a mentor. I don't think it requires really a lot of skills. One of the things it might require is that we talked about that yesterday, but then I'm gonna repeat it right for the sake of the podcast is that I think you have to be able, when you pick, basically you pick someone you trust, or you have a tendency to trust, because a man, a mentor, mentee kind of relationship is all about trust, because you tell that person things that are that are sometimes really, really personal. Right? And that should never leave this trust relationship. Therefore that's the that's the thing. You have to trust the person the other thing is that that that person has to have a skill to basically listen to you and take a step back and not fall into dissolution mode. That I would say that's that's the most important thing trust and trusting the person and the person without listening abilities.

Tim Bourguignon 20:23
Um, that's a good point. One thing I've served is people who work remotely, have very acute skills and listening and communicating, they're able to, to communicate in a different way than others. Have you seen this as well?

Daniel Marbach 20:44
Yes, and no? Well, I think when you remote work, there is a lot of written communication happening in slack in Gmail, whatever mailing system you're going to use on GitHub issues, or whatever issue tracker you will be using. And when you do remote working, like we do, you also work with a lot of different people with different nationalities and cultural background. So from that perspective, people try to be aware of their communication and their expressions they're using. But of course, there is always a basically a sender and the receiver. Right. And, and I think in remote working, especially there, sometimes there is a problem, you don't know, in what kind of mood the receiver is, because that person is somewhere sitting on the other side of the planet, in whatever mood that person currently is, and receiving your communication that and basically interpreting it in a different way. So I think, especially written communication, there is a lot of things that can go wrong, especially with native, Native American, I serve American speaker speaker, so to speak or not, no, I think we've made the Spanish because they're much more aware of the nuances of the language. Okay, yeah. And if you're if you have as a person, the natural tendency to be, like, open, transparent and direct to someone else, that in combination with, let's say, a limited vocabulary in English, and the person on the receiver side, being much more aware of the language can sometimes turn into difficult situations.

Tim Bourguignon 22:36
How do you get or how do you at particular get out of this?

Daniel Marbach 22:39
Mm hmm. Well, we're not there yet. I think what we try to do is we try to basically have a feast feedback fostering process where we, we as early as possible, we approach each other, for example, over Slack, and I can give you a concrete example. I mean, I've been I was I've been reading a GitHub issue and have been emotional when I was reading it. And that was I try, I try to reflect about my own emotional state, basically, okay, how can you formulated that? It's, it's as neutral as possible, I formulated it, I send it in. And someone approached me over slack and said, Hey, Daniel, I would like to give you some feedback. I was reading this what you wrote, and I think it has a tendency to, to be slightly passive aggressive. Alright. And I was I was sitting there was like, oh, wow, okay. And then I jumped, we jumped on the zoom call, face to face conversations always feather from that point in time to basically have a face face to face conversation. And while he gave me that feedback, and we talked about it, and I was able to basically tell him, the background I was in, I said, Look, looking back at my emotional state, I can see that you could see this passive aggressive, but this is what I went through from an emotional perspective and what I was thinking about, and it was writing, it was reading it multiple times. And that feedback foster is really, really important. And he, he, for example, told me that, you know what? I see your point. Are you okay, if I also show it to someone else, and get some other feedback? And I said, Yes, that and I said, Are you okay, if I approached the person directly, that I was basically sending the message to on the GitHub issue, and talk to the how he was perceived by that person? So we initially initiated a little feedback, fostering initiative. That's just based on that comments, right? That's cool. And that's not your chef or no, that's one of my coworkers. So that's cool.

Tim Bourguignon 24:57
That's and this is usual way of doing things?

Daniel Marbach 25:02
Well, like, like I said, I wouldn't say usual because that would sound like we're already there. I think we are. We are, we are encouraging, encouraging it. We are trying to have things like cheat sheets, or we're trying to point out good examples are slight, slightly less good examples of conversations and interactions without being too personal. But still, it's I think it's a long way to get there where I could say, yes, it's usual. So I wouldn't say to usual,

Tim Bourguignon 25:34
that's really cool. And there's something that strikes me with everything you say, you've been reflecting on your life, a whole lot?

Tim Bourguignon 25:44

Daniel Marbach 25:46
I mean, there is this, there's this whole thing called Mindfulness, right, I wouldn't say I'm a, I'm a mindful person, what I try to reflect about is that I try to be aware of myself. And I know that I'm, for example, someone is really emotional. I am sometimes emotionally in the moment. And that means sometimes they explode. But I also cooled down pretty quickly. And based on those observations about myself, I learned over the past, and I'm still learning to basically see the moment when it's before it's happening. And see the tendency of me getting more and more emotional. And in the right point of time, basically say, you know, take a step back, step back, get outside, have a walk, come back, or don't write an email, just

Tim Bourguignon 26:36
now. I just write it down, put the

Tim Bourguignon 26:39

Tim Bourguignon 26:39
the sender and just leave it there. But write it first. Yeah, I have this, this this tendency as well to be very emotional with stuff. When it goes to, to my work, I don't do my work, because it's a work I do it because it's my patient working in there. And if somebody starts criticizing, and sometimes just well, and, and I have to do the same thing, I'm doing a lot of meditation, to just learn to control myself and just go down. And but this is really important. This was my mindfulness, as you say, That's Wow.

Daniel Marbach 27:11
Yeah, I would like Like I said, I wouldn't say I want to be honest. I mean, I can't say that I am. Or at least I wouldn't see myself as being mindful. I'm trying to get there. At some point. I also tried meditation several times. And for me, it's constant on off sometimes I can call regularly do it. And sometimes, yeah, I'm lazy. We all are. Yeah. So

Tim Bourguignon 27:38
there's no end point. I mean,

Tim Bourguignon 27:40
yes. Yes, exactly.

Tim Bourguignon 27:42
Oh, that's cool. And in, in, in Cologne, you spoke about the your company, how remote you are. And one thing that struck me is everything is really collaborative. Even the the, the this feedback process, but also when you're working on a document that has nothing to do with with software, it's also open for everyone. You're building groups and, and helping each other altogether. Were you are you part of that? And leading this and in this thoughts?

Daniel Marbach 28:19
Yeah, I mean, or ship, etc? Yes, I mean, definitely one of the one of the most important parts of the culture is that everybody has to basically contribute to the whole company interaction and helping out each other. And the thing, yes, I'm contributing by being aware of or trying to be aware of other people's needs or potential problems that they're facing, and also basically, listening and for watching, providing help. It starts as simple as someone writes into slack. Hey, I'm on primary calls scheduled this week. And I would like to go out with my wife on Sunday. I know it was not planned. But is anyone willing to jump in right? And then sometimes say, okay, you know, now it doesn't fit, but next time I will or that or say, Well, actually, it kind of fits nice on Sunday. And then I say Yeah, of course. Yeah. Just just assign me to support I will do it right. And by basically leading by these small examples other people doing as well and and ways that you can nurturing a culture that I think tends to be just good.

Tim Bourguignon 29:45
Um, how do you guys manage to hire people? You have such such a special special culture and and quite, quite extensive sets and skills you're looking for

Daniel Marbach 30:00
Yeah, hiring is hiring is hard. I think it's while we go through a multi step process, it's it's multiple interviews for interviews right now. It's, well, the first introduction about, we present basically, the company and the company structure. And the pros and the cons that we think the company structure has to basically also give the person that is applying a chance to think about would that fit me, right? Do I want to be challenged like that? Do I want to be constantly pushing myself? Right? It's not everybody's type. And that's totally okay. There's nothing negative, right? Maybe you just something else is better for you. And that's okay. And then we go through technical interviews, team interviews, and busy as a coding, but we realize, while we also focus on coding skills and technology skills, it's the whole the whole set that needs to fit, it's not enough to be like a mastermind in let's say, I'll code weaving or whatever we didn't the need at the time. You also need to be open about receiving feedback open about giving feedback, or improve yourself. And that's something we try to, to sense a little bit and I think we are also lucky because we need to Han has a lot of background also in the he reads a lot of books about mindfulness. He he has some background in psychology and and another thing so I think he is basically the last sensor in the company that would spot things that have been falling through the crack in the previous interview. Okay. Yeah, but I think so far. We have found it out pretty early. It's hard to describe because, God if I would say it's gut feeling then it might be it has a negative notations well, because gut feelings, there's some biases. Yeah, exactly. I'm not sure if I can give you a good answer.

Tim Bourguignon 32:13
That's, that's okay. That's okay. That sounds pretty sound already. Um, it's, it's kind of amazing how this all works out. what's what's, what does the future look like for you? Do you have a plan? You did a lot of retrospective. Are you doing some some kind of notary Spitz word future spec spective? Or forward thinking? As a classical hiring question, right?

Daniel Marbach 32:38
How do you see yourself? How do you see yourself in the next five years? I must say. And that that struck me several times in the past? I actually don't know. And sometimes it scares me. Because I feel I mean, right now I feel challenged. I feel I feel home, comfortable. But not, like, in a good way. Right? not comfortable. Oh, I don't have to move or something like that. That's why I said, I said challenged first. And I don't know, really, it's like, Whatever happens, and I think I could do this, the current the current job I'm doing right now, I could do that for the next five years. That's cool. I can totally see myself doing that. What's after that it's so hard to say because on what I know, for myself, and I think that's maybe something for your listeners, as well as, by doing different things actually found out that I want to stay in touch with technology and programming. I don't want to become like a, let's say, Solution Architect that only draws boxes. Okay, that sounds like a negative thing. Sorry, I didn't want to say that that way. But I don't want to be the guy that only does architectural high level architecture stuff, and sits in meetings. That's also important. And I don't want to diminish that or anything. But I want to stay in touch with coding stuff and as long as I can. And, yeah, so so that means 60 70% of my daily work. Even if I'm doing conferences, like this one will still be engineering, and they'll love it. And I want to do what I love. So one of one of my goals for my life. I always said, I want to get up in the morning. And I want to say I'm really looking forward to work. And I want to do that almost every day. Of course, sometimes forever, whatever reason you had a hard weekend or whatever. But I mean Now the cool thing with my remote working flexibility whenever whenever there is One of these rare moments where I think I'd better be staying home, I can actually do it. Because I know I won't be I won't have a good impact at that moment in time when I'm working. So I can just take off.

Tim Bourguignon 35:16
And we'll come back to our to the word you said before, it's all about trust, and trust you to do the best thing for the company or for you. And so, yes, it's all it's the way it is.

Daniel Marbach 35:26
Yeah. It's cool. Exactly. And by having the feedback fostering or the sounding board in company, when I, when I would basically start showing you behavior of showing up even though I'm actually not in the mood. And that is recognized a lot by my coworkers. I'm pretty sure that was pointed out.

Tim Bourguignon 35:48
Something like you. Are you you found a nice sweet spot, I think? I think so as well. Yeah. That's cool. That's cool. Either. Maybe a nice point to wrap up.

Daniel Marbach 35:59
Yeah. Cool. Did we miss something? No, no, I was. Well, one thing I wanted to say. Thanks for having me on this podcast. It's an honor. And no, I think we we cover it all. You have something and you put something coming up. And you go talk well, now I'm actually I'm actually, I had a lot of talks in May in June. And now I'm, I'm looking forward for a period of Sir calm. So I'm not giving talks until maybe mid September. And in October, I will be in Warsaw. So if people want to catch up with me, at the dotnet developer days in Warsaw, I'm giving two talks on about microservices Service Fabric, the other one about async await some deep dive stuff. And I will be in Cologne again in Germany at the end of November, I think ish. But that's so far, pretty much it for this year. And yeah, it's pretty cool. If people want to reach me, they can reach me on twitter on there at Daniel marble.

Tim Bourguignon 37:07
If they can write it down. Write it.

Daniel Marbach 37:11
Yeah. Or they can follow me on planet Planet geek.ch, where I write some articles about a sync and messaging and Service Fabric and yeah, random stuff that is at my mind. And they also block on their particular dotnet slash block sometimes and yeah, I think that's pretty much it.

Tim Bourguignon 37:34
Okay. Then, thank you very much for the pleasure. And we'll hit on the rest of the conference. Yeah, right now. Thanks so much. Bye bye.