Sorry for the n00b question, I have only worked for 1 company so I am genuinely curious about what other companies are doing.
At FB, we have php for web server but all serious backend services are written in cpp or Java, communicate with RPC, but I heard Lyft is using Python Flask for everything, is this true?
It sounds like a web framework, and communication is on REST? Without much investigation, personally I highly doubt its performance, is this a valid concern? Do you guys not have to handle large scale cases?
Want to see the real deal?
More inside scoop? View in App
More inside scoop? View in App
blind
SUPPORT
FOLLOW US
DOWNLOAD THE APP:
FOLLOWING
Industries
Job Groups
- Software Engineering
- Product Management
- Information Technology
- Data Science & Analytics
- Management Consulting
- Hardware Engineering
- Design
- Sales
- Security
- Investment Banking & Sell Side
- Marketing
- Private Equity & Buy Side
- Corporate Finance
- Supply Chain
- Business Development
- Human Resources
- Operations
- Legal
- Admin
- Customer Service
- Communications
Return to Office
Work From Home
COVID-19
Layoffs
Investments & Money
Work Visa
Housing
Referrals
Job Openings
Startups
Office Life
Mental Health
HR Issues
Blockchain & Crypto
Fitness & Nutrition
Travel
Health Care & Insurance
Tax
Hobbies & Entertainment
Working Parents
Food & Dining
IPO
Side Jobs
Show more
SUPPORT
FOLLOW US
DOWNLOAD THE APP:
comments
If most of the API is just waiting for an RPC call from another service (including a DB call), then it doesn’t matter what you use as that’s the bottleneck.
Even vanilla Python can be super high performant. Python has a wide array of tools to run code that would be slow if you wrote it in python and runs it in C/ASM.
People use python because it’s really fast to develop in and has so many tools because it’s so flexible.
But given all that, I’ve done Python at 3 different companies and 3 different scales (in terms of project size/number of lines of code) and I would not recommend it if you expect your application to be > 1000 files. It just doesn’t scale well from a development point of view IMO. You start to slow down with each file added. Much much harder IMO to find bugs than a typed language and that’s about to me when the pros don’t out way the cons anymore.
Where is the expensive processing? What is the operation? Pandas/numpy data manipulation is likely just as fast as your C++/Java implementation.
HFT is too fast for python, but the difference between 150 and 200ms on the UI is not noticeable (I think threshold is like 75ms).
I’m not enough of an expert to know, but could estimate, that python applications probably cost more. More time per request and likely more servers needed to balance load.