QA Friday 2015-Nov-27
Take Up Code - A podcast by Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes
Categorie:
This week’s question comes from Mark L. and Scott S. who have both noticed some companies hire programmers who all speak the same language. Spanish is a common example. And they want to know why. What are the benefits of a software development team that all speak a language other than English? I explain in this episode the importance of culture and how it really helps to match your primary customers. By itself, hiring programmers who all speak a language other than English won’t help you create better designed software. But it will help the software engineers to better understand the customer needs. And that leads to software applications that have more value for the customers. I also talk about the importance of keeping the source code as well as any other material such as log files in English only. These are resources intended just for the development team and I talk about some of the trouble you will have if you try mixing languages. It will make your source code harder to read if you mix other spoken languages into the names of your variables, methods, and classes. I suggest keeping everything English only that involves the actual software development and then make full use of the team’s preferred language and culture for everything else. You can listen to the full episode or read the full transcript below. Transcript I can answer this with one word. Culture. I should also say that this whole question really only applies to regions where English is the majority. If you’re listening to this podcast in a country where some other language is more widely spoken, then of course, you’re going to find teams forming that match the majority of local people available. Keep listening though because I have some suggestions that’ll help you also. A lot of times we think of software that’s designed and built for English speakers first and then gets modified for other languages later. But that doesn’t always have to be the best way. It all comes down to what your customers need. If your customers need and expect a certain language, then that’s what you should provide. Hiring software engineers who all speak the same language won’t automatically give you software that’s better designed but it will give you engineers who feel more comfortable with your target customer. And that’s always a good thing. The smart companies realize that engineers should not be kept isolated from the customers. Sure, you want some people on the team who’s primary role is dealing with customers because let’s face it, it takes a certain set of skills to enjoy programming and be good at it. Since we tend to get better at the things we do more often, it makes sense to have some roles focused on customer interaction because that’s what they’ll be best at. But for software developers to write more valuable software, it has to be perceived as more valuable by the customer. And interacting with the customer is the best way to gain this understanding. So if you have a customer base that identifies with a specific culture, then having a development team share that culture will help you establish better relations with your customers. Now that you have a large portion of the software developers sharing a specific language and culture, this will spread to other new hires and soon it’s easy to end up with an entire team of engineers that all speak the same language. There’s nothing wrong with this. But I would caution against letting this creep into the source code too. Here’s why: Programming languages are a language in themselves. They’re highly specific and detailed in order to provide instructions that can have just a single meaning. Now have you ever tried speaking in multiple languages at the same time? I’m not talking about learning multiple languages so you can switch from one language to another when talking to different people. I’m ta