Welcome
Hi! Welcome to my to my professional portfolio
This is a couple of things, you might need to know about me.
Introduction
Hello. I’m Emre Ocak, a dedicated software engineer with a diverse background and a profound passion for computer network, computer architecture and engineering in general. Currently, I serve as a Senior Backend Developer at Masomo, a leading mobile game company, where I focus on maintaining core services and designing new system architectures using Go (Golang).
My Journey
After completing high school, I pursued a degree in Civil Engineering at Eskişehir Osmangazi University. I began my career as a site chief and, after two years, was promoted to Assistant Project Manager. Despite the success, I realized that this path didn’t ignite my passion. Programming had been a hobby since my teenage years, evolving into a deep-seated passion. This realization led me to study Computer Science at Dokuz Eylul University. After a year, I transitioned to the International Computer Institute at Ege University for my master’s degree. However, I ultimately decided to leave the program to fully immerse myself in the software development field.
Professional Experience
Senior Backend Developer
Masomo Miniclip
August 2022 – Present (2 years 7 months)
- System Architecture Design: Led the design and implementation of new system architectures to enhance scalability and performance.
- Core Services Maintenance: Managed and optimized core services to ensure reliability and efficiency.
- Service Refactoring: Refactored existing core services to improve code quality and maintainability.
Backend Developer
Masomo
July 2021 – Present (3 years 8 months)
İzmir, Turkey
- Core Services Maintenance: Maintained and optimized core services to ensure seamless operations.
- Communication Optimization: Enhanced internal and external service communications for improved performance.
- Resource Optimization: Implemented resource optimizations for game servers to support high user engagement.
- Architecture Development: Designed and implemented new communication architecture models for optimization purposes.
- Primary Technology: Utilized Go (Golang) for backend development.
Software Engineer
Loggma
October 2020 – July 2021 (10 months)
İzmir, Turkey
- SCADA Systems Development: Designed and implemented SCADA systems for Solar Energy Power Plants using Go.
- Communication Adapter Development: Developed communication adapter systems (Modbus-RTU, Modbus-TCP, IEC 60870-104) using Go and Python.
Backend Developer
Solar Bankers Turkey
July 2020 – October 2020 (4 months)
İzmir, Turkey
- Energy Trading Platform: Designed and partially implemented a microservice architecture for an e-commerce energy trading system using C#, .NET Core, and MVC.
- Solar Node Development: Designed and developed a Linux service-based OS for a blockchain-based, solar-powered device using Go.
- Solar Server Development: Designed and implemented a server-side application for device communication, notification, and monitoring using Go.
Technical Skills
Programming Languages:
- Go (Golang): Primary language for backend development.
- C/C++: Used for performance-critical applications and embedded systems.
- Python: Applied in data visualization and machine learning projects.
- Java: Experience in desktop and mobile application development.
- C#: Utilized for game development with Unity.
- Assembly (NASM): Explored for low-level programming and system optimization.
Technologies and Tools:
- Operating Systems: Linux (
proficient in command-line operations
), MACOS, Windows - Version Control: Git, GitHub, Gitlab, Bitbucket
- AWS Services: EC2, S3, ElastiCache, DynamoDB, DocumentDB, Lambda.
- Frameworks and Libraries: .NET Core, MVC
- Distributed Tracing: Jaeger
- Communication Protocols: TCP/IP, UDP, HTTP, Websocket,
gRPC with Protocol Buffers
- Message Queuing Systems: NATS, RabbitMQ
- Databases: MySQL, PostgreSQL
- Containerization: Docker
Selected Projects
- E8 Computer (Assembler & Emulator):
- Description: Developed a
custom
8-bit computer system, including its own instruction set architecture (ISA),assembler
,linker
, andemulator
. This project explores the fundamentals of computer architecture and low-level programming. - Technologies Used:
Go
(Golang) for software components, andANTLR4
for lexer and parser - GitHub Repository: GitHub Repository
- Description: Developed a
- Cubic Match (Mobile Game):
- Platform: iOS and Android (Unity)
- Description: Developed “Cubic Match,” an innovative match-based puzzle game that redefines the genre with its unique mechanics and engaging gameplay. The game challenges players’ problem-solving skills through a series of increasingly complex puzzles.
- Links:
-
Jin (Package): A JSON parser/interpreter tool with advanced manipulation functions, known for its speed and
zero memory allocation
. GitHub Repository -
Termium (Package): A
CLI package
enabling the creation of panel-based applications with built-in command-line interaction capabilities. GitHub Repository -
Surreal (Package): A command-line tool for communication with
USB UART
orRS232
serial devices, offering on-the-fly configuration changes and output mode selection. GitHub Repository - WSFTP (App): A local network
instant messaging
andfile transfer program
using TCP/IP, UDP, andWebSocket
protocols. GitHub Repository
Hobbies and Interests
- Computer Architecture and Electrical Engineering: Enthusiast of low-level computer systems and hardware design, with a focus on 8-bit computers and their architectures.
- Sci-Fi and Fantasy Literature: Reader of science fiction and fantasy genres, including works like “The Lord of the Rings” and “Middle-earth” series.
Contact Information
Feel free to reach out to discuss potential collaborations or opportunities: