About How Open Source Contribution Landed Pratyush
Pratyush is a software engineer at OpenBB Finance, a financial startup based in the US that develops Terminal Pro, a web-based software for equity analysts and investment research professionals. He works on the platform division, which serves as the engine that powers the company's other software products.
Episode Summary
- Pratyush shares his unique work schedule as a remote employee in India working with a US-based fintech startup, including his unconventional sleep pattern of 5 AM to 11 AM to coordinate with global team members.
- He discusses his detailed approach to time management and task planning, including thorough preparation when new sprint tasks are assigned and his method of breaking down complex problems before coding.
- The conversation explores his commitment to code quality and ownership, including his practice of adding detailed comments, asking colleagues for clarification, and ensuring his open-source contributions maintain high standards.
- Pratyush describes an exciting recent project where he built a documentation generation system that automatically creates README files for the OpenBB platform website from existing code structures and Pydantic models.
Key Takeaways
- Invest significant time upfront in understanding and planning tasks before coding - spend entire days researching, talking to colleagues, and mapping out the approach before implementation.
- Take ownership of code quality beyond your immediate responsibilities by adding comments, asking questions about existing code, and ensuring your contributions are maintainable for future developers.
- Develop consistent time management habits early, including time blocking and daily planning, which can serve you throughout your career regardless of changing schedules.
- When working on open-source projects, remember that your code is publicly visible, which should motivate you to maintain high standards and write readable, well-documented code.
- Use effective sleep management techniques when working unconventional hours, such as controlling lighting and using passive activities like watching shows to wind down.
Productivity & Success Habits
Pratyush has developed sophisticated time management habits that trace back to his school days. He follows a unique schedule working from India with a U.S.-based team, sleeping at 5:00 AM and waking at 11:00 AM to align with international colleagues. His day starts with planning and time blocking: "I start blocking my time on that basis so I get ready and so I start around you would say 3:00 p.m. I start my work." This disciplined approach began early - he started waking up at 4:00-4:30 AM in fourth grade to study harder when he felt he was struggling academically.
His project management approach is methodical and thorough. When assigned new tasks during bi-weekly sprints, Pratyush dedicates entire days just to understanding the problem before writing any code. "When we get our task assigned... I go on that day I do not do any programming I just review whatever the task I have I talk to people." He researches extensively, reads official documentation, experiments with solutions, and creates clear daily goals. This preparation phase includes going through each file "like that I am going through breath first search" to build a logical understanding of how everything works.
Pratyush maintains a strong commitment to quality over speed, completing 95% of his sprint tasks when they're well-defined. His philosophy centers on code ownership and continuous learning: "I always strive for Quality code to me quality code is more important than like completing the task." He leaves detailed comments in his code, including occasional "Easter eggs" and quotes, and always asks permission before modifying others' work. This attention to detail and respect for collaborative development reflects his deeper belief in maintaining high standards regardless of external pressures.
Notable Quotes
"I believe in code ownership so whenever I'm writing a code even if it's like you know if I'm working on someone else's code I go and ask the person... because I think that somebody else over there would be like me who's trying to understand the code but he would not understand why it was written there in the first place."
— Pratyush Explaining his philosophy on taking responsibility for code quality and leaving helpful comments for future developers.
"To me quality code is more important than like completing the task... I always strive for Quality code because in our software is open source it's you can see my like commits every day so the problem is that whatever I do is going to be in the public space."
— Pratyush Discussing his approach to sprint completion and prioritizing code quality over speed when working on open source projects.
"Comments should be there to indicate why it was there the intention behind using that line of code because there are multiple ways to doing the same thing."
— Pratyush Explaining the difference between what code does versus why it was written that way when discussing documentation practices.