How we at PIK-Broker evaluate apartments through the “digital”

Hello, Habr! We are PIK-Broker, a technology startup whose task is to evaluate an apartment as objectively as possible using a digital algorithm using machine learning. To grow and improve machine appraisal of apartments, we need more IT specialists. Our tasks are complex, but interesting, and at the height of modern work with machine learning.

Below we will tell you how the development department at PIK-Broker works, what it does, what product complexity we are working with and what awaits the one who comes to solve our exciting problems with us. And the most interesting thing is what kind of expertise we work with and how it affects our products.

What tasks we face

The price of each apartment is determined by the market. For a competent assessment, you need to compare all the most similar apartments in this market.

We make sure that technology, not people, is responsible for most decisions. One specialist can estimate the cost of an apartment at 7 million, another – at 7 and a half. After all, each person is subject to the influence of subjective judgments – about repairs, “well-being” of the area, etc. In our work, we strive to digitize these factors, value automation very much and strive for an engineering approach in everything.

image

We create an algorithm that can, based on various parameters (year of construction, number of rooms, floor, number of storeys of the house, area, building material, location, and many other factors), evaluate an apartment. (And right now we are working on an AI algorithm that can estimate the level of repair!)

Our main services are the purchase of apartments, trade-in and services for the sale of real estate, therefore, a relevant assessment of the value of each apartment is a key element of the company’s work. We guarantee the accuracy of this estimate with our wallet, as we buy the apartments ourselves. If the algorithm is wrong and we buy an apartment at an inflated price, then we simply cannot resell it. And vice versa – if our assessment of the client’s apartment turns out to be too low, they won’t want to cooperate with us.

What technologies do we use

Our product is written from scratch. We tried to make it flexible and fast, taking into account only our own needs: specific cases of real estate appraisal, important variables and factors important for the correct real estate appraisal. It was important for us not to bump into other people’s mistakes and not waste time on refactorings. Therefore, we have very few services that need to be supported.

The frameworks and libraries we use depend on the project and task. Primarily:

  • Gitlab, Docker
  • K8s, Postgres
  • Kafka, React
  • Typescript, Python
  • Flask, PHP 7.4 and Symfony (latest version)

We strive for a microservice architecture of projects: we tie everything on data buses and combine data buses with regular REST APIs. And of course, we try to be guided by common sense when designing.

To test the code, we write Unit tests, integration tests (where it makes sense). We also have a QA department, which is mainly engaged in manual testing, but slowly we are starting to write autotests.

As with any startup, we don’t like to spend a lot of time on documentation and maintaining databases. This is mainly a wiki + readme in gitlab, and some general docs in notion + slack.

How we make decisions

We work in a system of mature teams. Such a team understands the goals that the business sets before it, shares these goals and achieves them independently. IT work at PIK-Broker is based on flexible methodologies (we combine Agile, Scrum and common sense). If a team sees a suboptimal or poorly organized process and wants to change it, it changes it without bureaucratic hindrances and lengthy approvals.

image

We have an interesting project – there is a product complexity associated with real estate domain data. We are constantly testing hypotheses, we do not have clear final requirements and goals, new ones appear in the process.

Ultimately, we will implement machine learning. This requires participation and a responsible approach from each member of the team, so any developer can express their opinion, propose an idea, give reasoning, and he will definitely be heard.

How teamwork works

We work in several teams – from 3 to 7 people. Each team develops its own section of the project and controls what has already been done. Each team must include a product manager and a technical leader. QA and DevOps are horizontally distributed throughout the company, they are involved in all projects.

The teams are stable, but they can change occasionally. For example, if the groups were working on a temporary project and it ended. Or the project goes into a state of support, and it no longer needs a large team. It happens that people change direction on their own initiative, we support this.

For example, recently a system administrator wanted to move to the DevOps team, we talked to him and realized that he was suitable for the position in terms of skills. We looked at the results for 3 months, gave the team additional training, and saw that he significantly strengthened this team.

As befits a modern technology company, our employees work in flexible hours and in most cases remotely.

image

The company has a rule: each employee must be in touch at certain hours so that he can always be contacted. The rest of the time is taken by independent work, the main thing is to complete all tasks correctly and on time. All this is evaluated and recorded in the Jira system, which allows us to understand the effectiveness of each team member.

At the same time, we are categorically against overwork or increased workload on the employee. After all, the quality of the tasks performed directly depends on this.
For each employee, the company defines a development trajectory for six months or a year, each has a mentor who oversees the work, helps and directs. If the employee wishes and there is an obvious need for the project, he is paid for professional courses and advanced training. For example, training on the platforms udemy.com or otus.ru.

Who do we need

Right now we have an open about 10 vacancies… But the need for new people is growing as fast as we are recruiting.

In the near future, the company will be scaling, and we need strong QA, DevOps, PHP, Frontend, Python and PM – middles and seniors.

If we are close to you in spirit, you love challenges and complex tasks, (and even if none of the vacancies suited you), send your resume, we will definitely consider it and talk to you!

We will try to answer all your questions in the comments.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *