Week 5: Bloomberg Engineering and Project Evaluations

Listening to Kevin Fleming talk about engineering at Bloomberg was one of the more awesome talks I have had the fortune of being a part of. Being an engineer at Bloomberg, I imagine its quite unique and rewarding to find yourself receiving the benefits of working at a large corporation while being able to contribute to open-source software.

I found it interesting when Kevin mentioned that they operated on finding open-source projects they could tweak for their purposes, instead of building a closed, in-house solution for themselves. I know that companies often use open-source projects as part of their internal-tools and commercial projects, but it was refreshing to see that Bloomberg provides added functionality back to the community. I would be curious to see how Bloomberg stands in comparison to other companies of similar scale in terms of activity in the open-source community.

I was also new to understanding what TypeScript was and the role it played in the web-development community as a sort of playground before something was incorporated into Javascript. Interestingly, it seems that the community sees Microsoft as a primary maintainer of the TypeScript project, but looking at the Bloomberg repository, it seems that Bloomberg is incredibly active as well. I don’t know enough about web-development and the language to understand the intricacies, but I’m curious to learn an overview of what the differences between the two projects are. It would also be fun to know how often the two teams communicate and make pull requests for each other’s forks.

Kevin also mentioned how it would be difficult for newcomers to immediately contributing to some of Bloomberg’s open-source projects, considering they require specialized knowledge. I found that to be an important tie-in with our class discussion regarding project evaluations. While I felt that most people found it relatively easy to gauge whether their project would be easy/difficult to jump into, I had a slightly tougher time with that aspect of evaluating the Jupyter Notebook project. Although, I err towards the side of it being difficult simply because of how large the project is.

I think a great way of finding a suitable project is looking at some of the tools I use often or have used in the past. Although using doesn’t necessarily always give you the knowledge for development, I think the familiarity and care for the project makes a huge difference. I’d also be more inclined to work on a project that does not have an overwhelmingly large development community, mostly because I wouldn’t enjoy the constant pressure of getting something done before someone else is able to because they have more experience or time.

Moreover, from the class discussion, while I think its important to have good documentation, I don’t think missing documents like code of conduct and contributing are fatal to project selection. Both of these can very easily be added on and a lack of these is not necessarily a lack of invitation for collaboration. I feel that it may sometimes represent contributors not expecting any outside help at all!

Written before or on February 29, 2020