We are a highly competent team with a strong concentration on real estate technology.

Want to join us ? Check out for job openings

shape

Our Culture

As we develop, it is critical that we nurture and maintain a supportive, collaborative, and entertaining team culture.

Self Development

The two most significant traits that define engineering at Makswin are constant progress and challenge. To improve ourselves, we challenge and learn from each other, as well as keep up with new technology through meetups and webinars.

Freedom Under Responsibility

We operate efficiently while working outside, in the gym, or in the gaming area. At Makswin, working under freedom while fulfilling responsibilities is crucial.

There are no stupid questions.

Simply ask if you have a question. You will not be mocked or made to feel terrible if you raise a question or conduct a check. We must all choose to answer a question to keep work moving forward or to clarify an issue rather than have someone struggle because they are afraid to inquire.

We strive for clear and frank communication.

We run the risk of doing or developing the wrong things if we don't communicate; we must all be aware of what we're working on. Make an effort to communicate effectively and frequently, and avoid costly team meetings wherever possible.

Services

Our Manifesto

"The single most valuable management tool while you’re scaling your engineering team is something I call a cultural manifesto. This is a document or a set of materials to help your entire engineering team get on the same page about how you make and operate things, and how you function as a team." — Kevin Scott

We are not just Software Developers

We must all contribute to the product's feature definition and direction. We will produce better software if we have empathy for our users, and everything we do should be in line with our company's and product's strategic goals.

Why? How? What?

We will thoroughly comprehend the issue, begin with the customer, and then design a solution. When it comes to "what," we'll choose a strategy, solution, or technology.

Coding Standards

To ensure code maintainability and stability, each team adheres to the norms and best practices of their selected programming languages. Our guidelines can be customized yet inherit community norms, or they can apply platform-specific criteria.

Code Reviews

No single line of code can be deployed without an approved pull request, even when targeting the test environment.

Architecture

We consider not only the needs of the present, but also the needs of the future while building our architecture. We collaborate to create our architecture, using modern and established best-practices and techniques.

Build vs Buy

We buy or develop relevant services or components based on requirements and quality and cost considerations.

Building and Deployment Pipeline

To keep high-quality code and quick feature deployments, continuous integration and delivery is essential. All initiatives connected to the building and deployment pipeline are held to the same set of standards.

Scaling

We create services that are distributed, scalable, and highly available. To maintain business continuity and avoid setbacks, we design systems that accommodate to 10x the present scale today.

Testing

We write unit, integration, functional, end-to-end, and performance tests for every feature we produce.

Security and Privacy

For security and data privacy issues, our principles impose environment isolation and independent policies. Whenever practical, we will follow the principle of least privilege (PoLP).

Technical Dept

Sacrificing quality leads to technological debts that end users will detect. Without rebuilding, more technical debts will stymie future product development or expansions.

Perfect is enemy of good

Iteration is that friend who always gives you sound advise when you need it. Do it first, then do it correctly, then do it even better. Any sufficiently complicated system must be evolved rather than being designed.

Keep it Simple

Complexity is difficult to debug, while simplicity is the ultimate sophistication.

Services

Career Path

Maps the route an employee takes from a lower-level position through successive roles to arrive at their ultimate goal.

Team Head

A Team Head is in charge of their team's execution, quality, speed, and cadence, but most importantly, the team's culture, environment, and general growth of the people on it.

  • You are a coach. You help teach and mentor the people on your team. You review their work and you help them improve their approach, communication, and delivery, no matter what it is.
  • You help produce and execute. It’s very difficult to be a great leader if you do not spend time with the team by helping solve problems the team needs help solving. It’s also harder to coach if you are not involved in the day-to-day.
  • You remove blocks. This can be as simple as clearing their calendars so that they can focus. It can be as complex as taking something off of their plate to free up time. When they need help, help!
  • You set the tone. You are the baseline for what the expectation of the rest of the team is. If you want your team to be positive and have a growth mindset while also being open, collaborative, and receptive to feedback, you need to live this expectation.
  • You paint the picture. You help connect their work to the impact they are making on the business or better, for the client. You are the conduit between what they do and why they do it.
  • You help the team exceed their goals and potential. If someone is aiming to be a senior software engineer someday, why not inspire them to aim beyond? By believing in our teams and setting the bar higher than they would set it themselves, we are helping them exceed what they think they are capable of.
  • You represent the team. Your business partners and peer teams look to you first as the primary conduit to your team and what they are focused on. Your team looks to you to represent them and to not throw them under the bus. As a chief diplomat, you represent the team, through the good and the bad.
  • Senior Developer

    Senior Developers assist with design and architecture, has strong knowledge of SOLID and design patterns, is a senior code reviewer, helps develop and enforce best practices AND performs the most challenging coding tasks. Seniors solve the most difficult problems and do it efficiently.

  • You innovate new solutions. Has the ability to experiment and test solutions for problems, validate assumptions for them, and the ability to associate one idea with another to reach a solution
  • You have the continuously improve mindset. Has the trait to consistently improve the quality and structure of the previously written code. Independently solves various problems and rectify complicated problems through the application of design patterns.
  • You are easy to communicate. Communicates with product owner about the business processes and has the ability to transform business processes into programming code
  • You have the 360 degree view. Comprehends the full scope of a task and make the best suggestions and methods to develop, test, implement, and maintain it.
  • You are the master of the code. Performs regular reviews on codes done by less experienced developers and offer feedback and suggestions for those codes.
  • You are a mentor. Mentors the junior and mid-level developers of the team, and can designate tasks to team members in a balanced and effective manner.
  • Mid-level Developer

    Mid-level developers can complete an assignment on time and within acceptable quality standards but will not generally be asked to design the feature, although they are welcome to attend design meetings and listen in, even offering their perspectives.

  • You do not need much help or supervision You are able to do everything autonomously and having a clear understanding of the code and technologies used in the project.
  • You know the life cycle. Is competent in all or some stages of the systems' development life cycle – analysis, design, development and testing, implementation, documentation, and evaluation.
  • You always look better ways of doing things. Demonstrates the initiative and method for solving different problems, and propose effective solutions for those problems. Analyzing and implementing best coding practices into the project code.
  • You can prioritize tasks from different projects. Performs tasks for several projects at the same time. Revises software code to make it more efficient and be able to detect bugs in the code
  • You can mentor junior developers. Sets up a development environment on their own, and has the ability to mentor a team of junior developers.
  • Junior Developer

    Junior Developers are entry-level software developers that assist the development team with all aspects of software design and coding. Their primary role is to learn the codebase, attend design meetings, write basic code, fix bugs.

  • Learning the codebase and improving your coding skills. Function as an integral part of the development team, actively contributing towards the development of our tools, services and platform.
  • Write and maintain code. Plan, write, maintain, test and document code. Code will adhere to internal coding standards.
  • Maintenance. Maintain systems by monitoring and correcting software bugs and errors.
  • Write and test code. Plan write, maintain and test code for applications and platforms adhering to the company's internal coding standards.
  • Services