Syndicode

Syndicode

Joined in 2019
45% answers

Syndicode is a custom software development company founded in 2014. We design and develop various software solutions for businesses, emphasizing indisputable quality, transparency, and trust. For the 5 years of work, we have developed more than 50 technological solutions with marketplace development, product design, and many more. These include but do not limit to e-commerce web and mobile apps, critical enterprise apps, two-sided marketplaces, and SaaS. At Syndicode, we adhere to the peerest standards in software delivery, product design, and business communications. Our commitment to supreme quality and agile iterative approach has led to a long-term trusting partnership with companies worldwide, primarily in the US and Europe. Dedicated developers at Syndicode stand for a pragmatic engineering mindset and hold strong technical expertise. We put focus on Ruby on Rails development, NodeJS development, ReactJS development and React native development. Key competitive advantages Syndicode offers to clients are full-cycle product engineering, flexible alignments and direct communication with engineers. We stand for transparency and indisputable quality, providing clear expectations, concrete metrics, and well-defined project flow.

  • · 35 views · 10 applications · 7d

    Python Team Lead

    Full Remote · EU · 8 years of experience · English - C1
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed. 

    We believe that our people and culture sustain Syndicode’s success. Our team is unified by shared principles like: Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and can analyze a variety of sources to make sound, timely decisions.

    If it sounds like you, apply to our jobs and become a new Syndicoder!

     
    About the role

    As a Python Team Lead, you will be responsible for the backend architecture that supports the mobile application. You will lead the development team, make critical architectural decisions, ensure high availability and performance of APIs used by mobile apps, and promote technical excellence throughout the project.

    What you’ll be doing

    • Lead and manage a cross-functional engineering team of  back-end, web, or mobile developers
    • Own technical architecture decisions and drive the overall backend and API strategy
    • Define development standards, code review processes, and testing practices across the team
    • Coordinate work between backend and client engineers to ensure seamless API contracts and integration
    • Hands-on contribution to critical backend services and infrastructure using Python (FastAPI/Django)
    • Build and optimize scalable, service-oriented systems supporting real-time features
    • Ensure platform security, GDPR compliance, and audit logging
    • Mentor and grow engineers technically and professionally, fostering a culture of ownership and quality 

    What you’ll need

    • 6+ years of professional software development experience, with strong Python backend expertise
    • 2+ years of experience leading or managing engineering teams
    • Proven experience building and shipping products that span web and mobile platforms
    • Deep understanding of RESTful API design
    • Strong experience with relational databases (PostgreSQL), data modeling, and query optimization
    • Experience with cloud platforms (AWS or GCP), containerized deployments (Docker, Kubernetes), and CI/CD pipelines
    • Familiarity with mobile development workflows, release cycles, and platform-specific constraints
    • Solid understanding of testing strategies (unit, integration, e2e) and quality assurance practices across backend and mobile
    • Experience with event-driven architectures, message queues (Redis, RabbitMQ, or Kafka)
    • Strong understanding of asynchronous programming (asyncio, async/await) and concurrency patterns in Python
    • Strong understanding of authentication, authorization, and security best practices
    • Excellent communication skills with the ability to align technical and non-technical stakeholders

    Nice to have   

    • Experience with AI/ML integration, vector databases (Pinecone, Weaviate, pgvector), or recommendation systems
    • Experience with NoSQL or non-relational databases (MongoDB, DynamoDB, Cassandra, or similar)
    • Hands-on experience with or close collaboration with teams building client applications (React, React Native, Flutter, Next.js, or similar web/mobile frameworks)
    • Experience with real-time systems (WebSockets, live streaming, push notifications)
    • Background in marketplace, e-commerce, or content-driven platform engineering
    • Experience with multi-language/localization systems
    • Exposure to tax/VAT compliance logic or fintech-adjacent workflows
    • Experience scaling teams and processes during rapid growth phases
       

    What you’ll get at Syndicode

    • 15 days of vacation, 11 days off for holidays, and 20 sick leave days per year
    • Fully remote job
    • Educational support
    • Internal tech meetups
    • Continuous feedback within teams and departments
    • Top-notch team 
    • Ability to participate in decision-making and bring new ideas
    • Self-management: opportunity to manage your time and plan your activities
    • Dynamic fast-growing environment: we react and adapt quickly to the world and market changes.
    More
  • · 96 views · 41 applications · 8d

    Senior Python Developer

    Full Remote · Countries of Europe or Ukraine · 5 years of experience · English - B2
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed.

    We believe that our people and culture contribute to Syndicode’s continuous success. Shared principles, including Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility, unify our team. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and can analyze various sources to make sound and timely decisions.

    We welcome experienced, passionate engineers to apply to join our growing team at Syndicode.

     

    About the role

    As a Python Engineer at Syndicode, you will design and develop scalable, secure backend services that power our mobile applications. You’ll build and maintain RESTful/GraphQL APIs, implement business logic, manage database architecture, and ensure high performance, reliability, and data integrity.

    Working closely with mobile developers, QA, and product teams, you’ll contribute to backend architecture decisions, optimize system performance, and support seamless integration between mobile clients and cloud-based infrastructure.

     

    What you’ll be doing

    • Design and build scalable backend services and RESTful APIs using Python (FastAPI/Django)
    • Architect and maintain modular, service-oriented backend systems supporting high-traffic workloads
    • Integrate third-party services (payment providers, messaging platforms, cloud infrastructure)
    • Build and optimize data pipelines and integration points for AI/ML-powered personalization and recommendation systems
    • Work with PostgreSQL and vector databases to model complex relational and unstructured data
    • Implement real-time features, including notifications and live event handling (WebSockets, pub/sub)
    • Collaborate with frontend and mobile engineers to define clean, well-documented API contracts
    • Set up and maintain CI/CD pipelines, infrastructure-as-code, and environment management
    • Write and maintain comprehensive tests (unit, integration, end-to-end) to ensure code quality and system reliability
    • Ensure platform security, GDPR compliance, role-based access control, and audit logging
    • Mentor junior engineers and contribute to architectural decisions and code review culture

     

    What You’ll Need:

    • 5+ years of professional Python development experience
    • Strong experience building production APIs with FastAPI, Django, or Flask
    • Solid understanding of relational databases (PostgreSQL), query optimization, and data modeling
    • Experience with cloud platforms (AWS or GCP) and containerized deployments (Docker, Kubernetes)
    • Familiarity with event-driven architectures, message queues (Redis, RabbitMQ, or Kafka)
    • Strong understanding of asynchronous programming (asyncio, async/await) and concurrency patterns in Python
    • Experience integrating third-party APIs (payments, logistics, messaging)
    • Proven experience with testing frameworks (pytest, unittest) and a test-driven or test-first development mindset
    • Working knowledge of CI/CD tooling and infrastructure-as-code (Terraform, CloudFormation)
    • Strong understanding of authentication, authorization, and security best practices
    • Ability to work in cross-functional teams in a fast-paced, early-stage environment
    • Excellent communication and documentation skills

     

    Nice to Have:

    • Experience with AI/ML integration, vector databases (Pinecone, Weaviate, pgvector), or recommendation systems
    • Experience with NoSQL or non-relational databases (MongoDB, DynamoDB, Cassandra, or similar)
    • Experience with real-time systems (WebSockets, live streaming infrastructure)
    • Familiarity with React Native or Flutter backend requirements for mobile-first products
    • Experience with multi-language/localization systems
    • Exposure to tax/VAT compliance logic or fintech-adjacent workflows
    • Experience with load testing, performance profiling, or automated QA pipelines
    • Contributions to open-source projects or a visible engineering blog/portfolio

     

    What you’ll get at Syndicode

    • 15 vacation days, 11 public holidays, and 20 sick leave days per year
    • Hybrid work model (2–3 days in our Kyiv office per week)
    • Educational reimbursement and internal knowledge-sharing sessions
    • Collaborative team environment with regular feedback
    • Flexibility in planning your schedule and work tasks
    • An opportunity to influence product decisions and propose improvements
    More
  • · 84 views · 11 applications · 12d

    Business Analyst

    Full Remote · EU · 5 years of experience · English - C1
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed.

    We believe that our people and culture sustain Syndicode’s success. Our team is unified by shared principles like Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and can analyze various sources to make sound and timely decisions.

    If it sounds like you, apply for our vacancies and become a new Syndicoder!

    About the role

    As a Business Analyst, you will play an important role in aligning clients' business needs with our technology solutions. Your role involves analyzing data, understanding client requirements, and translating them into effective project specifications. Working collaboratively with diverse teams, you'll be pivotal in optimizing processes, fostering clear communication, and ensuring the successful delivery of outsourcing solutions.
     

    What you’ll be doing

    • Creating comprehensive and robust documentation and requirements that align with the Software Development Life Cycle (SDLC) phases and meet the customers' specific needs
    • Conducting workshops and meetings to gather requirements, prioritize features, and resolve conflicts, fostering effective stakeholder collaboration
    • Identifying the business needs and expectations of the customer and translating them into business change drivers and effective technical solutions
    • Utilizing business analysis methods and techniques to establish and document functional, non-functional, and transition requirements with end-to-end traceability throughout the project life cycle
    • Identifying potential risks and developing a strategy to mitigate them
    • Reviewing, documenting, implementing, and maintaining business processes for both the internal team and customers
    • Auditing project processes to improve results and customer satisfaction
    • Contributing to sprint planning sessions by providing insights into the feasibility and effort required to implement features
    • Facilitating clear, ongoing communication with all parties involved in a project to ensure a shared understanding is maintained

    What you’ll need

    • 4+ years of working experience as a Business Analyst
    • Experience working on mobile-first or mobile product environments
    • Proficiency in English (advanced level)
    • Strong requirements elicitation skills using BA elicitation techniques (interview, document analysis, prototyping, observation, requirements workshops, brainstorming, etc.)
    • Understanding of requirements' classification (business, stakeholder, solution) and ability to communicate them to stakeholders
    • Ability to define design options and recommend the solution
    • Experience in process analysis and modeling (as…is and to..be states) using graphical notations
    • Strong knowledge of requirements management and project tracking tools (Jira, visualization tools)
    • Understanding of SDLC
    • Familiarity with Market Analysis and User Personas creation

    Nice to have

    • Business analysis certifications
    • Be able to understand complex data structures and identify necessary changes
    • Understanding of API integration principles

    What you’ll get at Syndicode

    • 15 days of vacation, 11 holidays, and 20 sick leave days per year
    • Fully remote position
    • Educational support and professional growth opportunities
    • Continuous feedback and transparent communication
    • Opportunity to influence processes and product decisions
    • Self-management and flexible working approach
    • Dynamic, fast-growing environment
    More
  • · 122 views · 40 applications · 12d

    React Native Developer

    Full Remote · Countries of Europe or Ukraine · 5 years of experience · English - C1
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed.

    We believe that our people and culture contribute to Syndicode’s ongoing success. Our team is unified by shared principles, including Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility.

    If it sounds like you, we’d be glad to meet you.

    About the role

    As a React Native Developer, you will be responsible for building and maintaining high-quality cross-platform mobile applications. You will contribute to architectural decisions, ensure performance and scalability, and collaborate closely with backend, product, and design teams to deliver reliable and user-friendly mobile solutions.

    You will take ownership of complex features, improve development processes, and ensure high engineering standards across the mobile codebase.

    What you’ll be doing

    • Designing and developing cross-platform mobile applications using React Native
    • Architecting scalable and maintainable mobile solutions
    • Implementing complex UI components and ensuring pixel-perfect execution
    • Integrating RESTful APIs and third-party services
    • Ensuring performance optimization, memory efficiency, and responsiveness
    • Managing app state using modern state management solutions
    • Handling mobile-specific features (push notifications, deep linking, permissions, background tasks)
    • Ensuring smooth app releases to App Store and Google Play
    • Writing clean, testable, and maintainable code
    • Conducting code reviews and mentoring other developers
    • Collaborating with designers, backend engineers, and product stakeholders
    • Participating in sprint planning, estimations, and technical discussions

    What you’ll need

    • 4+ years of commercial experience in mobile development
    • Strong experience with React Native in production environments
    • Solid knowledge of JavaScript and TypeScript
    • Experience with modern React Native styling solutions (e.g., Unistyles or similar)
    • Understanding of mobile application architecture patterns
    • Experience integrating REST APIs and handling asynchronous flows
    • Experience with server-state management libraries (e.g., TanStack Query / React Query).
    • Experience with state management libraries (Redux, Zustand, or similar)
    • Understanding of mobile performance optimization techniques
    • Hands-on experience with React Native New Architecture (Fabric, TurboModules), Codegen, and advanced native module integration.
    • Experience with push notifications using Firebase Cloud Messaging (FCM), OneSignal, or similar services (e.g., Notifee).
    • Experience with mobile release processes (App Store / Google Play)
    • Familiarity with Git and CI/CD workflows (Fastlane, or similar)
    • Strong communication skills and ability to work in Agile environments
    • Upper-Intermediate or higher English level

    Nice to have

    • Experience with native iOS or Android development
    • Experience with automated testing (Jest, Detox, React Native Testing Library)
    • Experience working with Firebase or other mobile analytics tools
    • Experience with cross-platform performance debugging
    • Experience mentoring developers

    What you’ll get at Syndicode

    • 15 days of vacation, 11 holidays, and 20 sick leave days per year
    • Fully remote position
    • Educational support and professional growth opportunities
    • Internal tech meetups
    • Continuous feedback and transparent communication
    • Opportunity to influence technical decisions
    • Self-management and flexible work approach
    • Dynamic, fast-growing environment
    More
  • · 80 views · 5 applications · 12d

    Senior Ruby on Rails Engineer

    Full Remote · EU · 6 years of experience · English - C1
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed. 

    We believe that our people and culture sustain Syndicode’s success. Our team is unified by shared principles like: Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and can analyze a variety of sources to make sound, timely decisions.

    If it sounds like you, apply to our jobs and become a new Syndicoder!

     
    About the role

    We are looking for a Senior Ruby on Rails Engineer who excels in backend development and problem-solving. The ideal candidate delivers scalable, high-quality solutions that drive value for stakeholders and has a proven track record in designing, building, and maintaining production-grade Ruby on Rails applications in complex domains.
     

    What you’ll be doing

    • Design, develop, and maintain scalable web applications using the latest Ruby on Rails versions and PostgreSQL
    • Develop and implement new features
    • Maintain the code quality at the highest level
    • Develop and maintain automated test suites to ensure code quality and stability
    • Implement API endpoints and integrate with a React application
    • Integrate various 3rd-party services
    • Integrate services with ML algorithms
    • Create and maintain technical documentation
    • Apply existing best practices in software development
    • Provide the task estimation
    • Participate in requirement elicitation and clarification with the product owner
    • Optimize existing solutions, improve performance, refactor suboptimal code
    • Make technical decisions and be able to justify them
    • Troubleshoot and resolve production issues in a timely and efficient manner

    What you’ll need

    • 5+ years of working experience with Ruby on Rails
    • Strong understanding of object-oriented programming and design patterns
    • Proficiency in English (Upper-Intermediate level and above)
    • Experience with Ruby from 3.1 version and above
    • Strong problem-solving skills and the ability to work in a team environment
    • Excellent communication skills
    • Experience in writing unit/integration tests
    • Ability to write testable code
    • Strong knowledge of SQL
    • Experience working with PostgreSQL
    • Experience working with Redis
    • Experience working with Elasticsearch

    Nice to have   

    • Experience working with React, Docker, and Sidekiq
    • Experience using AWS, Kubernetes, GitHub actions, and Python
       

    What you’ll get at Syndicode

    • 15 days of vacation, 11 days off for holidays, and 20 sick leave days per year
    • Fully remote job
    • Internal tech meetups
    • Continuous feedback within teams and departments
    • Top-notch team 
    • Ability to participate in decision-making and bring new ideas
    • Self-management: opportunity to manage your time and plan your activities
    • Dynamic fast-growing environment: we react and adapt quickly to the world and market changes.
    More
  • · 30 views · 6 applications · 21d

    Sales Development Representative

    Full Remote · Ukraine, Portugal, Spain, Poland · 4 years of experience · English - C1
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects, and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed.

    We believe that our people and culture sustain Syndicode’s success. Shared principles like Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, and Flexibility unify our team. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and can analyze various sources to make sound and timely decisions.

    If it sounds like you, apply for our vacancies and become a new Syndicoder!

     

    About the role

    As a Sales Development Representative, your primary focus will be on driving our business growth and expanding our market presence. Your responsibilities will include utilizing different channels to identify and engage potential clients, conducting introductory conversations to understand their needs, and presenting tailored solutions that address their specific requirements.

     

    What you’ll be doing

    • Working with new business opportunities via both inbound and outbound lead generation;
    • Own the full sales cycle: from prospecting to signing contracts;
    • Identify and reach out to potential leads through LinkedIn, email, and other channels;
    • Keep accurate records of prospect interactions and maintain CRM systems (e.g., HubSpot);
    • Collaborate with hiring, marketing, engineering, project, and delivery teams;
    • Share feedback on lead quality, messaging effectiveness, and improvement opportunities;
    • Proactively suggest and implement changes to optimize pipeline generation and improve sales performance.

     

    What you’ll need

    • At least 4 years of professional sales experience in an IT outsourcing company;
    • Hands-on experience with sales tools like Apollo or LinkedIn Sales Navigator and CRM like HubSpot; 
    • Strong knowledge of lead qualification strategies and well-developed negotiation skills;
    • Proven experience in preparing and presenting commercial proposals, in close collaboration with the engineering team;
    • Proficiency in English at an Advanced level;
    • Excellent communication skills and the ability to effectively search for information;
    • Strong organizational skills, critical thinking, and the capacity to solve practical problems.

     

    What you’ll get at Syndicode

    • 15 days of vacation, 11 days off for holidays, and 20 sick leave days per year
    • Fully remote job;
    • Educational support;
    • Continuous feedback within teams and departments;
    • Top-notch team;
    • Ability to participate in decision-making and bring new ideas;
    • Self-management: opportunity to manage your time and plan your activities;
    • Dynamic fast-growing environment: we react and adapt quickly to the world and market changes.

     

    Our Hiring Process:

    • Pre-screen Interview (45 min) – A conversation with a recruiter to discuss your background and the role.
    • Professional Interview (1-1,5 hours) – A discussion with the sales team to assess fit and next steps. 
    • Final Assessment (2-3 hours) – A practical evaluation of your skills relevant to the position. 
    More
  • · 106 views · 26 applications · 21d

    Mathematical Software Engineer

    Full Remote · Countries of Europe or Ukraine · 3 years of experience · English - B2
    About us Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects and IT managers. We are united by the mission to provide our clients with software products and services that perform,...

    About us

    Syndicode is a value-driven software development partner with a globally distributed team of engineers, designers, architects and IT managers. We are united by the mission to provide our clients with software products and services that perform, look, and work as designed. 

    We believe that our people and culture make Syndicode’s success continuous. Our team is unified by shared principles like: Accountability, Involvement, Excellence, Visibility, Integrity, Innovation, Win-Win, Flexibility. Syndicoders are professionals who pursue self-improvement through continual learning, are eager to introduce improvements to work processes, and are able to analyze a variety of sources to make sound and timely decisions.

    If it sounds like you, apply to our jobs and become a new Syndicoder!

     
    About the project

     

    Our team is building an internal tool for a major construction company to help their teams design and evaluate complex layouts while accounting for real-world constraints. The product combines robust engineering logic with an interactive 3D view in the browser, making it easier for users to explore design options and estimate key building parameters, including costs. In this role, you’ll work on the mathematical core of the system—refining existing models and developing new algorithms that make the application faster, smarter, and more accurate.

     

    What you’ll be doing
     

    • Experience: At least 3 years of professional experience in mathematical modeling, algorithm development, or optimization-focused software engineering.
    • Mathematical Expertise: Strong foundation in areas such as numerical analysis, linear algebra, calculus, statistics, probability, optimization, and related mathematical disciplines.
    • Python: Minimum of 2 years of experience, with expertise in object-oriented programming, data structures, algorithms, and performance optimization.
    • Computational geometry for coordinating transformations, polygon operations, or spatial reasoning.
    • Analytical Thinking: Strong problem-solving skills with the ability to break down complex challenges into actionable components.
    • Attention to Detail: High level of accuracy and precision in developing and validating mathematical models and code.
    • Communication: Ability to clearly explain complex mathematical and technical concepts to both technical and non-technical audiences.
    • Education: Bachelor’s, Master’s, or Ph.D. in Mathematics, Computer Science, Engineering, or a related quantitative field.
      
      Nice to have
       

      • FastAPI (or similar frameworks): Experience building RESTful APIs and exposing mathematical models and algorithms as scalable web services.
      • AWS: Familiarity with cloud infrastructure services for deployment, scalability, and management of computational resources in production environments.
         
         

      What you'll be doing
       

    • Mathematical Model Development: Design, develop, and implement mathematical models and algorithms to solve complex problems in engineering, data analysis, optimization, and related domains.
    • Python Software Development: Translate mathematical models and algorithms into high-performance, reliable, and efficient Python code. Ensure clean architecture, solid coding practices, and optimal performance.
    • Collaboration: Work closely with cross-functional teams—including developers and domain experts—to understand requirements, troubleshoot issues, and deliver integrated solutions.
    • Testing and Validation: Perform rigorous testing and validation of mathematical models and their Python implementations to ensure accuracy, reliability, and efficiency.
    • Documentation: Create clear, thorough documentation for models, algorithms, and code implementations.
       

    What you’ll get at Syndicode
     

    • Fully remote job
    • Continuous feedback within teams and departments
    • Top-notch team 
    • Ability to participate in decision-making and bring new ideas
    • Self-management: opportunity to manage your time and plan your activities
    • Dynamic fast-growing environment: we react and adapt quickly to the world’s and market changes.
    More
Log In or Sign Up to see all posted jobs