Position: Senior Python Software Engineer
Company: SoftServe
Experience required: 3y
Category: Python
English level: intermediate
Published: 2022-02-01T00:00:00+02:00

WE ARE
Our client is a rapidly expanding real estate market intelligence solution, which provides a suite of features and services for the professionals working in the field of real estate as well as their clients. As a complete workflow solution, the client allows real estate agents to grow their businesses by offering differentiated service to their clients more efficiently. They are built on a comprehensive database of real estate data constructed from myriad public and private sources. Together, the data provides a rich foundation for evaluating the market and helps professionals develop hyper-personalized, actionable insights for their clients in seconds. 
The client is in the process of expanding to the nation-wide real estate market of the US and taking over existing real estate listings in the country. SoftServe will help them in this endeavor by providing experienced Python developers to work with the client's application backend and assist with the ETL workflow that will be set up for data ingestion. They require assistance in eliminating their current technical debt and scaling their architecture, and they intend for us to eventually take over parts of their backend applications. 
The client is also improving and expanding a brokerage platform they developed and requires experienced developers to work with the platform’s backend. The platform is a suite of different CRM tools related to real estate and includes such features as listing management, agent modules, analytics. The platform has an advanced search and filter system, allowing users to find apartments and analyze the most accurate real-estate datasets. It offers a blazing fast real time analytics on the property market driven by Elastic Search, and it provides users with an option to export custom reports for their clients by choosing what information to include and how to display it. 
Experienced backend engineers are needed to take part in all stages of the product development and deployment lifecycle. As part of the client’s small team of developers, we'll collaborate with everyone on building out the team, processes, and tech stack, as well as work on growing both the client’s team, business, and technology.
Here is the overview of the customer’s current technical environment:
Applications backend is implemented on Ruby on Rails.
Elasticsearch is used for search functions. 
Primary database environment is RDS with Postgres. 
There is an extensive use of different AWS offerings.
Frontend is implemented with Backbone/Coffee Script, and the client is in the process of migrating it to React.
YOU ARE
A senior software engineer specializing in Python with the following background and skills:
BS or MS in Computer Science, related technical field, or equivalent experience
7+ years of experience collaborating on software development projects
Deep expertise in Python/Django
Past experience building complex software systems that have successfully been delivered to customers
Ability to question assumptions, experiment with new technologies, and being excited about the development of reliable and maintainable systems
Strong interpersonal communication skills
Upper intermediate English level for regular communication within the client’s team
Bonus points for any of the following:
Working knowledge or experience with AWS offerings (EC2, RDS, CloudFront, ECR, S3, and Route53), Elasticsearch, or PostgreSQL
Building and maintaining low-latency ETL workflows; data ingestion/aggregation
Delayed job or other message queue implementations
Implementing RESTful APIs and, in particular, OData-compliant services
Working with omnichannel communication APIs (incl. email, SMS, push notifications, etc.), particularly Twilio's APIs
Experience with frontend development in React, Backbone, or Coffee Script
YOU WANT TO WORK WITH
A US-based client on developing new client-facing features and interfaces of Python applications
Breaking down a monolith application into smaller serviceable parts
The ETL process of expanding the service with data from other systems
Driving large, complex projects autonomously, from technical design to launch
Tackling complex architecture challenges, applying architectural standards, and using them on new projects
Having the ownership of the QA and release cycles of your work as part of a you-build-it-you-run-it practice.
A range of AWS offerings (EC2, RDS, S3, IAM, CodeBuild, CloudFront, ECR, Route53)
Elasticsearch, clusters hosted by Elastic, and Postgres databases
TOGETHER WE WILL
Create a solution that will improve the real estate experience for thousands of people
Help the client expand the current product and eliminate its technical debt
Mature the client's existing tech platform to prepare it for scaling according to their future growth plans
Help the client define a healthy and effective development culture that balances the need to move quickly with planning for the future
Set an example for thorough, meaningful code reviews
Have a chance to take over and own parts of the client’s applications and their development
Enjoy the ability to offer and implement own solutions