Originally published on bcd.dev
Outline
- Babacar's Story
- Choosing a Career
- Internships
- Early Projects
- Language
- Couchbase
- Laravel Couchbase
- PHP
- Python
- [Pushing boundaries](#pushing-boundaries]
- Artificial Intelligence
- Large Language Models
- Limiting the scope
- Open Source vs Closed Source
- Couchbase SQL Plus
- Problem Focus
- Problem Solving and communication
- Pseudocode
- Empathy
- Ask Questions
- Learning Process
- Advice for Aspiring Developers
- Learning Languages
- Future Projects
Photo by Oshomah Abubakar on Unsplash
Interview Transcript
Babacar's Story
Nyah: Let's jump right in if that's okay with you. Sound good?
Babacar: Sure, let's do it.
Nyah: Cool, love it! So my first question is, I always think it's really important for our community to learn more about your story. How did you get started in tech, and what was your journey like?
Babacar: For me, since I was a little kid, I always knew I wanted to work in tech. I was that kid always trying to open things up to see how they worked inside. You’d often find me with a screwdriver, laying all the pieces out and trying to figure out the "why" and "how" behind it all. Fast forward, I knew tech was my path, so I studied it in college. At first, it was hard to decide which area of tech to focus on, so I did something a bit unconventional: I figured out what I didn't want. I started crossing things off the list, and eventually, I realized software engineering was where I wanted to be.
Choosing a Career
Nyah: How did you know what you wanted to focus on in tech? With it being such a vast space, how did you decide what wasn't for you?
Babacar: Back in high school, there was this great website that had profiles for different professions. I’d look at what a typical day was like for each job and think, "No, I don’t like this environment or this kind of work." I kept crossing things off the list, and by the time I got to three options, I knew I wanted to pursue computer science.
Internships
Nyah: Amazing! So did you major in computer science in college?
Babacar: Yes, I did computer science, then information systems, and finally software engineering.
Nyah: Did you do any internships while you were still in school?
Babacar: Yeah, I started working on projects during my second year of college. I also did something that might seem crazy: I’d open job boards and apply for positions where I met only one out of 20 qualifications. I figured, "Okay, let’s keep going," and learned as I went. Eventually, I’d meet more and more qualifications until someone hired me. You don’t need to have 10 out of 10 qualifications to get a job.
Early Projects
Nyah: I know you’ve worked on some open-source projects. What’s one of the first projects you built that you loved, either because it was challenging or creative?
Babacar: I try to build projects that solve my own problems first. One project I remember was a multiplayer game where we had trouble scaling the servers properly. The rooms couldn’t be too big or too small, and it was all new to me at the time. We eventually got it working, which felt amazing because we were under a lot of pressure from the customer.
Language
Nyah: What language did you use for that game?
Babacar: The main application was in Laravel, with some parts in Node.js. It was a mix, but Laravel handled most of it.
Couchbase
Nyah: How did you come across Couchbase, and what made you want to work with it?
Babacar: My first introduction was actually to CouchDB back in college. A professor had us research different databases, not just MySQL or PostgreSQL. Later, at work, the enterprise architect decided we needed a NoSQL solution, and Couchbase was proposed. We were already using Laravel, and Couchbase had an Eloquent driver that made it easy to integrate into the Laravel ecosystem.
Laravel Couchbase
Nyah: What problem were you solving with Laravel Couchbase?
Babacar: Laravel comes built-in with SQL database support, but Couchbase didn’t have official support. We found a five-year-old driver that hadn’t been updated, so we upgraded it to support the latest Laravel syntax and Couchbase versions. The goal was to keep it up-to-date and maintain it, even if we’re no longer using Couchbase ourselves.
PHP
Nyah: So is PHP your go-to programming language?
Babacar: I see languages as tools. It depends on the project. But for the last few years, yes, I’ve mainly worked with PHP and Laravel. That said, I also work with JavaScript and Python, though my Python is a bit rusty now.
Python
Babacar: I haven't worked with it for about two years, but when I was using it, Python was one of my favorite languages. Now, of course, I'm working with JavaScript. JavaScript allows you to make a lot of different mistakes—you can do almost anything with it. That’s one of the reasons I love TypeScript. The strict typing provides guardrails; it doesn’t let you create a variable that could be a string, a number, or anything else.
Nyah: I'm with you 100%, that's funny.
Pushing boundaries
Nyah As a developer, how do you push the boundaries and explore new technologies? Couchbase, for example, was something you didn’t know before, but then you realized it was an incredible technology to build off of. How do you stay up to date with the latest trends?
Babacar: To be honest, it’s not easy. There’s always something new coming around the corner. If you just follow the conversations, it might seem like everyone is using the latest trend, but in reality, most people are still running Java and PHP on their web servers. That said, I’m curious by nature, so I try to stay up to date—not 100%, but I keep an eye on things from a distance. I follow different runtimes, languages, and frameworks to see what people are building with them. Sometimes I find something interesting to work on or even join the trend.
After work, I usually spend about an hour or less digging through social media or YouTube, letting the algorithms recommend content to me. I pick a couple of topics, create a study plan, and decide which ones I want to become proficient in. I also make sure to keep revisiting certain things to reflect on what I’ve learned, both for work and personal growth. Revisiting things helps me reassess my understanding over time.
Artificial Intelligence
Nyah: Are you diving into AI at all?
Babacar: Yes, definitely. I’ve been exploring crypto and AI. I’m interested in the potential of AI but also cautious. Right now, I’m more focused on data science because you can do a lot with just that. Machine learning and AI are huge, but sometimes simpler solutions are all you need.
Large Language Models
Nyah: Have you worked with large language models (LLMs)?
Babacar: I haven’t done a lot with LLMs yet. My idea is more about using smaller, focused models that do one thing really well rather than trying to have one giant model do everything.
Limiting the scope
Nyah: I love that you’re thinking about limiting the scope a bit. You mentioned using a much smaller model that's very focused and does one thing really well, rather than relying on large language models (LLMs) that try to do everything. We often see LLMs generate hallucinations—things that just aren’t true. For example, they might provide a code sample that looks plausible, but as software engineers, we quickly realize it's wrong.
Babacar: Exactly. There are definitely challenges with LLMs. What I’d like to see, as you mentioned, is AI used in a more tailored, specific way to repeatedly achieve a well-defined task. I think that’s a space we’re currently missing—a model that excels at one thing, rather than trying to create something that mimics the human mind and handles everything. Scoping AI down can lead to better results.
It feels like every AI tutorial or blog post these days ends with a sales pitch. They’ll walk you through a basic setup, only to steer you towards signing up for a platform. Once you sign in, you're essentially locked in and can’t use anything else. That’s not AI—that’s just platform dependency.
Nyah: Exactly, and that’s a big difference. It's not true AI if you're just using someone’s platform. You're tied to that ecosystem.
Open Source vs Closed Source
Nyah: How do companies and developers navigate the balance between open-source and closed-source platforms? For example, with OpenAI, when you're using ChatGPT, you're on their platform, and many are paying for that. But there are also open-source versions of AI, specifically LLMs. How can we build models based on open-source data and make them fully open, rather than locked into a closed-source system?
Babacar: That’s a good point, and it’s part of the process. I'm currently working on a series of "do it yourself" projects that focus on going back to basics. If you understand the fundamentals, you can navigate both old and new technologies, even those you’ve never encountered. For example, if you have a solid understanding of how databases work—whether relational or not—you can adapt quickly. That’s what I love about CQL. Coming from a relational database background, I didn’t feel lost when using it because it’s quite similar, just with its own syntax. This familiarity helped me speed up my workflow on that project.
Couchbase SQL Plus
Nyah: That's perfect! You already know Couchbase has SQL Plus+, which is our version of SQL. It translates easily for people who already know SQL, and even for those unfamiliar with SQL, we have Capella IQ, an AI that teaches the syntax for creating queries within Couchbase SQL Plus. It equips users with all the skills they need to learn a new querying language, which is incredible. So, artificial intelligence can be used to educate and create platforms for learning, which is a huge long-term benefit.
Many developers are still apprehensive about AI, which is understandable since it's new, but the conversation around it has been going on for years. Once people learn the tailored benefits and tools AI can offer, it's a massive win. I love that!
Babacar: Absolutely. AI can do so much for education, especially in something like SQL Plus+, where people can quickly learn the language. It’s great to see platforms that not only provide the tech but help people learn to use it effectively.
Problem Focus
Nyah: It’s great work. So thinking about our larger state as engineers and how technology is shaping the future, what roles do developers and engineers have in that transformation?
Babacar: Right now, there’s almost nothing you can do without tech. I was just talking to someone in construction, and they have a massive IT department working internally. It doesn’t matter what field you're in—eventually, you'll need tech. Without it, you won’t stay relevant. The role of engineers is to ensure systems are working, tested thoroughly, and easy for people to navigate. Whether it's an API or a website, it’s ultimately for someone else to use, so empathy plays a big part. Technology evolves, but the theories behind it don’t.
Nyah: Exactly. It's vital to ensure that technology is accessible, not just to tech elites but also to the general population. It’s about making it usable for everyone—from seniors who may be intimidated by technology to children growing up with it. It needs to be safe and accessible.
Babacar: Absolutely. Developers should focus on applying technology to solve real-world problems. AI and data science are examples where you don't always need deep learning—sometimes, data science alone can get you there. It depends on the use case. I also like talking to people from different fields to see the problems they're facing and come up with solutions. It’s about applied technology, which is always more interesting than working with tech in a vacuum.
Nyah: Agreed. It's about problem-focused solutions, understanding preferences, and sometimes even controlling a market. Take Apple, for example, with their seamless ecosystem—it drives preferences.
Babacar: Exactly. Cross-pollination is key.
Problem Solving and communication
Nyah: How do you approach problem-solving in your development work?
Babacar: I like to break things down into smaller steps. I start with an MVP (minimum viable product), and then iterate on it. It doesn’t have to be perfect at first, but through iteration, you get closer to the best solution.
Nyah: The importance of pseudocode cannot be overstated. I always recommend writing out your pseudocode first in plain language—whatever you speak to yourself in daily. Just write out the problem statement or what you want the code to achieve. Once you've laid out the entire problem, only then should you start creating functions or writing the actual code in JavaScript, TypeScript, Python, or whatever language you’re using. It helps to clarify the steps before diving into the actual code.
Babacar: That's a great approach. When I’m working on something complex, I break it down into small, manageable steps and write everything out in plain text. No code, no algorithm at first—just an explanation that's easy to understand. Once the steps are clear, the algorithm and code follow naturally.
Nyah: Exactly! I think many developers forget the power of pseudocode. Writing out the logic before coding can save time and avoid confusion. Speaking of communication, engineers are often seen as bad communicators. How do you effectively communicate and collaborate with your teammates or clients?
Babacar: I start with empathy. You need to be able to read people, especially since you may not share the same values or culture. Being able to understand where someone is coming from makes collaboration easier. We get a bad reputation for being poor communicators, but solving complex problems requires clear communication. Translating difficult concepts into something everyone can understand is crucial. Writing the code is the easy part; explaining the problem and the solution is the challenge.
Nyah: Absolutely. Communication is key, and it’s something we all need to work on continuously.
Pseudocode
Nyah: The importance of pseudocode cannot be overstated. I always recommend writing out your pseudocode first in plain language—whatever you speak to yourself in daily. Just write out the problem statement or what you want the code to achieve. Once you've laid out the entire problem, only then should you start creating functions or writing the actual code in JavaScript, TypeScript, Python, or whatever language you’re using. It helps to clarify the steps before diving into the actual code.
Babacar: That's a great approach. When I’m working on something complex, I break it down into small, manageable steps and write everything out in plain text. No code, no algorithm at first—just an explanation that's easy to understand. Once the steps are clear, the algorithm and code follow naturally.
Nyah: Exactly! I think many developers forget the power of pseudocode. Writing out the logic before coding can save time and avoid confusion. Speaking of communication, engineers are often seen as bad communicators. How do you effectively communicate and collaborate with your teammates or clients?
Babacar: I start with empathy. You need to be able to read people, especially since you may not share the same values or culture. Being able to understand where someone is coming from makes collaboration easier. We get a bad reputation for being poor communicators, but solving complex problems requires clear communication. Translating difficult concepts into something everyone can understand is crucial. Writing the code is the easy part; explaining the problem and the solution is the challenge.
Nyah: Absolutely. Communication is key, and it’s something we all need to work on continuously.
Empathy
Nyah: You started by emphasizing empathy, and I think that’s absolutely key. Taking your ego out of conversations is essential. It’s not about pushing your own perspective or saying, "This is my code, so we must develop it this way." It’s about listening to the wants and needs of the team, the company, and the community.
Babacar: Exactly. We often get into debates—like "I like React, you like Vue," and the conversation turns into a competition. But if something solves the problem, why argue? Empathy means being open to change and new ideas. Otherwise, you might find yourself sticking to one technology for the rest of your life without exploring new frameworks. It's about being flexible and open-minded.
Nyah: Yes, and that openness allows teams to work together towards a common mission. It’s not about personal preferences, but about achieving shared goals.
Babacar: Absolutely. I might be naturally empathetic, but I always try to stay open—open your eyes, open your ears, ask questions, and never assume anything. That’s the key to effective collaboration and growth.
Ask Questions
Nyah: Yes, 100%. Asking questions is crucial, and yet so many of us are afraid to ask because we don’t want to feel dumb or uninformed, especially as we grow into more senior roles. People expect us to have all the answers, but being honest about what we don’t know is actually a powerful thing. Most senior engineers I talk to often say, "It depends." That’s a perfect answer because it’s true—you have to consider different factors for every problem.
Babacar: Exactly. Asking questions is a lifelong skill, especially in tech. You’ll always have to ask questions and keep learning, because no one knows everything. Even those with 25+ years of experience are still searching for answers. Tech is always evolving, and understanding that the learning process never ends is important.
Nyah: Absolutely. Look at how coding used to be done on punch cards back in the day. The process and tools are vastly different now. The key is to stay curious, keep asking questions, and know that this process is ongoing.
Babacar: Ego has no place in this conversation, especially when working with a team. If I can’t convince someone that my way is the best way, maybe I’m wrong. It’s important to hear others out and reconsider your approach.
Nyah: Exactly. That openness to feedback is what drives growth and collaboration.
Learning Process
Babacar: Like you mentioned, taking ego out of the equation and being willing to admit, "Maybe I’m wrong," is key. I’m always willing to step back and learn from others. Let's try it their way, and whether it works or not, it's okay. We're going through this process together as a team. At the end of the day, we’re a unified team—if we win, we win together; if we lose, we lose together.
Nyah: Absolutely. Back when I was an engineer, we had the mentality of "we break production together." If code went to production and something went wrong, it wasn’t one person's fault—it was a team issue. We’d learn from it and grow together, and that’s the kind of collaborative environment that’s so crucial. I love that you’re cultivating that kind of space at Kirschbaum.
Babacar: Exactly. It's all about learning and improving together. There’s always room to grow, and that process never stops.
Nyah: Yes, and I’m glad you mentioned that willingness to keep learning. It’s not about knowing everything; it’s about continuously improving, and communication is a huge part of that. When engineers can communicate and collaborate effectively, the whole team grows.
Advice for Aspiring Developers
Babacar: It's important to iterate on code, improve it, and not just stop after shipping the MVP. The willingness to come back, reassess, and have an honest conversation about the current state is crucial. That’s what we call managing tech debt—it’s about constantly improving, not just settling for "it works."
Nyah: Exactly! That’s a great point. For junior developers, or those aspiring to get into the field, what advice would you give them?
Babacar: I often tell aspiring developers to take it easy and go step by step. We didn’t learn everything overnight. No one starts with 10 years of experience. For example, we didn’t learn Laravel before learning PHP. First, we learned HTML and CSS, then PHP, and eventually JavaScript. After that, maybe Vue or React. You don’t need to force yourself to learn all these technologies in a few months, as many bootcamps might suggest.
Take it one step at a time. You don’t need to be an expert in everything, but you should know enough to work with a technology. Once you find what you’re passionate about, dive deeper into that area. This approach applies not just to tech, but to learning in any field.
Nyah: That’s so true! Learning progressively, building solid foundations, and going deeper into areas of interest is the best way to grow as a developer.
Learning Languages
Nyah: Yes, exactly! Take it slow. Don't feel like you have to learn six languages in two months. Be patient with yourself. Learning programming languages is similar to learning human languages—it’s a process. We didn’t become fluent in a language at two months old, right? It starts with simple sounds, and over time we grow, learn structure, and eventually master it. That’s the same approach we need for programming. It takes time, and that’s okay.
Babacar: Absolutely. You need to stumble, make mistakes, and grow. Learning takes time, and being patient with yourself is key. It’s important to understand that it’s a gradual process and to be proud of each step forward.
Nyah: 100%! And what’s your favorite learning resource that you’ve used to master different languages?
Babacar: Honestly, I’m still Googling to this day! I don’t have a specific resource because I like to change things up. I dive deep into subjects I’m interested in, then circle back and check what I may have missed. I like using different resources for different perspectives. For example, I’ll watch a Laravel series from one source, then watch a similar series from another to see how they explain it differently. Even watching beginner-level tutorials can give you that extra 1% of knowledge you missed before.
What matters most is knowing how to use tools like Google effectively and how to ask the right questions. Once you break down problems into smaller, manageable chunks, it becomes much easier to build from there and work your way up to more complex issues.
Future Projects
Nyah: One of the biggest challenges for new engineers is knowing how to ask the right questions. Sometimes, they don't even know how to begin asking. But that's part of the learning process—knowing how to use tools like Google to get answers and figuring out what to input to get the information you're looking for.
Babacar: Exactly. It’s all about understanding how to ask the right questions. As for future projects, IoT (Internet of Things) is a big focus for me right now. For example, I recently spent two weeks installing a GPS on my bike, which was very different from just coding. I also bought an electronics kit to dive deeper into that side of things. IoT has been a side project for many years, and I’d love to dedicate more time to it. I’m even thinking about creating an intelligent field that handles tasks like watering soil based on sensor data, adjusting for sunlight, and changing angles based on the time of day or year.
Nyah: That sounds amazing! Any plans involving AI?
Babacar: Not at the moment. For me, it all depends on the use case. I don’t currently have a problem that AI can solve, but I’m always on the lookout. Aside from IoT, I’m also exploring different protocols—like RTSP, a protocol for resumable file uploads that I just recently discovered. It works over HTTP, and I’m interested in learning more about protocols beyond the usual FTP or SSH.
Nyah: Wow, I love how varied your interests are! Looking forward to seeing what you build.
Where can people find you online if they want to follow your journey?
Babacar: I’m active on Twitter as @babacarcissedia and you can also check out my website at Kirschbaum Development, where I document my projects and share resources.
Originally published on bcd.dev
Top comments (0)