About Me
I've been building software professionally since 2011—across enterprises, small elite engineering teams, and early-stage startups. Over the years, my work has spanned telecom systems, government infrastructure, cloud platforms, and now Bitcoin Layer-2 protocols. That breadth shaped the way I build: with a mix of pragmatism, reliability, and a strong systems-thinking mindset.
Engineering Identity
For the past 7 years, my primary language has been Go, with a focus on clean, maintainable backend systems that follow hexagonal architecture, DDD principles, and clear separation of domains, ports, and adapters. Every service I write is built with observability and profiling baked in from day one—OpenTelemetry, Prometheus, Loki, Jaeger, Pyroscope, the whole stack. Before Go, I spent 7 years in enterprise Java ecosystems, which taught me discipline, modularity, and how to design systems that survive huge teams and long lifecycles. Today, I still read and translate code across Python, C++, Java, PHP, and Rust, which gives me a strong sense of trade-offs between ecosystems and implementation styles.
Bitcoin Focus (2020 → Present)
Since 2020, my work has been centered on Bitcoin infrastructure, wallet systems, and Layer-2 protocol development. I'm interested in Bitcoin at the infrastructure and protocol level—not smart contracts or apps built on top of someone else's chain, but the actual engine: multi-sig wallets, key management, Taproot, multi-party protocols, and trust-minimized designs. Been contributing to many open source projects in this area but most important are Ark and Tdex. I enjoy working on hard problems that require both cryptographic thinking and pragmatic engineering.
Infrastructure Mindset
Although I'm a backend engineer, I've always owned the full lifecycle of the systems I build: AWS architecture (VPCs, RDS, ElastiCache, VPC Endpoints, ECS, Lambda), Infrastructure as Code (Terraform/OpenTofu, CloudFormation), Zero-SSH environments with SSM, production observability pipelines, security, encryption, and key management flows, CI/CD, deployment automation, and reliability engineering. I'm not the kind of engineer who writes code and throws it over the wall. I design the runtime environment, the network, the monitoring, the failure modes, the dashboards, the alerts, the profiling stack, and the mechanisms that keep a system alive at 3 AM.
AI-Agentic Systems
My newest area of focus is AI-powered developer tooling. I've been designing multi-agent systems that understand a codebase, reason about it, and assist in development workflows. These systems combine semantic project routing, specialized agents, automated context loading, and CLI plugins and orchestrators. AI is now becoming a force multiplier for engineering—and I'm building the tools I wish I had ten years ago.
Java
Spring Boot
DevOps
Golang
Serverless Computing
Liquid
Blockchain
Bitcoin
Kubernetes
Amazon Web Services
Kirill G.
Podgorica, Montenegro
$30/hr
5.0
3 jobs
Kirill Gorelyi, Java Developer
Summary
* Accomplished software engineer with 6+ years of industry experience
* Solid background in systems architecture, database design, and infrastructure administration
* Excellent command of JVM programming stack, including Spring and Play Frameworks
* Knowledgeable in both SQL and NoSQL technologies
* Comfortable working in a distributed international team
Tell us what you need. Create your own job post or generate one with AI then filter talent matches.
Hire top talent fast
Consult, interview, and hire quickly, so you can meet the freelancers you're excited about.
Collaborate easily
Use Upwork to chat or video call, share files, and track project progress right from the app.
Payment simplified
Manage payments in one place with flexible billing options. Only pay for approved work, hourly or by milestone.
Don't just take our word for it
“Upwork provides an umbrella-level of security. I can see a talent’s work history and ratings. I can hold payments in escrow. I can communicate through Upwork Messages instead of working through my email address.”
KD
Kim Darling
Emerald Tiger
“Upwork is the best platform to hire skilled professionals when we're not looking for a full-time employee. All the companies in our portfolio use Upwork to find talent across a wide range of fields.”
DM
David Merry
Kinetic Investments
“Our very specific requirements can be a challenge—With Upwork, we’re able to access a bigger community to ensure the success of our projects.”
Top interview questions to help you hire the right Java developers, faster.
How do I hire a Java Developer in Montenegro on Upwork?
You can hire a Java Developer in Montenegro on Upwork in four simple steps:
Create a job post tailored to your Java Developer project scope. We'll walk you through the process step by step.
Browse top Java Developer talent on Upwork and invite them to your project.
Once the proposals start flowing in, create a shortlist of top Java Developer profiles and interview.
Hire the right Java Developer for your project from Upwork, the world's largest work marketplace.
At Upwork, we believe talent staffing should be easy.
How much does it cost to hire a Java Developer?
Rates charged by Java Developers on Upwork can vary with a number of factors including experience, location, and market conditions. See hourly rates for in-demand skills on Upwork.
Why hire a Java Developer in Montenegro on Upwork?
As the world's work marketplace, we connect highly-skilled freelance Java Developers and businesses and help them build trusted, long-term relationships so they can achieve more together. Let us help you build the dream Java Developer team you need to succeed.
Can I hire a Java Developer in Montenegro within 24 hours on Upwork?
Depending on availability and the quality of your job post, it's entirely possible to sign up for Upwork and receive Java Developer proposals within 24 hours of posting a job description.