Code with Jason

249 - Neeraj Singh, Founder and CEO of BigBinary and Neeto

Jason Swett

The episode explores the challenges of remote work and the opportunities for connection that arise from engaging in community events like the Sin City Ruby conference. Neeraj Singh shares his experiences running a remote consulting agency, highlights unconventional hiring practices, and delves into the benefits of creating clone products, all while emphasizing the value of quality software and a thriving company culture.

• Discussing the emotional toll of remote work 
• Importance of community events for connection 
• Neeraj's Big Binary: A unique, remote-first agency 
• Innovatively maintaining talent on the bench for flexibility 
• The value of creating clones in a saturated market 
• Hiring challenges and unique strategies 
• Retaining talent through strong company culture 
• Quality assurance as a fundamental aspect of software development 
• A holistic view on building competitive and maintainable products

Speaker 1:

Life hasn't been the same since the pandemic. Instead of working at an office around people all day, like we used to, most of us now work remotely from home, in isolation and solitude. We sit and we stare at the cold blue light of our computer screens toiling away at our meaningless work, hour after hour, day after day, month after month, year after year. Sometimes you wonder how you made it this far without blowing your fucking brains out. If only there were something happening out there, something in the real world that you could be a part of, something fun, something exciting, something borderline, illegal, something that gives you a sense of belonging and companionship, something that helps you get back that zest for life that you have forgotten how to feel because you haven't felt it in so long. Well, ladies and gentlemen, hold on to your fucking asses. What I'm about to share with you is going to change your life. So listen up.

Speaker 1:

I, jason Sweat, host of the Code with Jason podcast. I'm putting on a very special event. What makes this event special? Perhaps the most special thing about this event is its small size. It's a tiny conference, strictly limited to 100 attendees, including speakers. This means you'll have a chance to meet pretty much all the other attendees at the conference, including the speakers. The other special thing about this conference is that it's held in Las Vegas. This year it's going to be at the MGM Grand, and you'll be right in the middle of everything on the Las Vegas strip.

Speaker 1:

You got bars, restaurants, guys dressed up like Michael Jackson. What other conference do you think you can go to, dear listener? Or you can waltz into a fancy restaurant wearing shorts and a t-shirt, order a quadruple cheeseburger and a strawberry daiquiri at 7 30 am and light up a cigarette right at your table. Well, good luck, because there isn't one Now. As if all that isn't enough, the last thing I want to share with you is the speakers. And remember, dear listener, at this conference, you won't just see the speakers up on the stage, you'll be in the same room with them, breathing the same air. Here's who's coming Irina Nazarova, oh yeah, here's who's coming For Freedom Dumlao Prathmasiva, fido Von Zastrow, ellen Rydal, hoover and me. There you have it, dear listener. To get tickets to Sin City Ruby 2025, which takes place April 10th and 11th at the MGM Grand in Las Vegas, go to sincityrubycom.

Speaker 1:

Now on to the episode. Hey, today I'm here with Neeraj Singh. Neeraj, welcome to the show. Thanks, jason. Yeah, good to have you here. So you are the CEO and founder of Big, binary and Neato right.

Speaker 2:

Yeah, that's right.

Speaker 1:

Yeah, so tell us about those two things Big Binary and Neato. Yeah, so Big Binary is a.

Speaker 2:

Ruby on Edge consulting company. We have been in business for the last 14 years and the most notable thing about BigBinary is that we have been fully remote for the last 14 years. So I like to say that we have been remote since 2G era and the new kids don't realize that there was a world before GitHub and just before I started BigBunny. At that time also, I was doing some Rails contributions and at that time we were using lighthouseappcom and we make the patches and attach the patches and send it and then download the patches. And when I talk about it people's mind is starting to wander because they can't even relate to what I'm saying. So I just shut up. So yeah, so I have been around the blog and three years ago started building Nito on the side, which is a product. So BigBang is consulting. This is products. We are building a bunch of products under the umbrella of Nito.

Speaker 1:

Yeah, how many products do you have under Nino now?

Speaker 2:

We are trying to build approximately 20 of them. At this point in time, we are live with eight of them. Okay.

Speaker 1:

And you told me when we met in person but you have some of the big binary staff working on the Nino projects. Is that how that works?

Speaker 2:

Yeah, so at this point in time, big binary, we have around 120, 130 people and at any point of time I like to keep around 10, 20% people on the bench. This is slightly contrarian compared to other consulting companies I've talked to. That's because they want people to be fully booked and they don't want, obviously, the downside of it. And that's how we actually ran for the first like, say, 10 years, but the last three years I, because sometimes good opportunities come and people are not available. The question is that now, if I go down that strategy, what will people do when they are on bench? Right? So that's why we started building some of the products and since I'm not innovative at all, like I cannot figure out, oh, let's build something new. So I said, well, I'm using these softwares, or my clients are using this software, and just feels a bit too pricey, expensive, and I think that it should not be that way. Let's put test the theory. So that's how we started building it and currently, all the products that we are building, these are the products we use. If you are not using it, we are not going to build it for you. And we are. And we don't care what the product is.

Speaker 2:

For example, we uh, it's one year ago. We got out of written github actions. We have our own n CI which we have not publicly made available. It means that you can't use it, but we have been using Nito CI for the last one year, which is much faster and all those things saves money and time et cetera, and I've not publicly mentioned it, but last month we completely got out of Heroku. So all our applications are completely running on Nito Deploy. So Nito Deploy is our Haruko alternative.

Speaker 2:

By the way, nito Deploy is the hardest project that we have as a company. Nito we have built because it all has to do with DevOps and things like that, and besides that we also have Calendly alternative, nito Cal Loom alternative, nito Record. We have Nito Chat, nito Desk that's how we do provide support to you. Nito Invoice or desk that's how we do provide support to you. I need to invoice. That's how we have been invoicing um for consulting site. So bitcoin is a client of nito for sending the invoices and things like that.

Speaker 2:

And it took kb for because you have a chat and desk, so somewhere you need to write things. Uh, so you took a. B is like so anytime I say their intercom alternative. Well, it's a podcast. You can't see, it's under quotes means it's a lightweight alternative. Um, obviously, you cannot replace notion with it, okay, but some people have done, including us. Uh, we don't use certain part of the notion and main thing is writing okay, and we are competing on price, which is, uh, slightly contrary, and again, all business books tell you it's a race to the bottom and you don't want all these people and things like that and I welcome those people.

Speaker 2:

Uh, because, why? And first of all, I'm not innovative, so I am building the clones of the existing applications and I believe that that's how. There's nothing wrong in that, nothing wrong in the sense that, uh, especially on reddit and other places, you will see, oh, most of the sas applications, especially on Reddit and other places, you will see, oh, most of the SaaS applications today, are clones of other applications and the tone, underlined tone, is pejorative, that, as if that's a bad thing. And I, I don't know. My favorite example. I start with that one guy, one freaking guy, built a car, henry Ford. And then what? I mean, everybody needs to stop building the car just because one guy built it.

Speaker 2:

You don't want to build the clone, and I see that the cloning is the essence, what drives capitalism. How? Let's look at the grocery stores. There's a grocery store and there is a clone of grocery stores, because somebody in the society sees that, hey, jason is making a bunch of money selling cucumber. Well, I will go after jason, right, you will build another cucumber store and then there's price competition and that you start selling, besides cucumber, cabbage, and then you will add cabbage and you will learn from each other and compete.

Speaker 2:

So this notion that building clone, because I get a lot of questions why build a calamity clone? Why build intercheck, intercom clone or Zenders or FreshTab there is plenty of them out there too, but I feel like still there is room for one more player. And the reason why one more player is not because these markets are not being served properly from feature-wise. Feature-wise they're being served. That's why I'm saying that we are not doing anything on the feature. What I think, in spite of before Nito, I listed on our own blog 30 calendar alternatives. But if you have 30 calendar alternatives, it's a commodity. If it's a commodity, why the prices are not doing them?

Speaker 1:

right, yeah, okay, so there's, there's so much I want to dig into here, um, um, so one you know, you and I are just starting to get to know each other, but there's, there's some things that I can, that I can tell about your personality. I think, um, one is that you seem to have maybe a contrarian streak, which I love, because me too. Um, whenever there's like a piece of conventional wisdom, I love to question it, um, and, and I like to say well, what if I do the total opposite, or something like that. So, like, conventional wisdom is, um, don't compete on price, and you're like why not? I think that's fine. Um, conventional wisdom is don't compete on price, and you're like why not? I think that's fine. Conventional wisdom says that when you build a product online, it has to be novel, but you're saying it can just be a clone, and I find that really interesting.

Speaker 1:

And I also want to go back to what you said about having people on the bench. That is something I've never encountered before in all the agencies I've seen, but it seems really smart, because anybody who knows about agencies knows that they go through a boom and bust cycle where business is great, they're making money hand over fist and they have to hire a bunch of people because they have these opportunities but they don't have enough staff to meet the opportunities. So they have to hire people, um, but then naturally things wane and they have to let people go, because they have all this payroll now and no income. They let people go and then some period of time later the business comes back and they have to hire people again, and it's just terrible. And so I don't imagine having people on the bench makes that problem entirely go away, obviously, but it probably makes those waves a bit easier to ride out at least.

Speaker 2:

Definitely Not only waves easier to write up. The other thing is that, because of this philosophy, you can afford to say no to the client, because what happens is that when you are in this mode where everybody needs to be stopped 100% of the time, then let's say that you wait out for two weeks, three weeks, four weeks, and then you get a lead. Now, because of this internal clock that is ticking for you, you see that, oh, this person has been on bench for four weeks now let's take this project, even though probably the billing rate is not what you expect it to be. So you, because of your desire, what's happening is that you're compromising on your billing rate and things like that.

Speaker 1:

And another.

Speaker 2:

next good project might be just available next week or the week after that, so a little bit of flexibility is needed.

Speaker 1:

Yeah, and it's also maybe a bit of a mindset difference. The traditional way of looking at it is utilization is good and when you're not being utilized that's bad. And I suspect that you don't look at it exactly that way, because when there's a developer who's not being utilized for client work, they can be utilized for other things like product work and stuff like that.

Speaker 2:

Yeah, so product we started three years ago but before that what we used to do, that we will take a particular topic and on that we will write blogs. Like we'll do some kind of research etc. Etc. Like, for example, I can give you as this week is progressing, we are currently in the middle of writing a blog on benchmarking Redis against other players. As you mentioned, we met at the Rails world over there. I came across Valky. I had never heard of them before. They had a store. I talked to them. They are like a default Redis before certain number.

Speaker 2:

The other thing I came to know about the Rails looks like the whole Rails ecosystem has been taken over by SQLite, so we are benchmarking, okay what are? So it's a fun things to work on. So I'm not saying that the product development is the only thing, but if all your team members, all your staff members, are continuously all the time they are engaged, then you don't have time for these kind of things, and I consider these kinds of lightweight technical marketing things which, as an agency, you need to do that you might not do that type of marketing you.

Speaker 2:

Another way of doing it is that you take the client work, take the money and give that money to google. Fine, I'm, that's another strategy. There's no right or wrong strategy. Each agency for themselves. I just hate giving money to Google. Why, I mean, that's a topic for another discussion. We can talk about it, but I just don't like it. I feel like, rather than taking that money and invest in yourself, write a good article, make some video, learn something which will last a bit longer.

Speaker 1:

Yeah, yeah, and I myself, uh, another like maybe contrarian path that I take is I I'm not going down the agency path. Um, because a lot of the agency owners I know and the agencies I've worked for you know there's that boom and bust cycle, very stressful. And then, quite frankly I'm sure you're aware of this Most agency owners, as far as I can tell, don't make all that great of money. They might make something that's about comparable to a job, but not meaningfully better. And so I thought like, okay, if, if that's the like reward for for all this stress and work and stuff like that, then that's not super interesting to me. I know that's not the necessary outcome, but that's what I saw a lot of the time.

Speaker 2:

I will tell you for me, after running the agency for 14 years, what's the biggest pain point? I thought, and most of the people who are not running the agency, they think that the biggest pain point is hiring the client, et cetera, which is true, but that's it by far, by far not the biggest pain point. The biggest pain point is always for the last 14 years. Number one is always the same thing hiring smart people. The hiring process is so difficult, so stressful, people are so clunky. I mean you have to interview so many people to get one decent guy. I mean because, just because I'm just taking an example of react, because we were interviewing somebody last week just because you know use effect and you make some pitch, come alive, you think you're a reacting to you. Similarly, for it's, you know, has many comments and now you're a bills, a build. Okay, you have five years experience. They say five years experience but out, but in reality they have one year of experience five times. So it depends on the definition of five years experience and if you make a bad hire now, there's a lot of trouble.

Speaker 2:

I mean, obviously you don't want to just fire people immediately, things like that. You need to have the market reputation. But if you put them on the client project etc. Then well, that client is never going to. If they don't have a good outcome with the person, then you lose that client forever. They're not going to give you the second chance that, because they have other choices. Why would they work with you? So it's just so. Yeah, it has its own layer of stress. Yeah.

Speaker 1:

Yeah, I can certainly believe that I've been on the hiring side and it's so hard to find good people. I read in this book once it said like once you start to hire people and go through the interview process, you'll wonder how any country has an unemployment rate less than 10%. And I thought it was pretty funny because it's like, yeah, not to be mean about it, but everybody sucks It's-.

Speaker 2:

Yeah, no, absolutely. I'll tell you this thing. Like we posted an ad for a UI engineer, we need that UI engineer, as we posted it to expect, and because all our plans, literally all our plans we don't have any Indian plans are outside, in the Western world. So we want the person to be able to speak English properly Nothing, high five, so that we can communicate effectively. So what happened previously? We saw that a lot of times we'll have the meeting and within two minutes, not two and two minutes 30 seconds. We saw that a lot of times we'll have the meeting and within two minutes not too many 30 seconds. We know that person is not able to speak properly, where the clients would be able to understand them properly.

Speaker 2:

So now to screen that, we added that auto screening process, which means that we ask that you make a two-minute video of a need-to-record video of like we have a big video page how we work. We just wanted to say something. Then people say what do I say? Except us? We said, okay, how we work, there's just a page. Say something, whatever, just read that page, that's fine. And people do that. You guess what is the percentage of people? And we say that's a required thing we say three times at the top, in the middle, that we. I'm telling you one more time that most of the people are rejected because they don't post the video and guess what happened in for this uis thing?

Speaker 2:

once again, the ratio is 50. We got 38 applications, out of which 20 applicants they said na test, I will have a call with you in the zoom and etc. And things like that. Why go through the trouble of filling out the form when I'm time and again saying that, dude, I need a video, but you will not post a video.

Speaker 2:

I need to hear you speak, so I'm just telling what that? And go to the market. Everybody dude. Technology field is crumbling. I'm not able to find the job and I'm offering a job here, right, and people are applying. Why are you applying?

Speaker 1:

It's better that you spend your time on TikTok than applying because I'm telling you that I need the video and they will say and they test why is this needed? It's truly extraordinary. I've done similar things where there's something that's listed in the job ad extremely prominently saying do this very simple thing. That's basically no extra work and the majority of people fail to do it. And it's like well, you're disqualified. Right there, obviously, Exactly.

Speaker 2:

So and then, like people need job, Its number is very, very high in India, At least, I can say but the people are people and then okay, so one thing we talked about the hiring, like the challenges of the hiring, and then there is a challenges of retaining people.

Speaker 1:

If you truly have hired talented people.

Speaker 2:

Well, talented people. By definition, they have choices, right. So then the issue comes up retaining thing. Oh, by definition, they have choices, right. So then the issue comes up retaining the hope. The project is not interesting enough? Fine, fair enough, I will leave the job with the project. So then. But I'm getting a consulting job. How would I know beforehand what the culture is over there? Do they pay attention to the code or quality or not, like I cannot? Only when I get into the project, then I will know, right. So that's another challenge of the consulting work which you are not, which people don't often talk about it.

Speaker 2:

When you're building the product, it's much easier. You control things. You know what. When you're hiring the person, you can tell the person what you're getting into. We care about these things. What the client cares about. Some clients are very like you know what documentation. Somebody is very particular about tests. Somebody has, okay, they're very um inel about something else. And some we come across plans where the quality is not necessary. It's a whole thing is a shit show. Ci is always broken test. Who cares about test? Okay, now, coming from big money thing, when we put them, they're not comfortable, they don't like working there. Now what do we do? We have taken the client project and now, once you get in the project, then you realize that they don't care about the test. They have some test, flaky test, sometimes it passes, sometimes it, but they say no, no, no, we need to work on this feature, okay.

Speaker 2:

So these are challenges of running into like working on a consulting project.

Speaker 1:

Yeah, this is so interesting. There's again so much to unpack here. So I want to talk about attracting people and then retaining people, because these are things you know. Everybody has this problem. Everybody has this problem of wanting to hire good people and not being able to find enough good people, but nobody seems to want to give much thought to how to address this problem. So I think about it like you want people to work at your company, and often in the job ad it says in your, in your cover letter, tell us exactly why you want to work specifically for us. It's like, well, I don't fucking know, I don't even know who you guys are um, exactly you have like no distinguishing qualities whatsoever.

Speaker 1:

Um, you know, it's like if, if you're gonna go to the dance, you should like put on some makeup and a nice dress and stuff like that and make yourself attractive. Otherwise, like you're gonna to go to the dance, you should like put on some makeup and a nice dress and stuff like that and make yourself attractive. Otherwise, like you're going to be just like every other girl, and why is a guy going to want to dance with you, you know? And so something that I've encouraged some of my clients to do in the past, which has I think never been taken up is like do something.

Speaker 1:

Do something to set yourself apart from everybody else. I know that Big Binary does this because long before you and I have been talking right now, I've seen Big Binary's blog posts shows up on Reddit and the Ruby newsletter and stuff like that. I went to RubyConf, india. There were big binary people there wearing big binary shirts. There's probably big binary people giving a talk, I don't remember for sure, but big binary is out there making themselves known. Evil Martians also does a great job of this. If you're involved with the Ruby community at all, you see them everywhere and so you know. If Evil Martian says, hey, we're hiring, they will probably get higher quality candidates than just some no-name place who doesn't do any of these things. When I was a manager and hiring people, I had a bit of an advantage. To be honest, not as much as I would have expected. The people I hired were all already like fans of, like the podcast and stuff like that.

Speaker 1:

And so by the time we were talking like, they were already sold on me. It was just is it a good fit, and stuff like that, Whereas most companies they're interviewing a candidate. If the candidate's any good, they're going to be interviewing other places too. And so you're going to have to make a case to them why they should choose you over somebody else. And again, if you have no distinguishing features, then there's really no reason for them to choose you.

Speaker 2:

Exactly. And also, uh, yeah, yeah, I think it is a bit of pretty well that any association company product, they need to build their own brand so that you can distinguish from the general out there and that can help attract the right sort of people. The right sort of people will apply that. Okay, this is a high talent density company, which means that you're more likely to learn over there. Well, you're more likely to learn over there. You're more likely to survive there, and and things like that. I'll try to survive.

Speaker 1:

Yeah, so yeah yeah, and then, um, once you've expended all this time and expense to hire somebody, good, hardly anybody gives any thought to how to keep them.

Speaker 1:

Um, you know I I can't speak for everybody, but I think one of the biggest things that drives smart people away is stupidity so if, if you're an organization and you're doing everything in a stupid way, that's that's not gonna a smart person's not gonna want to work in that environment. That's what's driven me away many times. Like you said, the thing about CI is always broken. There's tests that are always red. Yet we need to build this new feature, not work on this stuff. That's stupid, because what you could do is you could make a small investment and get a huge payoff, but what they do instead is they I call it eating the seeds. You know like, instead of taking your bag of seeds and planting it and having a bountiful crop, you just eat the seeds directly and then you have no crop. That's what most places do, and nothing will drive me away faster than than that kind of stupidity.

Speaker 1:

Exactly that's true that is true, yeah, um, but it's. It's also hard, um, because not everybody, not everybody, can just make a decision to. Okay, with attracting people, you can do things, you can start today and start building that, but with making an environment that a good person wants to stay in, you are carrying the baggage of your past. Because if you have, like a legacy code base, it's a tragic situation because once it gets past a certain point, nobody wants to work on it and you're going to have turnover and you're kind of stuck.

Speaker 2:

And not only that. I mean I've worked with the clients, etc. I say that not only maybe your legacy code you don't care about it, your manager doesn't care about it, but you do care about security. Or maybe you don't care about security, you would care about it when there's a security breach happens. Please know that Anytime I work on a client where they have a legacy code, I always say to them that this is a ticking time bomb.

Speaker 2:

You don't know what is going on, because even Rails whether you're using Rails or Django, whatever they have only a limited number of things to which you can go back and fix security. Community might come and might not come, and things like that. Security is extremely important. Second thing is that you say that you care about performance. Well, guess what? The fastest way to get performance everything is just upgrade Ruby and and reps, because each new version they have some extra features, but also things get faster. This is free things, which makes your code run faster. Why would it be stuck on ruby 2.1 when the world has moved on to three? And they will say, oh, we never got time and the person has left and I said okay we are here.

Speaker 2:

Let's plan in a calculated manner, let's put some time and budget for it, but and and. All that sounds good. But when I propose the budget, they say, oh man, two weeks.

Speaker 1:

Okay, we can do it, we can, we can take it to the next quarter of course yeah, that's something I'm working with one of my clients about right now is prioritizing these things that fall into the category of important but not urgent, and those things are really, really hard, and so I have a respect for the difficulty of getting those things in, because nobody is ever going to be hounding you to to do these things. Um, and it's hard in, you know, in people's personal lives too. Like, uh, my truck needs new tires. Like nothing bad is going to happen if I don't get new tires today. Nothing bad will happen if I don't get new tires tomorrow. But I got to get new tires at some point, so I just have to pick some arbitrary time and make it a priority.

Speaker 2:

those things are really tough yeah, those things, but those tough things which are see, if tomorrow, let's say, you break your arm, whether you are stupid or not, so I mean you will get your arm fixed right, so everybody will do that. So that does not differentiate. So I tell, at least when the big money of people here we talked a lot about that, like education and computer science and all the things have become homogenous all around the world. All the way from manila to mumbai and from minneapolis, what's like an average computer science student is graduating with the same amount of more or less technical knowledge. I mean obviously subjected to the college, but curriculum is pretty much has become homogenous around the world, right? So now the thing is that I give example of this Burger King is that the if I give you all the inputs is all the inputs are given to you and all the inputs are known to you, you will produce an output. So the guy from Manila to Minneapolis to Mumbai will produce the same output, right? So then what is your contribution? Like? How are you differentiating yourself? Right, you have become a commodity, right?

Speaker 2:

So your opportunity to shine in any organization, whether it's a big binary, whether it's a tiny binary or mega binary, you go wherever you go right's a tiny binary or mega binary. You go wherever you go right, whichever binary you go, because you're in tech field, so you will be in some binary. Your opportunity to shine is when there is ambiguity, because when there's ambiguity in the sense that the input is not perfect, then it's not the way Jason will handle the thing and the way I will handle and the way Joe will handle the thing will be different. Right, because it's not a prescript solution. The path is not exactly clear because inputs are a bit ambiguous. But shine in those moments.

Speaker 2:

Otherwise you are becoming this Burger King the guy who's flipping the burger. There are two types of people in Burger King the CEO and the person who's flipping the burger. The person flipping the burger, the person who is flipping the burger. All the decisions have already been taken by the people superior to him or her. You need to press this button for 15 seconds and test this thing. So here, input is very governed, output is also governed, but because the output is repetitively governed, the value addition is less and your earning potential is less if you're on this side of the spectrum and the CEO has.

Speaker 2:

Okay, there's a lot of ambiguity. Should I do this? Should I do that? Because Burger King has millions of dollars, millions of paths they can take, right, but in this environment, when things are not clear, has to forge a path. And if that bed face off, then you keep improving the company bottom line and things like that.

Speaker 2:

If you get continuously your bets are off, then what happens? The company shy, strengthens and you yourself either the board will fire you or your potential to make future bets become less because the company is depleting money, right. So same thing applies for me as a big money, like if continue to make some bets which does not pay off, like nito is a bet okay. If it doesn't pay off, then what happens? So much time and money is gone. So now I have that much lesser number of resources.

Speaker 2:

So I say to people that anytime when you get into a situation where things are a bit like, um, not very clear, you can get frustrated for a second. That's just fine in human nature. Take a, but also realize that this is the opportunity where you can make a difference, because if everything is fine and perfect and the inputs are perfectly aligned, then everybody will do exactly the same thing. Right, because we are all rational more or less in the same way when it comes to technology and things like that. But when the things are not very clear, I want to see what your take is right yeah, yeah, wow, okay.

Speaker 1:

So this is a really interesting topic, um, and there's a shift that I think is happening in the economy. Well, there's, there's one thing that definitely has been happening in the economy, in the economy over the last, uh, let's say, hundreds and, I suppose, thousands of years. If you go back to like caveman times, it's like the economy didn't really change for the first couple hundred thousand years or whatever, probably. But if you go back to like the year 1800, let's say, 90% of Americans were farmers. What's the difference between the wealthiest farmer and the poorest farmer? Not all that much, you know. Maybe the wealthiest farmer is 10 times as rich.

Speaker 1:

Fast forward 200 years to 2000,. You know Bill Gates at the time maybe he had $50 billion or something like that. How rich is the richest person compared to the poorest person? It's staggering. It's staggering Because technology has progressed so much that people can use technology as a lever to produce more value and the value can be distributed more efficiently and there's more people with more money and stuff like that. And so if you imagine, like a graph, that graph in the 1800s would be kind of flat, but then in 2000, like the, the left edge would stay maybe, maybe it would rise a little bit, but the right edge would rise exponentially yeah and I think it's been rising.

Speaker 1:

Obviously it's been rising for the last couple hundred years since the industrial revolution has started and I believe it's. I don't see why it would stop rising. And I think what's happening now, as we see this like tiny little snapshot of the last couple decades or whatever, and if we zoom in on the software industry, I think a similar thing is happening where, like maybe the difference in 1990 between the least valuable programmer and the most valuable programmer I think it was still a lot. I don't think programmers vary by like 50% or something like that. I think they vary by like a thousand X or something like that.

Speaker 1:

But now it's like, if you're like not a very good programmer, it's like the threshold. Below a certain threshold you're just useless, your net value is less than zero, and I think that threshold has been rising because now everything's more complicated, web applications have higher demands and expectations and stuff like that. You can't just. I think we had this bootcamp wave that happened, but then people realized you can't just go to a bootcamp and immediately be a competent programmer and people will want hire you. So there's those people at that end. And then the more stuff we automate, you know, we add these things like containerization and stuff like that, it's better. Containerized deployments are better, but it's harder, and so you need smarter people to do it. Um, so now, if you're really smart, you can be so much more valuable, and so it's like the the rich have gotten richer and the poor get poorer metaphorically, but it's like the intellectual haves and have-nots. I think that's happening that's absolutely happening.

Speaker 2:

In fact, one of the things that I tell people um working with many other places also, is that I see that the people who are working for two, three years maybe in Ruby on Rails and then they migrate to, say, elixir or some other things Nothing wrong in that you should explore but one hidden danger or the pattern that I see is that they think that by putting in the effort in learning this new language, they are making themselves more valuable. And I don't know if it's a contrarian thing, except I think that absolutely. I'm against that. Against that in the sense that for your own career not as a company employer, as an employee like you want to maximize your chances. See, if you go to a new language, it will take another six months to a year to understand the lay of the land. You are a beginner over there. Obviously it's good to know other things, but the real expertise, science, is that you learn over there what's happening. Bring it here, because now that you have been in Ruby Rails for three years or four years, now you can go to the next level, which I feel like 90% of the people don't go.

Speaker 2:

For example, start looking at what's happening at the real source code level. What's happening in, for example? I will just give example that oh, you really want the hard problem? Let's just look at it Ultimately in Active Record. Whatever the query that you make, userwhere email is JSON. That is a walking the tree. It's the ultimate compiler design, or you're walking the tree and so on, and why and time to time you can look at Aaron Patterson and other people. They have come in because when I was paying much more closer attention to to real source code, that they will come and they will improve the performance. Right, it's not like the world is waiting. There's somebody to improve the performance, because performance is not that bad. But if you can improve it or at least look under the hood, like what's happening, that's where you will learn a lot more things, because right now you are at the application level.

Speaker 2:

Now you go to the framework level. Try to do some open source contributions and things like that, because if you spend even six months making the open source contribution, you got five commits in. You are above 90 percent of the other rails engineers. So it's better that you spend that six months looking at trails and making the contribution than trying to make yourself more available by learning elixir. Well, elixir is good and I don't want to piss off the executive community and, once again, there's nothing wrong in learning, but first job for you should be your own financial well-being and financial security, and the path for that is, first, that between these two, let's say, because time is a constraint, like it is a limited resource, right?

Speaker 2:

I would rather say and advise people that you go and take the six months and get five commits in over alexa, because if you don't do alexa in alexa you are a beginner and in rails you are an average three year old person with three experience. So you need to rise above the noise to earn more winning, like exactly the thing that you're talking about that on the right side the graph is going up. You want to be participating in that, but you need to be wise about it, right?

Speaker 2:

Yeah, yeah, like breadth is good but breadth is not the same thing as depth and you get not. I mean, some value will be added, but not that much. Like if I want a great PHP guy, I would pay a lot of money for a great PHP guy, not for a guy who's average PHP but knows okay, average Java and average Elixir.

Speaker 1:

That person is not that useful to me, right? Yeah, yeah, I completely agree. And on the topic of like what should you learn, and stuff like that, I try to be a well-rounded person and go outside of even technology a lot and I find that it comes back Like I read a lot about like philosophy and science and I feel like a lot of that stuff is like so directly applicable to programming and learning about like history and psychology and stuff like that. Basically like how does the world work, how do human beings work? Stuff like that. It all is like so applicable.

Speaker 1:

Most programmers, um, I find, are like fairly focused on programming exactly but if we would broaden in that way and learn more about how the world in general works, you can be so much more effective.

Speaker 2:

But I say that you should learn those things, not necessarily to be effective, to be a good human being man, I mean not a good human being, to be enjoyable. Do you want to just work and do what? Don't you want to live life? I consider that it's living life when I'm reading a book about. I recently finished the book about alexander because my kids were studying in school and I said they asked me at the dinner table discussion. I said, okay, I don't know anything about alexander. Okay, so I read the book. Then okay, went down the path and julie caesar. So now suddenly I know a lot more. But I feel like, okay, I was missing out on that, I didn't know that. So does it apply to the technology? Maybe, maybe not. But even if it doesn't apply, just go outside the technology time to time or all the time and carve some time out and read. Whatever is your interest Philosophy, biography, whatever.

Speaker 1:

Yeah, and every once in a while I'm sure this has happened to you before I'll be reading something completely unrelated and there will be just one little nugget and it's like whoa, that like totally applies to programming or whatever it might be.

Speaker 2:

Yeah, that's true.

Speaker 1:

Yeah, that's true. Yeah, like I'll use this example just because it was really interesting. I listened to this book about dopamine recently and like halfway into the book, the author, who's a doctor, said something about modeling and he said like a model. I won't get it right, but it was like a model is like the way we think about a part of the world in order to make sense of it, or something like that. The way he worded it was way better and it was like this is perfect for programming. Exactly yeah.

Speaker 2:

No, I mean Once you do it, because programming you don't want to be all consuming, programming all the time. Life is bigger than programming, so go and enjoy it.

Speaker 1:

Yeah, okay, that's probably a good place to leave it. I've really enjoyed talking and I feel like we could talk for hours and hours About dozens of different topics, but but let's, let's leave it there before we go. Where should people go if they want to find out about big binary or Nito and you know? Something that comes to mind is people come to me a lot and I invite this. People come to me who are looking for jobs and I like to help people find jobs because I think it's just good karma and that will come back and stuff like that. I can help people in the US, but often people outside the US.

Speaker 1:

I can't help, but it's occurring to me that maybe people in India can look at Big Binary as a potential employer. Anyway, anything you want to share about Big Binary and Nito and all that.

Speaker 2:

Yeah, definitely so. At Big Binary, from time to time we hire because of the way things are set up in terms of payment and all those things we hire people who are staying in India, or at least your bank account needs to be in India. So what happens? Because you're remote, well, you're in India and then some people have moved to, say, dubai, germany and other places for six months a year. So they're not technically in India, which we are OK with, but your bank account needs to be in India. Otherwise we have to deal with a lot of tax and overseas tax and the accountants, and all this is quite complicated. As far as BigBinary and Neto is concerned, the best place to find all the information is bigbinarycom and netocom.

Speaker 1:

Awesome, neeraj. Thanks so much for coming on the show.

Speaker 2:

Well thanks for having me. It was a blast and I don't know how much people know about testing, but I do want to plug in that thank you for giving me the Rails testing book at the conference. I got an early copy of it and, as I said, I finished like 60% of it. So yeah, I am guilty of not finishing the book yet, but whoever is listening, please check out the book. The book is pretty awesome.

Speaker 1:

Oh, thank you so much. That really means a lot to me. Yeah, and the book, dear listener, is Professional Rails Testing. It was released on Amazon on October 22nd 2024. So you can go check that out if you're interested. And again, neeraj, thanks so much.

Speaker 2:

Before I go, one last thing I want to mention, because since I've been programming for a very long time and we hire a lot of junior engineers, one of the common testing mistakes that I see is they test the implementation and not the behavior. And just remember that, because that was the first thing I said, because it was surprised that I didn't know that he was writing a book on testing. So when he gave me the book first thing I asked him that have you written? So he flipped the pages and showed that particular point. So go particularly pay that attention to that section, because we see senior engineers we hire senior, senior, they are phenomenal and everything when it comes to testing. They will implement the, they will test the implementation. And when I ask and say, okay, I don't know how to affect, so it could be a bit tricky, spend time, find out, but there is no point testing. We are not writing the test to write the, to test the implementation, always the behavior. And book does a good job of covering that. So check out that section.

Speaker 1:

Oh, thank you. Yeah, that obviously is a really important point. A lot of the tests I see are, frankly, written in kind of a perfunctory way, like they write the test just so they can say they write a test and get their poll request approved. Say they write a test and get their pull request approved. But this book, my intention, is to help you make a shift to think of testing as not just this extra annoying thing you have to do, but really as the center and the starting point of everything. And it's not about having the discipline to write tests, it's about growing to a point where it would be unthinkable for you not to write a test.

Speaker 1:

And it's again the starting point and the center of it Exactly.

Speaker 2:

And that's where the culture thing that we talked about each organization. As long as it's an extra thing you need to do, you are missing the point.

Speaker 1:

Yes, exactly.

Speaker 2:

It needs to be so well weaved into your culture of building quality software that it's not an extra thing. It's at par with feature development. It's part of the feature.

Speaker 1:

Yeah, man, this is a whole other can of worms.

Speaker 1:

But that's something I do consulting on is helping people with testing, although I I always find near edge that when I start to help people with testing, that's not the main problem. It's like, yes, okay, you do need help with testing, that's right, but before we can even do that, it's like we need help with project planning and like developer habits and stuff like that. These like really really fundamental things because, like testing isn't independent of these other things. Like there need to be healthy practices in place upstream of testing that flow into testing in order for healthy testing to be possible.

Speaker 2:

Exactly, it's all about, like the developer experience, and it's a more of a process slash, mind shift, if you are able, and which is very, extremely hard. I mean not for just for the people in general. Human beings we don't like to change our mind about things very often, right, because my identity is attached to oh, I do this way and now suddenly I need to change, so that's what it's. That's why the bringing about the cultural change is really really hard, but well quality. That's why there are a lot of shitty software which doesn't work. All the time you go and click on it and it's not working yeah yeah, and I hate to say it but.

Speaker 1:

But if you become a developer who is really skilled at testing, you're in the top. I don't know top 5%, something like that. It's not common.

Speaker 2:

Absolutely so. We were talking about how to make yourself more valuable to the organization. One of them is that, okay, once you have mastered that particular application layer, go a little beneath. Do that? Another one is obviously the performance In other vectors. A lot of people don't know how the performance like it. I, senior engineers, I had I asked two questions about connection pooling okay, we have this. People don't know how the connection pooling is working and things like that.

Speaker 2:

Another thing is security. Well, just okay. Well, uh, they do basic, because real does such a good job of protecting by default, but you need to know more than that. You have now if you are trying to be, or does, such a good job of protecting by default, but you need to know more than that. You are now trying to be, or you are, a senior engineer. Testing is another area where, rather than just giving the lip service, understand how to write tests, how to effectively write the test and make it your part of the culture. Forget about the company. First, you need to be uncomfortable working in an environment where tests are not passing. If you are comfortable, then speak something about yourself, right?

Speaker 1:

You know, I had a funny idea near Edge we could do a podcast episode where you give me your interview, you grill me on these things and we see how bad I do.

Speaker 2:

Cool, now we can talk about it. But these are by bringing up these kind of topics which one might be uncomfortable with. That's how we make the software quality software, secure software, performance software, because software is not just getting the feature done.

Speaker 1:

Absolutely. Yeah, it's like in a way like any idiot can get the feature working. There's the other aspects of it, like to me a big part of it is the design of the feature.

Speaker 2:

Okay, sorry to interrupt. Suddenly the thought come to mind because what happened is that we were talking about security and as an auto company, we have this enterprise, one password program, and people are talking about why are we paying it? Because 100 plus people in the company, eight dollars per month, etc. It's costing. I said okay.

Speaker 2:

Well, I said recently you find a company somewhere in europe where they were storing the plain password in plain text. So I said that this is the reason why you need to get into the habit of putting things on a password manager. I'm not saying because of the big binary, once again, whether you're a big binary, mega binary or a tiny binary in your own personal life. Think about you are keeping the password. You're signing up for so many things. You're using maybe two, three passwords. One of those people, they have a password database, get hacked and you're using the password. Now suddenly you're vulnerable, right.

Speaker 2:

So pay attention what's happening in the industry. Because it's so important, you obviously pay for coffee etc, get bitwarden, whatever, and it's like if you don't have a 2fa, then there is extra work, but if you will pay for all the services, if you think this thing seriously, if you take these things seriously and you should, but because if you don't secure it and I said that with the rise of the ai things, more and more tools will be built. Well, kudos to the people. I'm not going to say that these ai, the people who are learning and building things fast is impacting. In fact, that's wonderful thing, but those people do not know still a lot of engineering best practices, which means a lot of these new softwares that will be coming in, which are quickly built.

Speaker 2:

They might or might not be storing password and I'm keeping password, as an example, in plain text or insecure manner, which means that there is more likely that you will. You will become vulnerable in case the password gets hacked or the database gets hacked. So if you use password or any password manager, you need to be disciplined only one time when you're creating the password, and the system also helps you that hey, you're repeating the password and things like that. So, yeah, I mean this is life has like. Being a professional means you need to be disciplined about so many things. It's not just about building the feature.

Speaker 1:

Yeah, I totally agree, and it sounds like there's maybe more to it that I'm not even thinking of, that you're thinking of. But the part that I think about a lot is designing the feature so that it's as far as the code goes, so that it's understandable, so that it's going to be not prohibitively expensive to work with in the future, it's not a confusing mess, and stuff like that. And then that even opens the can of worms of like product design and stuff like that, because the quality of the code base can never exceed the quality of the conceptual framework of the product. Most code bases are a mess because the conceptual framework that makes up the product is a mess, and so people think it's about like function, size and stuff like that and it's like, yeah, those things matter, but even more so is the conceptual framework that makes up the product. Anyway, yeah, there's a lot more to it than just building the feature.

Speaker 2:

And there also, that's where the seniority matters, because, for example, right now we are in the middle of designing the feature for in the new record, we started using it and a lot of people started using it. I don't create the folders, but some people ask for folders, so we added the folders feature. Now some people are saying that, oh, hr, people should not be able to see finance video. I said, ok, you're using it that way, then that's fine, like Google Drive. Now the question is we have at a video level some settings which you can see or not see. Now the question is that once you put it in the folder, should you be able to see it or not?

Speaker 2:

Because the title might be revealing the the, the cover image itself might be revealing something which I don't want you to see. But the biggest thing is that if I search for something, because now I need to record, you can search inside the transcript. Should this be included and not included? And what is the complexity of sending it to last success and making sure it's right? So ultimately we decided to do the security at a very low level. It's because if you promise a lot and you make a mistake, the cost is much higher.

Speaker 2:

So, that's why I see that the product design senior engineer me the same new to a lot of features, telling that, dude, engineering wise is. It's not just about the competency. We can all build the feature Is it maintain, maintainable, will it be actually work, or how easy or difficult it is to maintain? And these are all the complicated topics and these are the things that makes you again are you a senior engineer who can take on this kind of work or not? Ability to say, dude, admitting that this is too complicated, let's hold on, let's discuss. The product design is better to build things which works and easy to maintain rather than building a lot of things which, uh, half the time it works, half the time it doesn't work.

Speaker 1:

I totally agree. Um, adding a new feature is kind of like getting a puppy. It's like the puppy's really cute and and you want the puppy and you get the puppy. But then you realize, oh the puppy, it needs to be fed and watered and potty trained and all this stuff. And the puppy is going to grow up and be big and eat the furniture and stuff like that and cost all this money.

Speaker 2:

But people are only thinking about that cute puppy on day one when they adopt it. Good analogy yeah Okay, for real this time. This is the end of the podcast. Neeraj analogy yeah Okay. For real this time this is the end of the podcast. Neeraj, thanks so much. Okay, thanks, islam. Bye, thank you.