DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Data Engineering
  3. Databases
  4. PyDev of the Week: Oleg Broytman

PyDev of the Week: Oleg Broytman

This week's PyDev of the Week is Oleg Broytman, maintainer of Python's SQLObject project. Come find out how Oleg got started with Python, the projects he's using it on, and his favorite Python libraries to use.

Mike Driscoll user avatar by
Mike Driscoll
·
Jan. 10, 17 · Interview
Like (1)
Save
Tweet
Share
5.12K Views

Join the DZone community and get the full member experience.

Join For Free

This week we welcome Oleg Broytman (@phd_ru) as our PyDev of the Week. Oleg is the maintainer of the SQLObject project. According to their website “SQLObject is a popular Object Relational Manager for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes.“. You can also see what else Oleg is a part of via GitHub and his website. Let’s take a few moments to get to know Oleg better!

Can you tell us a little about yourself (hobbies, education, etc.):

I was born in the Central Asian part of Soviet Union. I relocated to Moscow, Russia to study computer science at CS department of Moscow State University. I started to program before IBM PC era, my first computers were Soviet clones of PDP-11 and IBM/360.

Outside of my professional job I spend a lot of time with computers taking parts in Free Software projects.

Other than that I live a usual life spending time with my family, reading books, listening to music, watching videos.

Why did you start using Python?

At the end of the DOS era, I’ve got a habit of writing a lot of huge bat-files to automate every routine thing I did with computers. I was using a lot of helper programs and a number of different command line interpreters (command.com was definitely inadequate for my needs). Once a friend and a colleague of mine looked over my shoulders and saw those scripts. He advised me that I should try shell scripting in Unix.

Somewhere around 1995/96 when all people were switching from DOS to Windows 95 I started to switch to Unix (BSD/OS and SunOS initially, Linux and FreeBSD later). I learned shell scripting and all those small sublanguages (awk, grep, sed and all that). It was really nice but I needed something more so I tried a number of bigger and more complex languages. I didn’t like most of them. Perl 4.036 was especially hard; certainly not my kind of a language.

In September 96 another friend suggested to me to try Python. I started to look at it and found that it suits my brain much better that anything I tried before. In October Guido van Rossum released version 1.4, and I was sold. I subscribed to the mailing list @cwi.nl and the rest is a history. 20 years later I’m still around.

What other programming languages do you know and which is your favorite?

Pascal, especially Object Pascal. Before switching to Python I was using a lot of different compilers (remember, I was using different pre-IBM PC architectures and OSes). During DOS era it was mostly Borland/Turbo Pascal. If I were to drop Python now I’d use FreePascal except for the web.

As a web developer, I write a lot of client-side JavaScript. Without Python I’d use full-stack JS (NodeJS + clent-side JavaScript) for web development.

I still love shell scripting and write big and small scripts every day.

What projects are you working on now?

Professionally I am a programmer working in health care. Initially, it was by accident, but now I’m happy it turned out that way. Since 1990 I’ve been working at telemedicine laboratory of National Research Surgery Centre (sorry, our sites are mostly in Russian).

In the 1990s, I was using Turbo Pascal to develop computer monitoring programs that monitor the status of a patient during open-heart surgery, collect information, present it to the anesthesiologists, and save to a database. Somewhere around 1996/97, I started to use Python to implement the web interface to the database. I am still working on it – both on Pascal programs and Python web interface.

Unfortunately, the salary is low so I regularly have to find side contracts to gain money for my family. Currently, I am involved in developing yet another Certification Authority. It is not free software but we publish a lot of free software libraries:

  • https://github.com/SmartTeleMax
  • https://github.com/riffm
  • https://pypi.python.org/pypi/pygost

At the front of Free Software, I am the maintainer of SQLObject. I started to use it in 2004, joined the development team at around 2006, and I’m still supporting it.

Which Python libraries are your favorite (core or 3rd party)?

Not exactly libraries, rather development tools.

Virtual environments. virtualenv and virtualenvwrapper. Recently I fixed a minor problem with bash completion in virtualenvwrapper and now I recommend everyone to try it. Combine that with the power of setuptools and convenience of pip.

pytest. I am amazed by its tricks (rewritten asserts), detailed tracebacks, and error messages.

tox. I have been using it for some time already but only recently I started to understand the power of its declarative programming.

Sphinx. flake8; I use it via vim-flake8 plugin. lxml (finally a library!)

Where do you see Python going as a programming language?

In all possible directions. Python is used in science and industries, in healthcare and web development, in cryptography and database programming, big data and deep learning neural networks, desktops, servers, mobile platforms, GUI, command line, daemons, w32 services, millions 3rd-party libraries for any task. There are very few areas where Python is an inadequate language.

What is your take on the current market for Python programmers?

Oops, this time I must admit I don’t know. I seldom change job. I have been working at NRSC since 1990. When I work as a contractor I usually work quite long – 10-12 years.

But when I’m looking for a new contract I find it, and usually quick enough.

Thanks for doing the interview!

Database Relational database Python (language) Free software

Published at DZone with permission of Mike Driscoll, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Comparing Map.of() and New HashMap() in Java
  • Spring Cloud
  • Apache Kafka Is NOT Real Real-Time Data Streaming!
  • How To Build an Effective CI/CD Pipeline

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: