1

So I am a new intern in a big company. During my interview my (now) n+1 asked how confortable I am with 2 informatic langages and If I would be able to their problem with them. I answered that I am very confortable with both, that the first one is not suited for their problem but I would be very happy to solve their problem with the second one. My n+1, who has the same formation in the same school, entirely agreed.

I got the internship and began 2 weeks ago. The managers (n+2, n +3) asked me to solve their problem with the first langage, because they love a certain feature, wich is of course absolutely unuseful for what I need to do. As it is a very technical job I will never report anything to them. I know that I probably can't see all the pros and con but the first solution is very unpractical. I feel like I have been asked to put nails with a red screw driver, because it is red, so it is pretty, so it is probably effective. I spend almost 80% of time dealing with problems/bugs/slowness I won't have with the second solution and I will probably spend the next 6 months dealing with the same problems/bugs/slowness. My n+1 know the issue and agree with me but won't make a move.

I suggested thet I find the results with the second solution and re-code it after with the first, but they refused.

How can I deal with that ?

As I don't want a specific answer to a specific question, I didn't mention the langage/feature/problems earlier. Just so you can visualize: I am talking about complex Monte-Carlo simulations with Excel, not VBA, directly in the spreadsheets because it has nice graphs versus an implementation in R/Python.

  • 1
    Can you not code it in python, call the python script from excel and then display the values returned by python in an excel graph? – Étienne May 4 '14 at 18:24
  • No, I am not supposed to do that. – lcrmorin May 4 '14 at 18:28
  • 1
    What is n+1 vs. n+2 and n+3? It makes the question far more difficult to read. Any chance you could edit your question to clarify who these people are in a slightly more understandable way? Thanks in advance! – jmac May 12 '14 at 5:04
7

Don't question why the bosses insist on the output in Excel... in all likelihood, they need to pass it on to someone even less technical above them. People are comfortable emailing Excel spreadsheets and delivering Powerpoints -- and uncomfortable with models that require a command line or interacting with a web site.

If you plan to suggest alternatives, you need to emphasize how they help your boss -- not how they help you.

  • Shorter development time -- by using existing, tested, debugged R or Python libraries, you'll be able to complete the job in __ fewer days/weeks.

  • Prestige and/or increased reliability -- also by using R or Python libraries, when they were developed by Professor of Applied Mathematics __ at University __. (as opposed to "developed by our intern")

  • Better output -- R or d3js can produce even prettier, and often more informational, graphs than Excel.

  • Avoiding foreseeable pitfalls -- because Excel's random number generator is known to be weak, it is an especially poor choice for Monte Carlo sims, and may produce biased results that may make your boss look uninformed/unreliable once reality doesn't match the simulation.

If utilizing Excel really appears to be important to your bosses, consider proposing hybrid solutions that address some of the issues above but are still native Excel: there are (free) Mersenne Twister add-in's for Excel which will ease development and improve trust-worthiness of your output. There are also (non-free) native Excel Monte Carlo implementations (http://en.wikipedia.org/wiki/Comparison_of_risk_analysis_Microsoft_Excel_add-ins)

In any case, you probably have at best, one opportunity to suggest these alternative options to your bosses. If you do, go in armed with concrete examples (that you've researched in your spare time -- don't let your bosses think you've been wasting company time avoiding the work you were assigned). If they still insist on the original spec, suck it up, don't be a whiner, and follow directions -- you're only an intern.

  • 1
    I disagree with this somewhat. Bosses telling you how to do something instead of what to do is the definition of micromanagement. If they need it in Excel for their bosses, that's a fine requirement - but they shouldn't care how it gets there beyond it being correct and swift. – Telastyn May 9 '14 at 17:39
2

Probably one of the most important things you can gain from an internship is learning that in the business world there is no such thing as purely technical problem. Becasue of that, what seem, to the idealist, to be the best solutions are not the ones the business chooses or needs. Nor should they be.

Things besides pure technology that have to be considered might include:

  • Politics
  • Delivery time
  • Sophistication of the end user
  • Ease of Use
  • Ease of development
  • Current technology stack
  • Experience and capabilites of staff
  • Likelihood of being able to hire people to maintain the system if the orginal dev leaves
  • Other systems it has to interface with
  • Client technology stack
  • Specific requests from the ultimate user of the product (if the client tells you he wants in done in C# you better not deliver in Java even if Java is better for this specific task)
  • Business needs and specific requirements
  • Deadlines
  • Past experience (if you are suggesting using something that has caused problems in the past, then it may not now be considered because everyone remembers all too well the time XYZ done with the same technology brought down the production servers for days and how hard it was to clean up the resultant mess)
  • Conservative attitudes
  • Manager personalities

The relative importance of these various factors tied in with the actual technical capabilities will vary from project to project. It is the manager's job to consider these things when making decisions and because he is considering factors that you either didn't know about or care about is why the decision is not the one you wanted.

This is why your immediate boss didn't fight it because he understood that the higher ups are considering a broader range of things than you were. Also you have to understand there are times when you can fight decisions and times when it is not useful to fight them and your boss uses up some of his own power if he chooses to fight decisions made higher up and so he reserves that for times when the issue is truly important to him. The personal desires of an intern to use a different technology is probably not one of those times when he feels the issue is important enough.

Further the best time to present other ideas is before a decison is made. If you want to get effective at getting your ideas adopted, you need to be pushing your ideas as early in the process as possible and you need to be operating from a postion of strength (which generally an intern is not). You need to show the business reasons why your ideas will work. How do they relate in terms of money saved or profits earned or problems solved.

No one above the first line of supervision is going to want to hear why the technology of your idea is better, they want to know what the solution does for the business need. Learn to do decision analysis and cost benefit analysis. Learn that emotional arguments hold much more weight than purely logical ones and that emotional arguments disguised as logical ones are often the most effective. Then find a way to make sure you meet the emotional need of the decision makers in your presentations of possible solutions.

If you are still in school, then take a debate class. You will learn how to frame a successful argument to enable yourself to win out when solutions are being proposed. Of all the classes I took in college, debate turned out to be the most useful (with number theory a close second).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.