messenger

Chat Mess

zalo

Chat Zalo

phone

Phone

Gọi ngay: 097.5151.777
messenger

Facebook

messenger

TikTok

Hỗ trợ tư vấn: 097.5151.777
OCB

IT - Golang Developer

Hồ Chí Minh
Thỏa thuận Hạn: 2026-07-31

Mô tả công việc

Bắt buộc - Thành thạo Golang. Hiểu rõ: Goroutine, Channel, Context, Interface, Pointer, Memory management, Error handling, Concurrency patterns, Worker pool, Pipeline pattern, Fan-in/Fan-out. - Có kinh nghiệm Microservices và quen thuộc với các pattern: API Gateway, Service Discovery, Circuit Breaker, Saga, Retry, Idempotency. - Thành thạo thiết kế RESTful API, OAuth2, JWT, Swagger/OpenAPI. - Có kinh nghiệm Kafka, IBM MQ - Làm việc tốt với Oracle/PostgreSQL/MySQL; hiểu SQL optimization, indexing, partitioning, transaction isolation, locking, connection pooling. - Hiểu CI/CD, Helm, ArgoCD. - Có kinh nghiệm monitoring, tracing, logging với ELK, Prometheus, Grafana, Splunk, Open Telemetry Yêu cầu khác - Tốt nghiệp Đại học CNTT hoặc ngành liên quan. - Tư duy logic và khả năng giải quyết vấn đề tốt. - Chủ động học hỏi và nghiên cứu công nghệ mới. - Có trách nhiệm và khả năng làm việc nhóm tốt. - Đọc hiểu tài liệu tiếng Anh. Điểm cộng - Kinh nghiệm Banking / Financial / Payment. - Hiểu Event-driven Architecture, DDD, Clean Architecture. - Kinh nghiệm Redis, Confluent Kafka, High TPS. - Hiểu OpenTelemetry, Jaeger, Secure Coding, OWASP, mTLS. - Có kinh nghiệm với Cloud platforms như: AWS/Azure/GCP

Yêu cầu ứng viên

Bắt buộc - Thành thạo Golang. Hiểu rõ: Goroutine, Channel, Context, Interface, Pointer, Memory management, Error handling, Concurrency patterns, Worker pool, Pipeline pattern, Fan-in/Fan-out. - Có kinh nghiệm Microservices và quen thuộc với các pattern: API Gateway, Service Discovery, Circuit Breaker, Saga, Retry, Idempotency. - Thành thạo thiết kế RESTful API, OAuth2, JWT, Swagger/OpenAPI. - Có kinh nghiệm Kafka, IBM MQ - Làm việc tốt với Oracle/PostgreSQL/MySQL; hiểu SQL optimization, indexing, partitioning, transaction isolation, locking, connection pooling. - Hiểu CI/CD, Helm, ArgoCD. - Có kinh nghiệm monitoring, tracing, logging với ELK, Prometheus, Grafana, Splunk, Open Telemetry Yêu cầu khác - Tốt nghiệp Đại học CNTT hoặc ngành liên quan. - Tư duy logic và khả năng giải quyết vấn đề tốt. - Chủ động học hỏi và nghiên cứu công nghệ mới. - Có trách nhiệm và khả năng làm việc nhóm tốt. - Đọc hiểu tài liệu tiếng Anh. Điểm cộng - Kinh nghiệm Banking / Financial / Payment. - Hiểu Event-driven Architecture, DDD, Clean Architecture. - Kinh nghiệm Redis, Confluent Kafka, High TPS. - Hiểu OpenTelemetry, Jaeger, Secure Coding, OWASP, mTLS. - Có kinh nghiệm với Cloud platforms như: AWS/Azure/GCP

Phân tích kỹ năng cần có

## Phân Tích Kỹ Năng Cần Có cho Golang Developer tại OCB ### 🔴 Hard Skills Bắt Buộc (Priority cao) **1. Golang Mastery (Cốt lõi)** - Goroutine & Channel: Hiểu sâu về concurrent execution, deadlock, race condition - Context: Propagation, cancellation, timeout handling - Interface & Pointer: Composition, duck typing, memory efficiency - Memory management: Stack vs Heap, garbage collection behavior - Error handling: Error wrapping, custom error types, sentinel errors - Concurrency patterns: Worker pool, Pipeline, Fan-in/Fan-out **2. Microservices Architecture** - API Gateway pattern (Kong, Envoy, Ocelot) - Service Discovery (Consul, Eureka) - Circuit Breaker (Hystrix, Resiliency4j) - Saga pattern (choreography vs orchestration) - Retry với exponential backoff - Idempotency trong distributed systems **3. Message Queue** - Kafka: Topic, Partition, Consumer group, Offset management, Exactly-once semantics - IBM MQ: Queue manager, Channel, Message persistence **4. Database** - Oracle, PostgreSQL, MySQL - SQL optimization: Query plan analysis, EXPLAIN - Indexing strategies: B-tree, Hash, Composite - Partitioning: Range, Hash, List - Transaction isolation levels: READ COMMITTED, SERIALIZABLE - Locking mechanisms, Connection pooling (PgBouncer) **5. DevOps & Observability** - CI/CD: Jenkins, GitLab CI, GitHub Actions - Helm: Chart templates, values override - ArgoCD: Application definition, Sync policy - Monitoring: Prometheus metrics, Grafana dashboards - Logging: ELK Stack (Elasticsearch, Logstash, Kibana) - Tracing: OpenTelemetry, Jaeger, Zipkin ### 🟡 Soft Skills - Tư duy logic và giải quyết vấn đề (đặc biệt trong distributed systems) - Khả năng đọc hiểu tài liệu tiếng Anh kỹ thuật - Chủ động học hỏi công nghệ mới - Làm việc nhóm hiệu quả ### 🟢 Điểm Cộng Quan Trọng - Kinh nghiệm Banking/Financial/Payment → Ưu tiên cao - Event-driven Architecture, DDD, Clean Architecture - High TPS optimization (10,000+ requests/sec) - Redis caching strategy - Cloud platforms: AWS (ECS, EKS, Lambda), Azure, GCP - Security: OWASP, Secure Coding, mTLS ### 📋 Bảng So Sánh Cấp Bậc Kỳ Vọng | Cấp bậc | Golang | Microservices | Database | DevOps | |---------|--------|---------------|----------|--------| | Junior (1-2 năm) | Cơ bản, có thể viết API | Hiểu lý thuyết | CRUD, basic optimization | Biết dùng Git, Docker cơ bản | | Mid (2-4 năm) | Thành thạo concurrency | Deploy thực tế | Performance tuning | CI/CD pipeline | | Senior (4-6 năm) | Expert, performance optimization | Architecture design | DB clustering, sharding | Infrastructure as Code | | Lead (6+ năm) | Team technical guidance | System design | Data modeling strategy | Platform engineering |

Chuẩn bị phỏng vấn

## Hướng Dẫn Phỏng Vấn Golang Developer tại OCB ### 📋 Quy Trình Phỏng Vấn Thông Thường **Vòng 1: HR Screening (30-45 phút)** - Kiểm tra kinh nghiệm, độ phù hợp - Tìm hiểu mong muốn lương, timeline - Đánh giá kỹ năng giao tiếp **Vòng 2: Technical Interview - Kiến thức nền (45-60 phút)** - Deep dive vào Golang internals - Database design & optimization - System design basics **Vòng 3: Technical Interview - Coding/Architecture (60-90 phút)** - Live coding hoặc take-home assignment - Thiết kế hệ thống microservices - Xử lý tình huống thực tế **Vòng 4: Manager/HOD Interview (30-45 phút)** - Cultural fit - Career path discussion - Team collaboration ### 🎯 Câu Hỏi Thường Gặp theo Vòng **Vòng HR:** - "Tại sao bạn muốn chuyển sang làm trong ngành Banking?" - "Bạn expect mức lương bao nhiêu?" - "Bạn có kinh nghiệm làm việc với hệ thống tài chính chưa?" **Vòng Technical:** - "Giải thích Goroutine vs Thread? Go quản lý concurrency như thế nào?" - "Race condition là gì? Làm sao detect và prevent?" - "Context trong Go dùng để làm gì? Khi nào nên cancel?" - "Thiết kế API cho hệ thống chuyển tiền ngân hàng, cần lưu ý gì?" - "Sự khác nhau giữa Kafka và IBM MQ? Khi nào dùng cái nào?" - "Explain Circuit Breaker pattern? Implementation thế nào?" - "Transaction isolation level nào phù hợp cho payment transaction?" - "Mô tả cách bạn optimize một query chậm (EXPLAIN, indexing)?" - "Deadlock xảy ra như thế nào? Làm sao debug?" **Coding Challenge (Live):** - Implement Worker Pool pattern - Design concurrent pipeline xử lý batch transactions - Rate limiter implementation - LRUCache với thread safety **System Design:** - Thiết kế hệ thống xử lý 1 triệu transactions/ngày - Design API Gateway cho microservices ngân hàng - Data partitioning strategy cho ledger system ### 👔 Dress Code & Tips - **Trang phục:** Business casual (áo sơ mi, quần âu) - ngành ngân hàng vẫn cần chỉnh chu - **Thái độ:** Chủ động, tự tin nhưng không kiêu, sẵn sàng nhận feedback - **Chuẩn bị:** Mang theo laptop/code sample để show nếu được - **Nghiên cứu trước:** Tìm hiểu OCB, sản phẩm digital banking của họ - **Câu hỏi cho nhà tuyển dụng:** Hỏi về tech stack hiện tại, team size, roadmap

Lộ trình ôn thi

## Lộ Trình Ôn Tập & Chuẩn Bị (1-2 tuần) ### 📚 Kiến Thức Nền Tảng Cần Nắm Vững **Week 1: Golang Deep Dive** | Chủ đề | Tài liệu | Thời gian | Mức độ quan trọng | |--------|----------|-----------|-------------------| | Goroutine & Channel | go.dev, "Concurrency in Go" | 2 ngày | ⭐⭐⭐⭐⭐ | | Context & Cancellation | blog.golang.org/context | 1 ngày | ⭐⭐⭐⭐⭐ | | Memory Model | golang.org/ref/mem | 1 ngày | ⭐⭐⭐⭐ | | Error Handling Patterns | pkg.go.dev/errors | 1 ngày | ⭐⭐⭐⭐⭐ | | Worker Pool Implementation | github.com/golang/go/sync | 2 ngày | ⭐⭐⭐⭐⭐ | **Week 2: Architecture & Tools** | Chủ đề | Tài liệu | Thời gian | Mức độ quan trọng | |--------|----------|-----------|-------------------| | Microservices Patterns | microservices.io | 2 ngày | ⭐⭐⭐⭐⭐ | | Kafka Fundamentals | confluent.io/learn | 1.5 ngày | ⭐⭐⭐⭐ | | Database Optimization | use-the-index-luke.com | 1.5 ngày | ⭐⭐⭐⭐ | | Observability Stack | opentelemetry.io | 1 ngày | ⭐⭐⭐⭐ | | CI/CD & Kubernetes | kubernetes.io/docs | 1 ngày | ⭐⭐⭐ | ### 📖 Tài Liệu Tham Khảo Bắt Buộc **Sách:** - "The Go Programming Language" - Alan A. A. Donovan - "Go in Action" - Brian Ketelsen - "Designing Data-Intensive Applications" - Martin Kleppmann ( microservices) **Online:** - go.dev/tour - Official Go tour - github.com/uber-go/goo - Best practices - refactoring.guru - Design patterns **Practice Platforms:** - LeetCode (tag: Go) - Exercism.io (Go track) - Codeforces (Go solutions) ### 🎯 Checklist Trước Phỏng Vấn **Golang:** - [ ] Giải thích được Goroutine调度 (scheduler) - [ ] Viết được thread-safe code với mutex/rwmutex - [ ] Implement được context với timeout - [ ] Xử lý được error wrapping chain **Database:** - [ ] Đọc và phân tích EXPLAIN output - [ ] Thiết kế được index strategy - [ ] Hiểu transaction isolation levels - [ ] Xử lý được deadlock scenario **Microservices:** - [ ] Vẽ được architecture diagram - [ ] Giải thích được service mesh concept - [ ] Hiểu saga pattern implementation **System Design:** - [ ] Ước lượng scale (QPS, storage, latency) - [ ] Trade-off analysis (CAP theorem) - [ ] High availability design

Tư vấn nghề nghiệp

## Lời Khuyên Sự Nghiệp cho Golang Developer trong Ngành Ngân Hàng ### 📈 Lộ Trình Thăng Tiến ``` Junior Developer (1-2 năm) ↓ Mid-Level Developer (2-4 năm) ↓ Senior Developer (4-6 năm) ↓ Tech Lead / Team Lead (6-8 năm) ↓ Architect / Engineering Manager (8+ năm) ``` ### 💰 Mức Lương Kỳ Vọng (Thị trường TP.HCM 2024) | Cấp bậc | Kinh nghiệm | Lương tháng (VND) | Notes | |---------|-------------|-------------------|-------| | Junior | 0-2 năm | 15-25 triệu | Có thể cao hơn nếu strong Go | | Mid | 2-4 năm | 25-40 triệu | Fintech/ Banking premium | | Senior | 4-6 năm | 40-60 triệu | + thưởng performance | | Lead | 6+ năm | 60-90 triệu | + equity/bonus | **Lưu ý:** Vị trí này "thỏa thuận" → Nên research kỹ market rate, đề xuất dựa trên giá trị bản thân ### 🎯 Kỹ Năng Cần Phát Triển Thêm **Ngắn hạn (6 tháng):** - Hoàn thiện Go concurrency patterns - Nắm chắc microservices deployment - CI/CD pipeline automation **Trung hạn (1-2 năm):** - Cloud certification (AWS Solutions Architect) - Security best practices (OWASP) - Event-driven architecture - Domain-Driven Design **Dài hạn (3+ năm):** - System architecture design - Team leadership - Technical mentoring - Business domain knowledge (payment, core banking) ### 🏦 Đặc Thù Ngành Ngân Hàng IT **Ưu điểm:** - Stability cao, ít bị layoffs - Compensation tốt (thường top-of-market) - Project impact lớn (hệ thống tài chính quốc gia) - Cơ hội học hỏi về domain knowledge (payment, compliance) **Thách thức:** - Quy trình phê duyệt dài (change management) - Compliance & regulation strict - On-call duty cho production systems - Technical debt thường cao (legacy systems) ### 🔄 Chuyển Từ Other Industries Sang Banking **Điều cần chuẩn bị:** - Hiểu về Payment systems (STP, SWIFT) - Regulatory requirements (PCI-DSS,央行 regulations) - Security mindset từ design phase - Audit trail & logging requirements **Lời khuyên:** Nếu chưa có banking exp, hãy tự học về financial domain - đây là điểm cộng lớn khi phỏng vấn

Câu hỏi thường gặp

Em mới tốt nghiệp CNTT, chưa có kinh nghiệm Golang chuyên sâu. Có nên ứng tuyển vị trí này không?

Vị trí này yêu cầu khá cao (microservices, message queue, observability), nên nếu bạn mới grad và chưa có kinh nghiệm thực tế, khả năng pass sẽ thấp. Tuy nhiên, nếu bạn có project cá nhân dùng Go, đã tìm hiểu về microservices, hãy thử ứng tuyển. Gợi ý: apply vào vị trí Junior/S fresher nếu có, hoặc build 1-2 năm kinh nghiệm ở startup trước.

Hiện em đang làm Backend Node.js, muốn chuyển sang Golang. Cần chuẩn bị gì?

Điểm mạnh của bạn: đã có backend exp, hiểu RESTful, database. Cần bổ sung: (1) Golang concurrency patterns - đây là khác biệt lớn nhất với Node.js async/await, (2) Go-specific tooling (go mod, testing, benchmark), (3) Microservices deployment (Docker, Kubernetes), (4) Observability stack. Thời gian chuẩn bị: 3-6 tháng tự học + project Golang cá nhân.

Mức lương cho Golang Developer ở OCB (ngân hàng) so với fintech như thế nào?

Thông thường, ngân hàng传统 có mức lương cạnh tranh với fintech, có phần stable hơn nhưng bonus có thể thấp hơn. Cụ thể: ngân hàng thường offer base cao hơn 10-20% so với startup cùng cấp, nhưng equity/stock options ít hơn nhiều. Nếu bạn quan trọng stability và benefit (bảo hiểm, retirement), banking là lựa chọn tốt.

Kỹ năng nào được đánh giá cao nhất khi phỏng vấn vị trí này?

Top 3 skills OCB sẽ test kỹ: (1) Golang concurrency - đây là core differentiator của Go, sẽ hỏi sâu về goroutine调度, channel blocking, deadlock scenarios; (2) Microservices patterns - đặc biệt Saga, Circuit Breaker - vì hệ thống ngân hàng cần distributed transaction management; (3) Database optimization - transactions trong banking phải ACID-compliant, nên SQL optimization và transaction isolation là must-know.

Mình có 5 năm kinh nghiệm, đang ở mức Senior. Ứng tuyển OCB Golang Developer có phù hợp không?

Hoàn toàn phù hợp! Với 5 năm kinh nghiệm, bạn nên target vị trí Senior hoặc Tech Lead. Điểm cộng lớn: "Kinh nghiệm Banking/Financial/Payment" - nếu bạn đã làm ở fintech hoặc payment gateway, hãy nhấn mạnh điểm này. Khi phỏng vấn, họ sẽ đánh giá khả năng architecture design, không chỉ coding đơn thuần. Chuẩn bị: show portfolio về system design, high-level architecture diagrams.

Làm trong ngân hàng IT khác gì so với công ty công nghệ?

Khác biệt chính: (1) Quy trình - ngân hàng có nhiều layer approval, change request phức tạp hơn công ty tech; (2) Stability - ít startup vibes, ít thay đổi đột ngột; (3) Security - strict hơn nhiều, mọi thứ phải audit được; (4) Tech stack - có thể legacy hơn, nhưng các ngân hàng lớn đang chuyển đổi số mạnh nên cũng hiện đại; (5) Working hours - thường flexible, ít OT hơn startup. Nếu bạn thích stability và làm việc có quy trình rõ ràng, banking IT phù hợp.

Điểm cộng nào quan trọng nhất để được deal lương tốt hơn?

Điểm cộng có giá trị nhất theo thứ tự: (1) Banking/Financial exp - đây là requirement thực tế vì domain knowledge mất thời gian học; (2) High TPS experience - xử lý volume lớn, performance optimization; (3) Cloud (AWS/GCP/Azure) - vì OCB đang digital transformation; (4) Security knowledge (OWASP, secure coding) - critical cho financial systems. Nếu có 2-3 điểm trong số này, bạn hoàn toàn có thể đàm phán lương top range.

Work-life balance trong ngân hàng IT như thế nào? Có phải OT nhiều không?

So với fintech/startup, banking IT thường có work-life balance tốt hơn. Tuy nhiên: (1) Có on-call rotation cho production systems - thường 1-2 tuần/lần; (2) Release deadline (cuối quý) có thể cần OT; (3) Project mới hoặc migration có thể bận hơn. Đổi lại: working hours flexible, ít deadline kiểu "move fast break things", và job security cao. Nếu bạn quan tâm balance, hỏi rõ về on-call policy và sprint rhythm khi phỏng vấn.