Position: Python Developer
Category: Python
English level: intermediate
Years of experience: 8

- participated in successful implementations of complex software products with a large number of participants.
- managed a team of 5 people, so I can be a good team player
I have been working with Python for over 8 years.
I am an architect with 10 years of experience in the fields of design and construction. 

I have been serving as a BIM Manager at the largest development company in Lviv for the past 7 years. Prior to that, I managed a team of 5 people responsible for handling design and construction processes (covering approximately 1.5 million square meters) across the company's projects in Lviv and Kyiv. Our responsibilities included developing BIM models, creating presentation materials for sales, and calculating all volumes for project budgeting. To manage such a colossal workload with a small team, automation played a crucial role. I automated most of the routine operations, developed several integrations with other company systems, and actively participated in implementing various software products, such as project management systems, budgeting systems, and sales systems.

In the field of design, there are numerous routine tasks that can be automated to speed up work processes and enhance project quality. My journey into programming began with application for visual programming within Revit. However, the capabilities of the standard library modules quickly became insufficient for solving my problems. Fortunately, I had the opportunity to write custom modules in Python, which led me deeper into the world of programming. As the complexity grew, I started developing my applications from scratch without Dynamo. In Revit, there are several modules that allow executing Python code and accessing the program's API. With an expanding codebase, I encountered challenges in maintaining the already written code. To address these issues, I started learning about algorithms, patterns, and software architecture. Additionally, versioning problems emerged, such as determining the current version and managing files. It was at this point that I became familiar with Git, which resolved all my versioning issues and provided a clear understanding of the development pipeline, testing, and code delivery to end-users. Eventually, I shifted my focus from design to the automation of design and programming processes.

Due to the increasing adoption of web technologies within the company's systems, I  learning web technologies, including:
Client-server interaction technologies like REST, SOAP, GraphQL, sockets, etc.
Python web frameworks: django, flask
Related technologies such as SQL databases, ORM, and testing frameworks.
I have thorough knowledge of Python. But i used them in the applied field, not directly in the field of software development.