Why These Tech Teams Turn to Python for Major Projects

Written by Madeline Hester
Published on Mar. 13, 2020
Brand Studio Logo

Python remains one of the most sought-after programming languages, according to a recent report by HackerRank that surveyed 116,000 developers from more than 160 countries.

Coding Dojo called it the “most lovable” programming language, praising it for its flexibility, versatility and ease of learning. Seattle engineers agree. Software Engineer Liam Sarwas uses Python to help build a system that detects newly registered domains in almost real time at DomainTools

“There are so many well maintained open-source projects that people in the Python community have built, and these projects have allowed me to focus on solving new and valuable problems instead of solving existing problems again,” Sarwas said. 

Whether applied to security threat analysis or customer education platforms, Python’s ease and adaptability complement numerous industries. Adrienne Domingus, senior software development engineer at Skilljar, praised Python for its approachability, open-source libraries and community support. 

 

Adrienne Domingus
Senior Software Development Engineer • Skilljar

Skilljar’s mission is to build the ideal customer education and training platform for mid-to-large-sized companies. For Domingus, Python is helping make that mission a reality. She said her team uses the Django framework and Flask for building microservices. Together, the technologies allow the Skilljar platform to better customize behavior so that customers can support learners on a personalized basis.   

 

Python project: We’re currently building out functionality to enable custom workflows within the Skilljar platform. This will be an event-driven framework that allows us to define custom behavior for specific customers based on the actions their learners perform on the Skilljar platform. We already support some of this functionality, such as the ability to generate certificates and notify them via email once a learner has completed a course. However, the new framework will give customers greater control over how the sequence of actions are configured and what events in the platform can trigger a workflow. Customers will have a much broader set of configurations to choose from. 

We are also laying the groundwork to increase the set of custom actions available, including calling into third-party services that our customers are already using. This involves designing a flexible system for how we integrate with third-party applications in a way that will reduce developer overhead to introduce new integrations. Eventually, vendors will be able to develop their own integrations with the Skilljar platform.

Python is such an approachable language with a broad ecosystem of well-supported open-source libraries.”

 

Why was Python the best language for the job?

Skilljar is built in Python on the Django framework. We also utilize Flask for a number of microservices and make heavy use of Celery for offloading lengthy tasks to background workers. Python is such an approachable language with a broad ecosystem of well-supported open-source libraries and community support. We feel good about continuing to invest in it for the growth of both our product and our team.

 

What impact will this project have on your customers, your company or the industry as a whole?

The ability to customize behavior within the Skilljar platform means our customers can better support their learners in a way that is uniquely tailored to their specific use cases. Workflows combined with an expansive set of integrations that work seamlessly within the platform unlock a ton of potential for the customer education professions we work with to make an impact on their learners and demonstrate how integral customer education is to the adoption of their products.

 

Liam Sarwas
Software Engineer 2 • DomainTools

Sarwas is building a system that will detect newly registered domains in near real-time at DomainTools. The company will use indicators from those domains to help customers detect security threats and conduct threat analysis on their own website. Sarwas praised Python for its async functionality, which makes optimizing performance at scale a breeze. 

 

Python project: I am building a system for detecting newly registered domains in near real-time.

 

Why was Python the best language for the job?

Python is a great choice because solving this problem requires spending a lot of time waiting on network traffic, so Python’s async functionality is crucial for performance at scale. The maturity of the ecosystem surrounding Python has also made development faster and easier. There are so many well maintained open-source projects that people in the Python community have built, and these projects have allowed me to focus on solving new and valuable problems instead of solving existing problems again.

The maturity of the ecosystem surrounding Python has made development faster and easier.”

 

What impact will this project have on your customers, your company or the industry as a whole?

As a business that is dedicated to making the internet a safer and more secure place for everyone, it is important that DomainTools understands the internet’s constantly changing ecosystem. We need to have timely and complete datasets in order for us to alert our customers about events or infrastructure that may be the work of a malicious actor. Domain detection is just the first step in our process, so improving it will have ripple effects throughout nearly all of our products, and will positively impact our ability to make our customers, and the internet, safer.

 

Responses have been edited for length and clarity. Images via listed companies.