Java Developer

Global Remote

Company Overview

BotCity is building the future of automation with the Governance Platform for Python automations and AI Agents. We empower enterprises to innovate at scale, bringing governance, control, and observability to every automation project. Our philosophy is simple: automation is software, and software deserves the same high-code standards that drive innovation in AI and machine learning.

We recently raised a $12M Series A, led by Four Rivers with participation from Y Combinator, SoftBank, and top industry leaders such as Lew Cirne (New Relic), Rod Johnson (Spring Source), and Walter Kortschak (Summit Partners | Firestreak Ventures). With 1,000+ customers in 70+ countries, including Bayer and LG, and recognition by G2 (2024) as one of the world’s top 25 emerging platforms, BotCity is scaling fast.

We’re a global remote company with teams across the US and LATAM, united by a shared vision to redefine how enterprises build and manage automation. If you’re looking for an environment that values impact, autonomy, and excellence, we’d love for you to join us on this journey.

 
Role Overview

The Java Developer will be the engineering backbone of BotCity's products — writing the core Java code that powers how enterprises deploy, govern, and scale their AI automations with reliability and precision. The candidate will independently own feature delivery end to end, identify and address technical debt before it slows the team down, and bring the engineering judgment to make sound design decisions without needing close supervision. This role is built for someone with enough technical maturity to operate in a lean, fast-moving environment — someone who applies patterns and principles with purpose and intent, not by convention or habit, who is intellectually curious and technically rigorous, and who takes genuine pride in the quality of every line they ship. This position reports directly to the VP of Engineering.

 
Responsibilities

  • Develop and maintain core Java components of BotCity's Products.
  • Develop solutions in Core Java with a focus on clarity, maintainability, and performance.
  • Write clean, efficient, and well-tested code, with ownership from requirement to production.
  • Apply design patterns and object-oriented principles thoughtfully in the architecture of solutions.
  • Implement and optimize routines that require concurrency control, thread management, and JVM resource handling.
  • Write robust unit tests, ensuring coverage and testable code design from the start.
  • Participate in code reviews focused on technical quality, pointing out design improvements and readability.
  • Communicate blockers and progress clearly and in a timely manner.
  • Analyze and resolve performance issues, identifying bottlenecks in JVM behavior and application code.
  • Document technical decisions and contribute to the evolution of the team's development standards.
Requirements

Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Computer Engineering or related field.
  • Proven experience (4+ years) with core Java.
  • Proficiency in Design Patterns, JUnit, Mockito Solid & Clean code, OOP.
  • Experience developing OS-aware or system-level Java applications (desktop agents, daemons, native integrations).
  • Experience with version control system tools such as Git and GitHub, CI/CD.
    Takes ownership end-to-end — from identifying problems to shipping solutions — with a bias for speed,
  • quality, and accountability.
  • Collaborates openly, communicates with clarity, embraces feedback, and continuously raises the bar for themselves and those around them.
  • Experience working with MS Office/Excel, Google Suite, Notion.
  • Portuguese - Fluent.
  • English - Advanced.
  • Ability to travel as needed to support events and meet the team.
     


Preferred Qualifications

  • Familiarity with JNA/JNI or OS-level APIs (Windows, macOS, Linux).
  • Experience packaging and distributing desktop Java applications (installers, auto-update mechanisms, OS packaging).
  • Proficiency in Modularization (JPMS) and Java Virtual Machine (JVM) profiling and tuning.
  • Experience with distributed systems fundamentals and low-level communication protocols — including IPC, gRPC, TCP/UDP sockets, or message-based architectures.
  • Experience with SpringBoot.
  • Prior experience in an early-stage, high-growth, and fast-paced startup environment.