73

Preface: I'm still a rather inexperienced junior software developer working at a German start-up company for about 2 months gathering my first experiences of "the real world".

I am currently dealing with a foreign contact about implementing an API of theirs. Only problem is that unlike the last time I had to do something like this, it now is all in a language foreign to me. I have to implement an API where everything is in Italian: the data being sent from the API as well as the documentation of said API. I got a 3 page "description" on how to get certain data but this description document explains Italian variable names and values with yet more Italian words, which makes it almost impossible for me to work on implementing it into our own systems (more specifically mapping the values correctly so we get usable data into our databases and the correct places).

I went back and forth with this guy and today I asked him to translate a few things of the original Italian documentation that are relevant to me and my work (not the entire 28 page thing) and he's either unresponsive or sends me back the full 3 page description I already had when I was assigned to the job. It seems like there is either a language barrier or he just doesn't care and will keep copy-pasting the same 3 page document into every inquiry I ask for help.

My superior expects me to implement the API on the basis of "Well, we have to make do with what we have" (he's the senior developer and IT lead) yet I'm having serious second thoughts if this is even going to turn out at all. Although there is a colleague who speaks fluent Italian she's caught up in her own work and can't be spared at the moment which she made perfectly clear to me the first time I asked for her help in translation. However, she has said that she cannot make sense of it. I also don't fault her for being unavailable.

Trying to translate the documentation via a translation service like Google Translate or the integrated MS Word translator (probably Bing) turned out to yield unusable or incomprehensible results. So that is not an option.

So the main question for me at this point is: How am I supposed to respond in a professional manner to either the unhelpful responses from my contact person as well as the lax views of my superior towards me implementing an API I can't even begin to make sense of its data or usage?

SebinNyshkim
  • 742
  • 1
  • 5
  • 10
  • Comments are not for extended discussion; this conversation has been moved to chat. – Jane S Dec 12 '16 at 23:41
  • 22
    Could you clarity what country you are in? The answer if say you are living in Italy but don't speak Italian is different to that if you were say, living in England. – Vality Dec 13 '16 at 00:03
  • 3
    You have my empathy! We have all experienced something like this. For you it is Italian, for others it is medical terms, financial terms, etc. Just e-mailing the same ol' junk you already have is lazy. This is very typical. Sometimes, these barriers are impossible to get around, however, I have found that a person to person chat often helps. One example, the person to person chats did not help until there was a personal visit from across the Atlantic. While this may not be possible, keep trying and letting your boss know what problems you are having. You may have to underscore the difficulty. – closetnoc Dec 13 '16 at 03:53
  • 3
    Amazon Mechanical Turk...? (...Mechanical Italian?) – user541686 Dec 13 '16 at 08:02
  • 1
    @Vality I'm working for a German start up. – SebinNyshkim Dec 13 '16 at 08:24
  • 2
    Have you tried using (google translations or) using an online dictionary ? While this may slow down your work, I don't see it beeing a unresolvable problem. Also keep in mind that a perfect translation of the 28 page document won't magically solve all problems if the specs are written badly or things are not 100% thought out. – HopefullyHelpful Dec 13 '16 at 15:21
  • 4
    @PeterA.Schneider While I agree that it is unprofessional (only someone who speaks the source code as mother language should do the work), your claim is much too general. Many, many old systems are still running and used and have their source in a foreign language. Translating them is not an option until a rewrite. It is also not correct that everything should be or must be in English, e.g. law and finance are so localized and specific in countries that using English is foolhardy (A German Körperschaft is not identical to a corporation). – Thorsten S. Dec 14 '16 at 02:19
  • 1
    @SebinNyshkim you should edit the question to include the German detail, not just answer with another comment. – JDługosz Dec 14 '16 at 07:02
  • @JDługosz I don't see how this would improve the question, though. My native language is fairly insignificant when the key issue is that the language of the API data as well as the documentation is in a language I don't know. I could be from any other country (except Italy of course) and it wouldn't change that fact. – SebinNyshkim Dec 14 '16 at 08:33
  • @ThorstenS. You are right, legacy systems and the data proper can often not be in English. – Peter - Reinstate Monica Dec 14 '16 at 10:49
  • 2
    Being an italian software engineer and having worked 21 years over there, I'm pretty sure that the guy you're dealing with knows just a bit of English. His company hired a translator, but didn't want to spend the money for the full document. Now when you ask for info, the guy goes to his boss and the boss says:"Meh. Just send him back the English thing". So happy I moved to another country. – ChatterOne Dec 14 '16 at 15:35
  • 1
    @PeterA.Schneider There is literally no reason why everything must be in english. As an italian consulting at one of the largest italian banks myself, all the code I write is in a mix of english and italian, same goes for pretty much every single piece of software I've ever read. Usually actions are in english while subjects in italian, for example. A method would not be "updateDossier", it'd be "updatePratica". For one because there are loads of highly specific terms that are not easily translatable, but mostly, because it's extremely unlikely that any foreigner will ever look at it anyway. – Demonblack Oct 04 '17 at 23:35
  • 1
    Banks usually have such old code that was written when such standards didn’t apply. They’re also unlikely to expose their APIs to the whole internet so they’re free to write code in any language they want. Whether that’s helpful for anyone else is besides the point. Comparing a bank to a bus search engine startup is also ridiculous. If you’re writing an API to expose it to the world the language is English because that’s what roughly everybody learns in school nowadays and code and documentation is actually of use to anybody not from Italy. The majority speaks English not Italian. – SebinNyshkim Oct 05 '17 at 04:18
  • "You can also start looking for another job because your company will not stay competitive." The number one bank in Italy will not stay competitive because it doesn't force developers to write everything in english. Lol, sure. – Demonblack Oct 05 '17 at 11:22

8 Answers8

185

Refer this back to your supervisor. Explain that you need this document in English to complete the task. Your supervisor can then decide whether to a) pull the Italian-speaking colleague into the project, b) hire a translator, or c) take another approach.

Essentially, as senior dev, your superior should be able to get this resolved if you cannot.

JohnHC
  • 14,518
  • 9
  • 43
  • 51
  • 18
    Definitively the good answer, if they won't listen OP when he said he needed english documents, escalate. – Walfrat Dec 12 '16 at 13:04
  • 2
    Definitely the good answer. At work, there will always be obstacles that are beyond your control and you simple can not solve. Your duty is to make the best you can, but if something is simply doable, then it is your responsibility to report to your manager. – Tero Lahtinen Dec 12 '16 at 14:35
  • 28
    This is the most logical and professional course of action in general. However, not applicable to this question because the OP stated he tried this and failed, "Well, we have to make do with what we have" (he's the senior developer and IT lead). That means he can skip level or find a new job. IMO, software developers are in too strong demand to put up with such complete nonsense. The hardest lesson for me as a Jr. Dev is how much politics suck. He's probably getting dumped on as the low man on the totem. – P.Brian.Mackey Dec 12 '16 at 17:08
  • 11
    If the superior says that, the correct response is to try and make an estimate of how much time that would take. "Well, if I have to make do with what we have, I will expect this job to take about 3 months instead of 1 week, is that okay?" – Erik Dec 12 '16 at 20:43
  • 2
    @Erik - What will the OP say to this? "It's going to take me 3 months to go learn Italian. At which point I can tell you if I agree/disagree with my already fluent peer that this API doesn't make a lot of sense." Adding time around the issue only justifies their position. As a Jr. the last thing they need to do is spin their wheels on learning a foreign language or any other time killers that distract from the career of programming. – P.Brian.Mackey Dec 12 '16 at 20:53
  • 2
    @P.Brian.Mackey that's what they say. And if the superior says "okay, go learn Italian", then probably it's time to start looking for a new job. But still; if someone asks you to do X under circumstance Y, let them know how much time that will take and whether they're okay with it, then decide if you think it's worth the investment for yourself. – Erik Dec 12 '16 at 20:55
  • The hierarchy at my company is fairly flat and I proceeded in expressing my concerns in a rather lengthy email while arguing that this trial and error approach will take me considerably longer than if I just knew what certain API URI parameters and the data that's being sent back to me meant. I suggested that I can either waste time trying again and again to make it work and not being able to reassure it will work or spending time on another API in the backlog that I can make work in an acceptable amount of time. – SebinNyshkim Dec 13 '16 at 08:43
  • Being that my company is a start up the premise of me being assigned to learn a foreign language instead of improving my coding skills is highly unlikely IMO. – SebinNyshkim Dec 13 '16 at 08:47
  • 16
    Learn a beautiful foreign language on company's time? Where do I sign up for this? :) – Sergio Tulentsev Dec 13 '16 at 09:31
  • 3
    @Erik: "if the superior says 'okay, go learn ...', then probably it's time to start looking for a new job" - that may be your opinion, but I think one can have vastly different opinions on how to perceive that situation ;) – O. R. Mapper Dec 13 '16 at 10:52
  • 1
    Of course, but I don't think it's going to help your carreer as an IT-professional if you spend a bunch of time learning Italian. Your opinion may vary, especially if you'd enjoy working in Italy for example :) – Erik Dec 13 '16 at 10:53
19

This is unprofessional of your company. Assuming you're not working in Italy and you don't speak Italian, all the resources for the project have to be provided in English as well. Or at least with some explanation in English.

How are you supposed to do your job if you can't understand the descriptions? Explain your needs to the Italian contact person one more time. If they don't help you, it's up to your project manager/superior to provide you the information you need. If they give you a task and won't provide for you, they're ruining their own project.

Luchadora
  • 1,229
  • 8
  • 14
14

Escalate to your team lead and your PM and tell them that your not being able to translate this 28-page doc written exclusively written in Italian is a show stopper for you. And suggest that your Italian-speaking colleague be directed to do the translation - the sooner she starts with the translation work, the sooner she finishes.

Tell them that at this point, you're decisively slowed down. Your Italian contact is slowed down and definitely pissed with you because you are constantly interrupting him. Needless to say, your ability to cooperate with him is suffering some penalty points. And nobody is happy.

They've got to resolve this show stopper for you. That's all there is to it. Nobody should be giving anybody tasks without also allocating the resources needed to do the tasks.

Vietnhi Phuvan
  • 72,342
  • 8
  • 133
  • 268
  • Given that OP is a junior dev two months into the job, how should they suggest their (already busy) coworker is assigned to the task? Personally, I would be afraid of coming off as presumptuous and trying to do a manager's job. Is there a respectful way to approach it? – user812786 Dec 12 '16 at 16:13
  • 3
    @whrrgarbl - I don't care what level of seniority a professional has, the only thing that matters that the professional recognizes their responsibility as a professional, and ACTS like a professional by requesting the resources they need. You are worried about acting presumptuous, what's wrong with you? The only thing that you care about is that this Italian doc gets translated so that you can complete your task. If it turns out that you are the one who is holding up the team because you didn't ask for support when you needed it, guess who's the one who will be cracked down on? – Vietnhi Phuvan Dec 12 '16 at 16:56
  • 2
    @whrrrgarbl - I don't care what the team lead and the PM have to do to support you - pulling in the Italian-speaking colleague was simply a suggestion. They get to decide how they are to assist you. They have access to resources you don't have including getting the partner firm to do the translation. Bottom line is that you need this doc translated so that you can do your job and back the team by doing your job. At that moment, that's the only thing that matters to you. How busy the Italian speaking colleague is, that's not in your scope of work. The priority on your task is what matters. – Vietnhi Phuvan Dec 12 '16 at 17:04
  • Oh, I agree OP needs to ask for resources. I was concerned that saying "Hey boss, you should tell Alice to translate this doc for me" would come across poorly (especially since he has already asked her for help, and knows she is busy). That's what I meant by acting "presumptuous". – user812786 Dec 12 '16 at 17:07
  • 1
    @whrrgarbl - How did I become a senior professional? By acting like one, of course. – Vietnhi Phuvan Dec 12 '16 at 17:08
  • 1
    @whrrgarbl - No, you don't say "tell Alice to translate ..." that's obviously saying the wrong thing to the wrong people at the wrong time in the wrong way - you're also telling your senior and your management how to do their job and they have more ways to express their unhappiness than you can count - and you know that. Simply say, "I know that Alice is busy but she is Italian speaking". Let them figure out whether they want to use Alice or someone else. One more time: tell them what you need. Don't tell how to do their job. Especially when you don't have the info and the resources they have – Vietnhi Phuvan Dec 12 '16 at 17:13
  • 1
    @whrrgarbl - Learning HOW to ask for something is at least as important as actually asking for it :) – Vietnhi Phuvan Dec 12 '16 at 17:16
  • I see, I was interpreting the "suggest she is directed.." as more forceful than you intended. Thanks, that answers my question! – user812786 Dec 12 '16 at 17:26
  • 1
    Why does Alice need to do the translation? Technical translation services exist and are cheaper than paying a software developer of whatever seniority to do the translation. – Andrew M. Farrell Dec 13 '16 at 13:27
  • 6
    I have had exactly this problem. So we did: "Boss, we can't do this Italian stuff. We need an Italian". Boss: "Find me an Italian." Us: We want Enzo from the 2nd floor but he's tied up in big project Z. Boss goes to Enzo's boss and does boss-stuff. We get Enzo part-time till it's done. We needed Enzo himself because he knows our project and its buzzwords, and has clearance. – RedSonja Dec 13 '16 at 14:50
  • 2
    @RedSonja - I worked at an outfit where every time I tried to get away from the team, my former manager would have a lunch talk with my current manager and my old team would pull me back in. They told me that I was happy to be with them and they told me that I was lucky to work with them. So I was happy because I was told I was happy and I was lucky because I was told I was lucky :) They never solicited my opinion because they were never interested in it or concerned with it :) As a key member of the team, I was never able to escape from my team. – Vietnhi Phuvan Dec 13 '16 at 15:02
  • 1
    @RedSonja - You and your compadres handled it the right way. You didn't make something complicated out of something simple. – Vietnhi Phuvan Dec 13 '16 at 15:09
  • @WorkerDrone - the word "pissed" is used 80 times throughout this site. Get used to it. http://workplace.stackexchange.com/search?tab=newest&q=pissed Stop looking for offense where there is none. – Vietnhi Phuvan Dec 13 '16 at 18:18
5

Let's take a different angle... English speaking organisations hire non-English speaking organisations and then expect that they should be able to send specs and docs in English. Why can't it work the other way round?

Your organisation did not have to accept work from an Italian organisation, but you did, and you're going to have to spend some time with an Italian-English dictionary. Or hire a translator.

The only other possibility is that there was an agreement that all communication and documentation would be in English. In which case, get your boss to elevate it to their boss that this guy is not helping.

HorusKol
  • 27,459
  • 11
  • 65
  • 102
  • 8
    How does this answer help? OP is not working for the Italian company. What OP's company would do is irrelevant to this discussion. It could be that they'll bend over backwards for anyone who wants to use it, or they could take the same "not my problem" approach. It is on OP's company to either assist in working with the API, or to find a new API. – krillgar Dec 12 '16 at 13:57
  • "Although there is a colleague who speaks fluent Italian she's caught up in her own work load and even she can't make sense out of everything." There is something worse than (no) agreement on what language will be used. – Crowley Dec 12 '16 at 14:21
  • Maybe so, but how is that the OP's problem to solve? – Casey Dec 12 '16 at 14:43
  • The truth, whether we like it or not, is that it is expected to be able to read/write English - for most software engineers and for all companies who work internationally. You say “Your organisation did not have to accept work from an Italian organisation, but you did” – I would like to know if the initial approach from the Italian company was in Italian; I suspect that it was in English – Mawg says reinstate Monica Dec 12 '16 at 18:30
  • 2
    @krilgar the answer is that the OP could do the translation himself or arrange for a translator, but instead he keeps pushing back to the other guy even though it keeps ending in the same result. Yes, the Italian is a blocker, but so it's the OP. – HorusKol Dec 12 '16 at 21:26
  • If the OP's company didn't specify in the contract what language was to be used for communication, that's the company's problem, not the OP's. Almost by definition, "start-ups" are doing things for the first time, which can lead to this type of dumb mistake. If the company survives the experience, they probably won't repeat it. (Of course somebody in the start-up might have said "no problem, we already have an Italian speaker" and not stopped to think through the consequences....) – alephzero Dec 12 '16 at 22:53
  • 3
    I don't think it's possible for someone who doesn't speak the language to be able to properly translate a technical document. That's hard even for real translators. And the OP is likely not authorized to hire a translator himself. – Erik Dec 13 '16 at 08:35
  • 1
    @Erik: On the one hand, yes. On the other hand, there is a significant difference between creating a good translation of a document and just understanding what is said in it. Just as an example: I have never learned Portuguese, and so I would probably be totally unable to produce anything resembling a translated document based puon a Portuguese text. However, I speak Spanish and French as foreign languages, and with that knowledge, I am usually able to understand quite well what is said in Portuguese documents - be it news articles for common audiences, or also technical documents in my field. – O. R. Mapper Dec 13 '16 at 10:57
  • @O.R.Mapper when it comes to API documentation, I don't think you're going to get very far. They tend to be extremely exact and you need to understand them really well. – Erik Dec 13 '16 at 12:07
  • 2
    I can't agree - English is the language of IT. In some languages there is not relevant terminology for some concepts. In Polish we have some loan translation, that are meaningless. – DDT Dec 13 '16 at 15:31
  • 1
    @DTT I agree with your point. The majority of IT speaks English. You find the best solutions to IT problems in English. Heck, you ask questions on SO in English and search for questions in English. If I started using German equivalents for English IT terminology I would get weird looks most of the time. Also, most job ads require you to be fluent in English. If you or your company are doing business in a country that doesn't speak your language you likely default to English. Anything else seems short-sighted. – SebinNyshkim Dec 14 '16 at 08:55
  • @SebinNyshkim Didn't SIEMENS create a programming language based on German words back in the 1960s? – glglgl Dec 14 '16 at 13:32
  • 1
    @glglgl 1. I don't work for SIEMENS, 2. that was way before I was born and I had nothing to do with that so what are you even on about? 3. trying to fudge a counter argument based solely on my nationality doesn't make your argument more valid, 4. SIEMENS is known for coming up with some pretty stupid ideas, 5. apparently that language didn't stick around for too long and was a dead duck to begin with (I never heard of it), just like your comment is missing the entire point.

    You might as well criticize me for Microsoft localizing Excel formula function names.

    – SebinNyshkim Dec 14 '16 at 13:57
  • @SebinNyshkim Where do I fudge a counter argument? Where do I say anything about (or even against) your nationality (which seems to be the same as mine)? Where do I criticise you? I was just showing up an example where this idea has already been tried and indeed created weird looks. You are attacking me although you apparently didn't understand my intention for this comment. – glglgl Dec 14 '16 at 14:49
  • BTW, there were some Excel versions around which as well were programmed using functions in the local language. As weird as the other example. – glglgl Dec 14 '16 at 14:49
  • @glglgl You certainly didn't care to explain what you meant by that either and left it up to my interpretation, so you have no reason to feel indignant. My question was originally about how to approach my superiors, not my world views or asking to be scrutinized for making a statement about personal preference and best practices some people are apparently taking personally or have nothing better to do than distract from the actual topic. – SebinNyshkim Dec 14 '16 at 15:10
3

So your superior said "Well, we have to make do with what we have". Maybe that is factually true. It could be because these Italians are such a pain to work with, and they caused your superior some gray hair already, he doesn't want anything to do with them (which sounds not unlikely with your experience). Maybe they entered a contract to deliver software to you at a rock bottom price, have been losing money already, and the guy on the other side has been told by his boss to not spend one minute on helping you if it can be avoided. Things like that happen.

So you have 28 pages of documentation. Make a document with Italian on the left and English on the right hand side, by feeding everything into Google. Which is a pain in the **** and takes time, and the quality of the results is very, very mixed, but your boss knows that. Find someone in the company who speaks Italian and can check it (especially things that make no sense to you). Or get a budget to hire a translator for one day to check it.

Keep telling your boss how challenging this is and that you are up to the challenge (you need to get this right so when you are done he really, really appreciates your hard work, but you don't want to get on his nerves or look like a permanent moaner, get it just right).

The important thing is: Don't say that you can't do this. Say that you can do this, even though it is extremely hard. If you say you can't do this, then someone will do it, and you will look very bad. If you persevere, you will look very good when you get through it.

gnasher729
  • 169,032
  • 78
  • 316
  • 508
3

This question already has very good answers - as JohnHC said above, this is your boss's responsibility and he should either arrange a translation or take some other action (possibly escalate to the management of the Italian company and demand better support, depending on the case).

But I want to give you a more cynical perspective, since you mentioned that you are a new hire and your boss seems to be very dismissive about your difficulties.

You should consider the possibility that you are being deliberately set up to fail. Sometimes, the people involved in a project don't actually want it to succeed. This happens for a number of reasons: because of personal (ego) conflicts, because the person who sponsored the project is involved in some kind of political dispute, or maybe the project is losing money and someone needs an excuse to pull the plug. It sucks, but it happens. Unfortunately, one of the most convenient ways to do it is make it fail and then blame it on the "new guy".

If that is the case (I don't know if it is) then you might be in a hard place. You will get no love if you succeed but you will be blamed if you fail.

Eraser
  • 31
  • 1
1

Since you already went to your lead about this, it sounds like you need more detail for the leadership to understand the issue.

I would gather specific details as to what you are having issue with: specific examples of the API calls you're trying to use, the documentation you have available, the response or lack thereof from the partner, and the specific issue this is causing with your code.

Then, it depends on how your team works how to proceed. If you have a scrum, consider bringing this up in the scrum. Maybe some of the other team members have ideas or have hit this problem before - or know how to work around it.

If not, and also if the scrum doesn't help you any, bring the examples and details to your team lead. Instead of asking "how do I deal with this Italian whatnot", give the specific examples and ask for suggestions for how to deal with the specific issues. Either your team lead will give you advice for dealing with the specific problems, which you can then either generalize for the other problems or continue to bring issues on this basis to him/her, or he/she will understand the level of problem you are facing and help escalate it.

Ultimately it sounds like the partner is not being helpful, and so the true solution will be someone higher up (probably in some other role, such as vendor relations or sales or whatnot) will need to interface for you. But getting leadership to understand this is key first, and it's important to go forward with lots of details and documentation so they have the most complete understanding possible.

Joe
  • 16,050
  • 3
  • 40
  • 76
0

Why not just plug the whole document (or maybe the parts you don't understand) into Google Translate!? OK it's not perfect but you should end up understanding it a whole lot better...

komodosp
  • 5,720
  • 17
  • 26
  • 6
    That's what my lead dev expected me to do and it did not yield any useful results because apparently Italian is such a diverse language that Google Translate does not get most of the meanings right and the translation itself as a whole is nonsensical. This has also been suggested multiple times already. – SebinNyshkim Dec 13 '16 at 09:23