What is the difference in software development methodology at Investment Banks vs Tech Companies?
-
I work in an Investment bank as a software developer. So, I have pretty good idea of what goes on here. I am curious, how software development at a technology company (say Google) is different from Investment banks or may be any other non tech company. It is a common perception that a developer in a non tech company/ Investment Bank may not be as good as a developer at a tech company or a tech startup. What makes tech company developers better and what are the differences in software development methodologies in two industries. Also, what can I do in my day to day job to bring my technical skills at par with a developer in a tech company.
-
Answer:
Tech companies are usually much less ad-hoc and much better at project management. A tech company usually has more control over the requirements. If google doesn't come out with the latest feature, then its not the end of the world, and they would rather "do it right" than "do it quick." The front desk at banks are more schedule driven, and would rather "do it quick" than "do it right". If the trader or a regulatory needs the feature yesterday, you do everything you can to implement the future, even if you have to forget good software practices and design. Conversely, there are systems in which you'd rather "do it really, really, really right" even if it takes you years, or sometimes you have something that works that you really don't want to touch. This means that banking systems are this goulash of cutting edge technology interfacing with ancient legacy systems that no one understands and what's to touch. Banks are bonus driven, tech companies aren't. This means that it's better to deliver crap in October than something decent in February, because if your schedule slips, you lose out on this year's bonus, and no one will remember what you did next year. Also, if it takes you an extra month, but will save you tons of work after bonus season, forget about it. With the above, banks tend to have more political rules than tech companies. Get it done in Q3 or forget about it is an example of this sort of rule. Most tech companies haven't been in business that long. Facebook doesn't have to worry about accessing systems that were designed in the early 1990's with API's that date from the 1970's. A bank on the other hand has to deal with this.
Joseph Wang at Quora Visit the source
Other answers
I asked the exact same question during a phone screen with Morgan Stanley, Shanghai, attempting to land an internship there. The essence of the interviewer's answer is that the development cycle at Morgan Stanley is much shorter than that of a Tech Company, say Miscrosoft, the reason is that change in financial industry can be quite frequent and unpredictable, which entails a more flexible development methodology. I also had the impression that non-tech companies are technologically inferior to those tech giants until I was told during on-site interview that Morgan Stanley used many cutting edge software technologies in their product. Although I didn't get the offer, hopefully the above information could shed some light on your question.
Jian Peng
They should generally be the same. I have customers in the banking area and run a software engineering shop. In general, most software requirements can be roughly divided into two (2) big systems and ad-hoc requirements. Both software shops and banks generally have both. Big systems will follow a generally structured approach whether it is SDLC or Agile and have requirements clearly articulated. Ad-hoc requirements are quick and dirty solution with a few requirements but need to be delivered quickly. So less structured approach is taken. A typical investment bank will have a good mix of both. Big systems to standardize and ad-hoc to adopt to market demands quickly. This is particularly true for customizations. A software shop focused on bespoke work will have both as well and aligned to the demands of the customers. A product software shop will generally have more of the former but increasingly the beta forever approach to software development is increasingly making things more ad-hoc.
William Emmanuel Yu
Related Q & A:
- What's the difference between Windows vs. Linux?Best solution by techrepublic.com
- What is the difference between M.Tech and M.S?Best solution by Quora
- What is the difference between Sales, Marketing and Business Development?Best solution by Quora
- What is the difference between PC games in a box vs. jewel case?Best solution by Yahoo! Answers
- What's the difference between getting a certificate in a year or getting an AA for x ray tech?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.