Remote Software Engineer – Backend/Python (100% Remote)

View All Jobs All Programming jobs
Close
Published
April 17, 2023
Expires
May 15, 2023
Location
USA
Category
Programming  
Job Type
Full-time  

Description

Time zones: EST (UTC -5), MST (UTC -7), ART (UTC -3), UTC -4, UTC -4:30, UTC -3, UTC -2, SBT (UTC +11), GMT (UTC +0), CET (UTC +1), EET (UTC +2), MSK (UTC +3), CVT (UTC -1), WAT (UTC +1), SAST (UTC +2), EAT (UTC +3)

About Us

At Close, we're building the sales communication platform of the future. With our roots as the very first sales CRM to include built-in calling, we're leading the industry toward eliminating manual processes and helping companies to close more deals (faster). Since our founding in 2013, we've grown to become a profitable, 100% globally distributed team of ~70 high-performing, happy people that are dedicated to building a product our customers love.

Our backend tech stack currently consists primarily of Python Flask web apps with our TaskTiger scheduler handling many of the backend asynchronous task processing chores. Our data stores include MongoDB, PostgreSQL, Elasticsearch, and Redis. The underlying infrastructure runs on AWS using a combination of managed services like EKS, MSK, RDS and ElasticCache and non-managed services running on EC2 instances. All of our compute runs through CI/CD pipelines that build Docker images, run automated tests and deploy to our Kubernetes clusters. Our backend primarily serves a well-documented public API that our front-end JavaScript app consumes. Our infrastructure is heavily automated using Terraform, Ansible and other AWS tools.

We love open sourcing our code and ideas on our GitHub and on The Making of Close, our behind-the-scenes Product & Engineering blog. Check out our projects like SocketShark, TaskTiger, LimitLion and ciso8601.

About You
We’re looking for high achieving full-time Software Engineers to join our engineering team. Someone who has interest and a good understanding in web technologies and wants to help design, implement, launch, and scale major systems and user-facing features.

  • Senior/Staff level candidates should have 5+ years experience building modern back-end systems. Mid-level candidates should have ~3 years of similar experience and be eager to level up with the right opportunity.
  • Python experience is preferred but experience in other languages is acceptable if you have a desire to work with Python.
  • You have hands-on production experience working with MongoDB, PostgreSQL, Elasticsearch, or similar data stores. 
  • You have experience designing, scaling, debugging, and optimizing systems to make them fast and reliable. 
  • You have participated in code reviews and provided overall code quality suggestions to help maintain the structure and quality of the codebase. 
  • You care about the craftsmanship of the code and systems you produce.
  • You are located in an American or European time zone. US candidates should check out our US job posting here  <<INSERT LINK>>

You’re comfortable working in a fast-paced environment with a small and talented team where you're supported in your efforts to grow professionally. You are able to manage your time well, communicate effectively and collaborate in a fully distributed team.



Bonus points if you have...

  • Contributed open source code related to our tech stack
  • Led small project teams building and launching features
  • Built B2B SaaS products
  • Worked with complex architectures that support multiple APIs (e.g. REST, GQL, WebSockets) as well as async task and event processing frameworks

Come help us with projects like...

  • Conceiving, designing, building, and launching new user-facing features
  • Improving the performance and scalability of our GraphQL and REST API.
  • Improving how we sync millions of sales emails and calendar events each month
  • Working with Twilio's API, WebSockets, and WebRTC to improve our calling features
  • Building user-facing analytics features that provide actionable insights based on sales activity data
  • Improving our Elasticsearch-backed powerful search features
  • Improving our internal messaging infrastructure using streaming technologies like Kafka and Redis 
  • Building new and enhancing existing integrations with other SaaS platforms like Google’s G Suite, Zapier, and Web Conferencing providers

Why work with us?

  • Culture video
  • 100% remote company (we believe in trust and autonomy)
  • Choose between working 5 days/wk (standard full-time) or 4 days/wk @ 80% pay
  • Annual team retreats
  • Quarterly virtual summits
  • 5 weeks PTO + Winter Holiday Break
  • 2 additional PTO days every year with the company
  • 1 month paid sabbatic years
  • Co-working stipend
  • Revenue Share (after 1 year)
  • Paid parental leave
  • Medical, Dental, Vision with HSA option (US residents)
  • 401k matching at 6% (US residents)
  • Dependent care FSA (US residents)
  • Contributor to Stripe's climate initiative ️ 
  • Our story and team

At Close, everyone has a voice. We encourage transparency and practice a mature approach to the work-place. In general, we don’t have strict policies, we have guidelines. Work/life harmony is an important part of our business - we believe you bring your best to work when you practice self-care (whatever that looks like for you).  

We come from 16 countries located in 5 of the 7 continents -- looking at you Antarctica and Australia 😉 ….. We’re a collection of talented humans rich in diverse backgrounds, lifestyles, and cultures. Every year we meet up somewhere around the world to spend time with one another. These gatherings are an opportunity to strengthen the social fiber of our global community.

Our team is growing in more ways than one - we’ve recently launched 17 babies (and counting!). Unanimously, our favorite and most impactful value is “Build a house you want to live in.” We strive to make decisions that are authentic for our people and help our customers become more successful.

Our application process was designed to promote equitable and unbiased hiring practices. We ask a small series of questions that are similar to what would be asked in the first interview. This helps us learn more about you right from the start so please be sure to answer each question thoughtfully. Each application will receive two screens by two different reviewers. Regardless of fit, you will hear back from us letting you know if we'll be moving forward.
Apply
Drop files here browse files ...
Captcha

Related Jobs

Remote Senior Python Engineer   United States
April 17, 2023
Remote Python Developer   Berlin/Chicago
April 17, 2023
Remote Freelance Python Developer and AWS Manager at Easy Energy Inc   San Francisco, CA
April 17, 2023
Remote Senior Solutions Engineer (f/m/d) - Remote within North America   , Germany
April 17, 2023

How We Approach Backend Development

We believe backend engineering is about more than just writing code — it’s about building resilient, observable systems that can gracefully handle the messy reality of sales communication. Our team practices defensive coding and rigorous testing not because we’re paranoid, but because our customers rely on Close to capture every call, email, and SMS without fail. Every pull request goes through automated checks (unit, integration, and end-to-end tests) before a human review, and nothing merges without a passing build in our CI/CD pipelines. We invest heavily in monitoring, logging, and alerting so that when something does go sideways — and it will, eventually — we know about it before our users do.

We’re also pragmatic about architecture. We default to simple, modular Flask services that do one thing well, and only pull in something like our TaskTiger-based asynchronous infrastructure when a workload clearly benefits from it. You won’t find cargo‑culted microservices here; we split a service when it makes operational or team‑scaling sense, not because a blog post told us to. That said, we’re not afraid to adopt new tools when they solve a real problem. Recent examples include leveraging Kafka (via AWS MSK) for event‑driven communication between critical domains and experimenting with gRPC for select internal services where performance and type safety matter most.

What Success Looks Like in Your First Six Months

We know that ramping up on a complex codebase and a fully remote team takes time, so we’ve designed an onboarding path that sets you up for meaningful contributions without feeling overwhelmed. Within your first month, you’ll have shipped at least one small, scoped improvement — it might be a performance tweak to a slow MongoDB query, a new endpoint for an internal tool, or a production‑safe refactor that reduces tech debt. You’ll pair with a dedicated onboarding buddy and participate in your first on‑call rotation (with a shadow, of course), because we believe nothing accelerates understanding like seeing how the system behaves under real traffic.

By month three, you’ll own a complete feature from design through deployment, working closely with product and frontend colleagues to reconcile technical constraints with user needs. You’ll have deep‑dived into at least two of our core data stores — maybe optimizing an Elasticsearch index mapping for faster search, or partitioning a PostgreSQL table to keep maintenance windows reasonable. Around the six‑month mark, we’ll look for you to be a go‑to person for a specific component of the backend, actively participating in architectural discussions and mentoring newer team members. Throughout this journey, your manager will focus on removing obstacles and providing candid feedback, not micromanaging your schedule.

Our Commitment to Developer Autonomy and Growth

Close was built as a remote‑first company from day one, and that philosophy extends to how we manage engineering work. We don’t do daily stand‑ups that feel like status theater; instead, we rely on well‑written design documents, asynchronous communication in GitHub issues and Slack, and a culture that assumes good intent. If you need a block of uninterrupted focus time to explore a tricky concurrency problem, you block it on your calendar and the team respects it. We also give every engineer a generous annual learning budget — whether that means books, online courses, or attending a conference like PyCon or KubeCon — because we know that stagnant skills benefit no one.

Beyond formal learning, we encourage internal knowledge‑sharing. Engineers regularly host brown‑bag sessions on topics ranging from deep dives into how PostgreSQL’s query planner works to practical Type‑Driven Design in Python. We have a strong tradition of contributing back to open source projects we depend on, and several team members maintain their own popular libraries. Career progression at Close doesn’t force you into management to increase your impact and compensation; our technical track lets you grow as a Staff or Principal engineer while staying close to the code, guiding technical strategy, and mentoring without losing the hands‑on work you love.

Our Interview Process

We’ve designed our hiring process to be thorough but respectful of your time, and to evaluate the skills that actually matter for this role — not to see how many algorithms you’ve memorized. After an initial 30‑minute chat with a recruiter to answer your high‑level questions, you’ll have a 45‑minute technical conversation with a senior backend engineer. This isn’t a whiteboard drill; it’s a collaborative discussion about system design, data modeling, and trade‑offs you’ve made in previous projects, using a shared online document or a simple code snippet. We want to see how you think, not whether you can invert a binary tree under pressure.

If that goes well, you’ll move to a paid, take‑home project that mirrors a realistic backend task — perhaps building a small API that integrates with one of our data sources, complete with tests and a brief write‑up of your design decisions. You’ll then walk us through your solution in a 60‑minute review session, where we’ll discuss alternatives, error handling, and how you’d evolve the feature over time. Finally, you’ll meet with a few more team members across functions (product, engineering management) for a culture‑add conversation. The entire process typically takes two to three weeks from application to offer, and we’re committed to providing transparent feedback at every stage.