36
© 2020 Bloomberg Finance L.P. All rights reserved. Growing a Python community at an enterprise scale EuroPython 2020 Online July 24, 2020 Marianna Polatoglou, Senior Software Developer Mario Corchero, Senior Software Developer 1

Mario Corchero, Senior Software Developer Growing a Python

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Growing a Python community at an enterprise scale

EuroPython 2020 OnlineJuly 24, 2020

Marianna Polatoglou, Senior Software DeveloperMario Corchero, Senior Software Developer

1

Page 2: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Overview

• What is Bloomberg• The start of Python at Bloomberg• The growth of Python at Bloomberg• Python Infrastructure• The Python Guild• How the guild works & focus groups• What we have achieved

2

Page 3: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

What is Bloomberg?

The Bloomberg Terminal is software that delivers a diverse array of information, news and analytics to facilitate financial decision-making.

3

Page 4: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

What is Bloomberg?

• A technology company, headquartered in NYC

• Founded in 1981

• 325,000+ subscribers in 170 countries

• Approximately 20,000 employees in 167 locations around the world

4

Page 5: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

What is Bloomberg?• 6,000+ software engineers

• 150+ technologists and data scientists devoted to machine learning

• One of the largest private networks in the world

• 120 billion pieces of data from the financial markets each day, with a peak of more than 10 million messages/second

• 2 million news stories ingested / published each day (500+ news stories ingested/second) with news content from 125K+ sources.

• Over 1 billion messages and Instant Bloomberg (IB) chats handled daily

5

Page 6: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

6

Page 7: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Python @ Bloomberg in the shadows

7

Page 8: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

A monster is born!

8

Page 9: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

An opportunistic monster was born

9

Page 10: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Let’s do SOA

myservice

• CreateItemRequest• ReadItemRequest• ProcessOrderRequest• TransformOrderRequest• CleanKitchenRequest• CallUserAboutItemRequest• PerformTaxDeclarationRequest• UnrelatedRequest• WhatIsTheAirspeedVelocityOfAnUnladenSwallow

10

Page 11: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

A community was born

11

Page 12: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

A community was born

12

Page 13: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

A community was born

13

Page 14: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Isn’t Python too slow?

14

Page 15: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Wait, this is so fast!

15

Page 16: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

External engagement to foster internal

• Contributing to CPython and other projects• Talks and sponsoring at conferences• Hosting external events.• PyLondinium

• + 1 on recruiting• + 1 on retention• + 1 on skill

16

Page 17: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Python Infrastructure

17

Page 18: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Python Guild

18

Page 19: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

No magic

• Active community

• Hard work

• Management buy-in

• Iterative reform

19

Page 20: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Our definition of Guilds and Guild Leaders

Communities centered on specific technical topics of interest and for the advancement of technology in Bloomberg.

Guild Leaders are charged to influence the use of the technology internally and engage with the technology community externally.

20

Page 21: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Guild organisation

21

Page 22: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Guild organisation

22

Page 23: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Conference engagementPresentations & meetups

Internal influence

Collaborative development

23

Page 24: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

24

Page 25: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

25

Page 26: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Conferences26

Page 27: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

External Events

27

Page 28: Mario Corchero, Senior Software Developer Growing a Python

Code Development28

Page 29: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Internal Events29

Page 30: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Pragmatic Recommendations

30

Page 31: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Training

31

Page 32: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

How We Organize

• Open meeting with Guild Leaders

• Newsletter

• Retrospectives

32

Page 33: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Community contributors heroes ❤

33

Page 34: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

What we have achieved

• A mainly C++ company that changed— “Why in Python?” “Why not in Python?”

• We have an active, ever-growing community

• Python Infrastructure team

34

Page 35: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

What’s next?

35

Page 36: Mario Corchero, Senior Software Developer Growing a Python

© 2020 Bloomberg Finance L.P. All rights reserved.

Thank you!https://www.bloomberg.com/careers