Relicans host, Aisha Blake talks to back-end self-taught engineer, Ben Barten about breaking into the FinTech industry in Germany, Googling all the answers, finding a sponsor, promoting yourself through finding a network, and why focusing on a particular niche is very important in coding.
Should you find a burning need to share your thoughts or rants about the show, please spray them at devrel@newrelic.com. While you're going to all the trouble of shipping us some bytes, please consider taking a moment to let us know what you'd like to hear on the show in the future. Despite the all-caps flaming you will receive in response, please know that we are sincerely interested in your feedback; we aim to appease. Follow us on the Twitters: @LaunchiesShow.
Jonan Scheffler: Hello and welcome to Launchies, proudly brought to you by New Relic's Developer Relations team, The Relicans. The Launchies podcast is about supporting new developers and telling their stories and helping you make the next step in what we certainly hope is a very long and healthy career in software. You can find the show notes for this episode along with all of The Relicans podcasts on developer.newrelic.com/podcasts. We're so glad you're here. Enjoy the show.
Aisha Blake: Hello and welcome to Launchies, the podcast for developers early in their career with non-traditional backgrounds. My name is Aisha Blake. I'm a Senior DevRel Engineer at New Relic, and I will be your host today. Today I'm joined by Ben Barten who's going to talk with us about his learnings from his first few years in software development.
Ben Barten: Hey, thank you for having me.
Aisha: Absolutely. I'm excited for the conversation. Why don't we start off with a little bit about your story getting into tech?
Ben: Yes, absolutely. Thanks. So first of all, hi, I'm Ben. I am a back-end developer. I'm 30 years old, and I'm now four years in the tech industry. I'm mainly working with Java, and Go is my favorite programming language and developing different solutions in the FinTech industry in Germany.
So yeah, breaking into the tech industry in Germany is quite unique. Because in Germany, traditional degrees are valued very highly still. Especially in traditional companies, it's pretty hard to get into them without any formal degree. So I was lucky, and I found a way to get into this industry, and that was a very exciting time. So I started out at a small FinTech company in Kassel, Germany, which is in the middle of Germany. About 200,000 people live there or something, so not the big startup scene like in Berlin, for example.
And yeah, how did I get into the industry? So, first of all, before I was in the industry, I was on my way to becoming a teacher. I was at the university. And I was not so happy with that. So at one point, I had a friend who was working at a startup, and he told me a lot about all this stuff they are doing, basically, all the different tasks, programming. And at this point, all of this was very abstract for me. I didn't really know much. As a child, I was interested in computers, but I never did any programming or anything like that. So it sounded exciting but also sounded a bit frightening or something. [laughs]
Aisha: Yeah, I can understand those computers.
Ben: Yeah, exactly. And yeah, at that time, I was on vacation, and I was looking for a job anyway. So they had a position open as a student intern as a data analyst, so not a software developer, but a data analyst. And I told my friend that I was learning to code anyway at that point. And at that point, I was looking into Java mainly because Java was the only programming language I knew at that point. And so I gave it a shot.
And yeah, I took the student intern job at this FinTech startup and told them that I was also learning to program a little bit and if they would have some smaller tasks or something, they could pass it to me, I could give it a try. Then they started giving me smaller tasks. Most of them when they told me that...I don't know; I remember one of my first tasks was developing some fuzzy search algorithm. And when they gave the task to me, I remember I didn't even know what that meant. [laughs] So I basically went on Google and had to look up what is fuzzy matching and found stuff like Levenshtein distance and all that stuff just related to fuzzy searching.
And what I did was I copied something from Stack Overflow [laughs] and put it in there, and it worked. And yeah, this was one of my first steps to actually do some programming. And by the end, it ended up in our production code. So this was a very exciting experience because I was learning to program for two or three months or something. So I was really far from being proficient, and I was able to actually practice on production or on real projects. I got code reviews, and everything was reviewed. And we discussed a lot about the code. But it was, I think, very helpful also just over the course of my whole development to get this real-world practice. So it was very, very helpful to get my first experiences.
Aisha: So what really stands out to me about that story is the importance of your connections with people. So you have this friend, and they introduce you to this potential path. And also, some of the most powerful parts of that experience you described are that you are on a team. You're in a real-world software development situation, and you've got code review. You've got people giving you feedback on a consistent basis who you're learning from.
Ben: Absolutely. Yeah, it was kind of funny because when I was starting in the team, I just heard the developers talking. And they were talking about some back-end-related programming topics. And I thought I would never really understand what they are talking about because there are just so many different words in tech. There are so many differences…
Aisha: Yeah, the jargon.
Ben: Yeah, exactly, the jargon. So that was very interesting. And I continued working for them just as a student intern. And then, after a few months, I was really interested in software development. So I thought that I would need to go to university again for like three years or something to get my degree. But my team lead at that point asked me if I would like to give it a shot like that and just start as a junior developer. And they were aware that I did not have full knowledge, a degree, and all this stuff, but they were very helpful. They were very open to answering my questions. And I always tried to figure it out on my own first. But at some point, you need to get out of your comfort zone and ask the people because most people are helpful.
Aisha: Yeah, as long as you're making an attempt to figure things out and not relying entirely on the knowledge and the work of your teammates, I think that it's important to try and push past a little bit as long as you are not holding yourself captive.
Ben: Yeah, you want to get yourself unplugged at some point. So you can try and figure it out on your own for a while. But at some point, you're blocking yourself, or you're blocking even others that rely on your work. So you should get that help from others. And I did that, and that was very, very helpful. So, in the beginning, I think what was really impactful for myself was that I basically said yes to everything. I wouldn't recommend that now.
[laughter]
Aisha: Relatable.
Ben: Yeah, exactly. I did say yes to everything, even if I just didn't understand what they actually were asking from me. And then I went to Google, tried to figure it out on myself, and I'd get some help from my colleagues. And somehow, it always worked out, and somehow, I always came to a solution. And I think after one year of working in software development, I had a feeling that I knew the whole picture somewhat. And I got a little bit rid of the imposter syndrome that I had for quite a while. [laughs]
Aisha: Awesome. I wanted to talk a little bit about this post that you wrote: Learnings From Three Years Into Software Development Without A Degree. So the first point that I want to talk about is you mentioned that in Germany, it is still difficult to get a software role without a degree in general. That's maybe less true for folks listening in the U.S. We tend to say, "Eh, you don't need a degree in this." You can get a job as a developer with or without one, depending on the company. But is it more rare in Germany?
Ben: I would say so partly also because our startup scene, for example, is not that big. So I think the U.S. has a much bigger startup scene, and startups in general more open to junior developers or for people who come in with the right mindset instead of having the actual hard skills. And I think this is also something which is very valuable as a developer. There are thousands of different technologies, so finding the right candidate with the right technologies is very hard. So I think for most companies, it makes most sense to actually look for some more soft skills and some more respective habits that you should have as a developer.
And I think one thing that really stood out for me and that I developed over time is this constant learning habit. So as developers, we're these knowledge workers. So we have to teach ourselves new technologies. We have to teach ourselves architecture, design patterns, all these different topics that are part of software development. And developing this constant learning habit is the most valuable skill, in my opinion, that you can have as a developer. And even if you don't know technology X or Y, you might be able to teach that to yourself, and investing in this learning habit and learning how to learn is really important.
Aisha: What are some ways that you have changed your own learning habits?
Ben: So when I was starting out, I had a very unstructured approach. So I was, as I said, a developer without much experience. I had to deliver tasks right on real-world projects. So I did not have that much time to get into fundamentals. And if I would start over now, I would probably start with these fundamentals. So if you get into web development, probably it makes sense to get a beginner web development course on Udemy or some other platform of your choice. Some people like video-based courses, text-based courses. There's really so much content out there.
And I would say what is really important is focusing on these fundamentals instead of trying to dig too deep into certain frameworks or certain very specific technologies. But instead, try to learn software development fundamentals on a higher level, and then choose one niche that you want to get proficient at. So for me, for example, this was back-end development. And at that point in time, I was doing it with Java. So I really focused on this area, and I ignored most of the part around that. I did not even really know what the people in the front end were doing, what DevOps is doing.
And at the beginning, I think it is a bit uncomfortable because there's so much out there. And there are so many different topics flying around, and you don't really know what to make of them. But focusing on one part really pays out in the long run because you can really build up some expertise and then really deliver on the job and do your job professionally.
Aisha: And that gets into your point about being a T-shaped developer.
Ben: Exactly, yes.
Aisha: So my understanding of this concept is that we ought to get deep knowledge, deep expertise of our particular area, but then also be aware of the context in which we're working.
Ben: Exactly. Yeah, this was also true for me because I was starting out basically starting as a back-end engineer. And as a back-end engineer without any knowledge about front end, it's kind of weird because you don't really realize for whom you are doing what you're doing. So I also had to build up some basic front-end skills after a while just to be aware and get the whole picture. And I also learned a bit about DevOps practices and the operational side of things, also project management and building technical products. I think all this stuff is very important. They are all very interesting as well.
But focusing on your particular niche is very important because you want to distinguish yourself from others. And you want to be the one expert for this topic and actually provide value because it's really easy to get lost in all the topics and study everything a little bit and then not being able to actually deliver on the job.
Aisha: Yeah. What I really like about that approach is that you're giving yourself a boost to your skill in a particular area and, therefore, hopefully, your confidence.
Ben: Absolutely. As I said, imposter syndrome is real, so especially when you start out, it's very frightening. And as soon as you realize that you’re making progress and that you can celebrate some wins and actually reach your goals in your particular area, you feel much more comfortable. And after working for a while, even the other areas will become a bit clearer for yourself, and you will feel much more comfortable.
Aisha: Another thing that I wanted to talk about…we're shifting a little bit here. But I really like that you start this post by suggesting that folks find a sponsor. Could you talk a little bit about what that means to you?
Ben: Yes. So for me, this was my friend who helped me get a job at the startup and who was convinced that I could do the job. He was not a software developer. He was a product manager, but he knew what software developers were doing. And he knew that I would have the soft skills or habits that a developer would need. And he always…even when I got stuck; for example, at some point, he would point me in the right direction. He would point me at some people I could talk to. And he was always very helpful.
And he didn't mentor me like a software developer mentor or something. But he was also always my go-to person who would sponsor me in some kind of...he would make sure that other people in the company realize that I actually can do what they asked me to. And that was a very good feeling because sometimes times get difficult, and you start to struggle. And you start to question yourself, and then it's good to have just a friend or buddy who can say, "Okay, relax. You're doing good and just keep going. You will get there."
Aisha: Absolutely. It's an incredible feeling to have somebody who will advocate for you within the organization. Laurie Barth has been that person for me, and it's fantastic. It's so important to have somebody in your corner.
Ben: Yeah, absolutely. It's also kind of a privilege. Not everybody can expect to find a job where some of your friends work, and they can sponsor you. But if you have friends that work in the tech industry and you're looking for a way to get in there, I would reach out to them. For me, it was also that I took a student intern job as a data analyst, which was not really software development related, but it might be a chance to get in there. And once you're in there and you can show your skills to other people, they will see it. You might have a chance to get a job as a software developer.
Aisha: Absolutely. And the distinction that you make between a sponsor and a mentor is worth getting into a little bit. A sponsor is kind of what we're talking about. This advocate is there for you; they're there in your corner. They are talking to other people in the company about what you're doing, and the impact you're having, and the value you're providing to the organization.
Ben: Yes.
Aisha: And a mentor is somebody who is working with you to develop some kind of skill, or habit, or knowledge that is relevant to your role.
Ben: Yes. And I was lucky at that point because I also had a good mentor who was my team lead at that point. We basically did regular one-on-ones. So he helped me to actually map out my career path somehow. And whenever we had these conversations, he was pointing me in the right directions. And we were just talking about okay, which path should I go? What are the actual hard skills that I need to acquire to develop myself and also to grow into a more senior role? And that was definitely also very, very helpful.
And I think everyone or everyone who is in a management position or some kind of engineering manager should really focus on these areas because it's really valuable if you can just teach other developers and show them or guide them at least along the way and the path that they can develop into. And I think most developers have different interests and also different skills and different things that they are good at. And good engineering managers see that and point these people in the direction and help them develop their stronger skills.
Aisha: Absolutely. Speaking about those skills that you want to cultivate, this focus on your social skills and your ability to adapt is, I think, something that we don't always focus on enough. We say, "Get into tech by learning XYZ technical skills." But how often do we really talk about the team aspect of software development?
Ben: Yeah, I think especially as developers, the topics that we talk about are very abstract to people who do not do software development. So also, if you just work in some product team and you're talking to a product owner or a product manager or something, they might just not understand that much about technologies like you do and having some kind of empathy and understanding how these people think. And for me, I think this was an advantage that I did not come from this area because I knew what it was like not to know anything.
So I think right from the beginning, I was always very good at explaining these topics to people that did not know anything about it. And this helped me really, really much just to develop strong communication skills and helping these people that I had to work with who did not have this detailed understanding of certain technologies to understand why we are doing it, why we need to do it, why certain tasks might take longer now, why we cannot do something. And this is something developers can or should really focus on, in my opinion, just because it's really valuable if you can explain these abstract topics.
Aisha: I would imagine too your training as a teacher would help with that. I don't know how far you got.
[laughter]
Ben: Yeah, I was actually pretty far. It would have taken me one more year or something then I would have been finished. And everyone in my family was telling me to finish it and all that stuff, but I went my own way. [laughs] Yes, that definitely helped. It's also a part of my job now, I would say. So most of the times in my current job and also at my last job, if anyone has to do a presentation on some workshop, on some technical topic, most of the times, I'm the first one who is asked to do it because I have this background in education, and I also like it. I just don't like teaching 30 children in a small school. [laughs]
Aisha: Entirely fair. I grew up in...half of my family are teachers. And I thought for sure that I would never do that because I saw what they did. And then, of course, my first job out of college was teaching JavaScript. So here we are.
Ben: Yeah, but at least teaching JavaScript that's for developers.
Aisha: It's for high school students. [laughs]
Ben: Oh, okay, that's more difficult. [laughs] I don't know. It's a really, really important job. And I really admire people who are great at being a teacher. And I think it's very important that good people become teachers. It's just not for me.
Aisha: I am with you. I admire school teachers so much. So we've talked about the technical skills. We've talked about the social skills, and to an extent, forming habits that help you to continue learning over time. When you are working and learning at the same time, it's really easy to fall into a cycle of overwork. And I wonder if you have thoughts about how to avoid that.
Ben: So it is definitely hard. And I've been at this point as well because I was the one with the least knowledge in the company, and I knew I had to catch up with the others. So I put in a lot of work, and I also overworked myself and did really 60+ hour weeks. And so I think what helps the most or what helps me the most is understanding that our brains are also a muscle like the rest of our muscles, and if you don't get them some rest, they will be overworked. You will basically exhaust yourself to a point where you will not be able to get in any more knowledge and all this stuff. So if you want to learn more, you need to take breaks, and you need to give yourself some rest. Give yourself some time to process all that stuff that you learn. And that is something which is very difficult in the beginning, especially if you suffer from imposter syndrome and if you think, okay, I have to catch up with all these people.
But instead of focusing on extending the hours that you put in, I would focus on the quality of your learning process. So actually developing good learning habits, trying to be effective in the way you learn. And this really depends on different people. Some people like to listen to podcasts. They like to watch YouTube videos. They like to do online courses; they read books. And even for me, this was a process that changed over time. At the beginning, I was doing a lot of online courses. Now, most of the time, I'm reading books or articles. This is helping me more.
And there are some small tricks that can get you more productive in general. So, for example, what helps me in my daily work is making my to-do list the night before I go to sleep or the day before I actually do it. Because if you do your to-do list upfront, you tend to put your top priority tasks on the top, and the next day, you just work your to-do list from top to bottom. And then you actually do the stuff, which is really important instead of coming to the job in the morning and then doing your to-do lists. And you try to..."I don't want to do the tasks first," and you put that to the bottom, and you mingle your way through the day. I think that's not that much effective. And there's a lot of value in...what helps me a lot is repetition, actually.
So for me, I don't know, some people just read through an article, they read into a new technology, and they understand it right away. For me, sometimes it just takes a while, and I need to read it 3, 4, 5 times until I really get it. And setting up some system to repeat the stuff that you learn is really valuable because you will actually keep it in your long-term memory this way, and you will actually be able to apply it in your job, and that's also an important point. Everything that you learn, if you apply it, I think that's the most effective way to actually learn it. So if you have the chance to work on real-life projects or open-source projects, or hackathons or something with other people, try to take these opportunities because actually working with other people on real-world stuff in some kind of form is super helpful and very productive.
Aisha: Definitely. I like these tips. We got do your to-do list the night before and prioritize when you've got some distance between yourself and the tasks. I like that a lot. What are some tools that you use to keep yourself organized?
Ben: I use Notion for most of my stuff. I use it for my daily to-do lists. I have reading lists of books that I want to read or videos I want to watch, also on ideas that I have for products that I might want to build or open-source projects that I might want to build. These are different topics. I also sometimes write blog articles, and I write them in Notion. So all that stuff can very easily be done in there. And I don't want to advertise it here.
Aisha: [laughs]
Ben: But it's really nice and very flexible. And yeah, basically, I put everything there. Also, I have a personal wiki with all the stuff that I learned. So most of the times, when I read books, watch videos, and all that stuff, I try to take notes, put them in a wiki. I don't have a super fancy structure in there. But put in a page of Notion, write down your notes, and try to get back at them at some point and repeat what you learned. That's very helpful.
Aisha: I like that. I want to start doing little personal book reports for some of the things that I read. I think it will be helpful. And I saw that you've done some Twitter threads in that vein.
Ben: Yes, I did. Exactly. I started doing that in the last months. So every time I read a book, I'm reading my books with Kindle and just taking my notes. And then, when I finish a book, I export these notes. And then, I do a personal review of the book where I just summarize my top three learnings from it, just basic notes on it, questions that I had that were answered in these books for myself.
And also, I try to think of how I can apply this knowledge that I learned from these books into my personal life or into my professional life? That's definitely very helpful just because if I read a book, and at least for me, I read a book, I finish it, and then I put it away. And a few weeks after that, I hardly remember anything exactly. And you always learn a little bit, and you might have it in your subconsciousness or something. But actually repeating that stuff and reflecting on what you read is very helpful.
Aisha: Yeah. Speaking of Twitter, the last subsection in this post is promoting yourself. So, how has that worked for you?
Ben: I think since I don't have a degree, for me having some kind of network is really, really important. And there are social networks like Twitter, like LinkedIn, that you can really make use of. And especially if you have some work experience or something to show off, even if it’s just a blog and writing some articles about the stuff you learn and sharing what you learn. There are always people that were at the point where you've been like six months ago, one year ago, or something and who are at the same point and who are trying to learn the same stuff that you already learned.
And even if only one or two people are reading your blog article, you probably have helped someone, and that's quite a nice feeling. And over time, also I think the writing itself also forces you to reflect a lot and also forces you to get your thoughts much more clearer, and that also helps learning for yourself. So what I like to think of is the concept of learning by teaching others. So every time I learn something new, when I try to teach the same thing to someone else, I really have to make sure that I know it. And when you can teach something to someone else, you probably have understood it pretty well.
Aisha: Absolutely. I say all the time that teaching is the most effective way that I have found to learn anything.
Ben: Yeah. And actually, at the moment, I'm building a small online course for Go developers, and it's basically the basic algorithms. And one year ago, when I was looking for a new job, I was looking for a course that had some kind of this direction. And most of the stuff that I found I wasn't really that happy with. And now that I'm building this course, it really forced me to actually understand all these different topics, all these different algorithms. And even if no one will buy it in the end, it was very helpful for myself to actually learn these topics.
Aisha: I love it. That sounds very exciting. Now is your time if you want to be a little bit advertisey.
Ben: [laughs]
Aisha: I don't know if you've released this yet.
Ben: No, I have not yet, but I will be, I think, in about one or two months. It's on educated.io, which is basically a platform for developers, not specifically to Go but any kind of developer. And the courses on there are not video-based; they're mostly text-based, but they are very interactive. So what is nice about them is you have interactive coding challenges. You can actually code in your favorite language in the browser. They have different visualizations of these algorithms.
And what I like about this learning style is that you can actually do it in your own time. And you can just read through it, do the tasks in your own time. And for me, this was more effective than watching video courses, just because in video courses you kind of have to stop the video, and then you have to think about what someone was saying. And I like this learning style a little bit more. And yeah, so I decided to build a small course. Its name is Learn Algorithms with Golang. And yeah, it will be out in about two months.
Aisha: Awesome. Best of luck.
Ben: Thank you.
Aisha: Is there anything else that people should know that you're working on, or what's the best way for people to find you?
Ben: I'm active on Twitter. I'm trying to share as much as I can from what I learn, what my learnings are in the tech industry. So if you're interested in that, just follow me on there. Also, if you just want to catch up and chat about getting into the industry especially in Germany, I'm happy to share any learnings and help other people. Just feel free to reach out.
Aisha: Excellent. And your Twitter handle is?
Ben: It's @ben_barten.
Aisha: Perfect. Awesome. Well, I want to thank you so much for chatting with me about this. I really appreciate it. I appreciate you sharing your time with us and also your reflections.
Ben: Yeah, absolutely. Thanks again for having me. It was very nice talking to you.
Aisha: Awesome. And thank you so much for listening in to Launchies. Be sure to check out our other podcasts, Polyglot and Observy McObservface. And we'll see you soon.
Jonan: Thank you so much for joining us. We really appreciate it. You can find the show notes for this episode along with all of the rest of The Relicans podcasts on therelicans.com. In fact, most anything The Relicans get up to online will be on that site. We'll see you next week. Take care.