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, and emulator. This project explores the fundamentals of computer architecture and low-level programming.
    • Technologies Used: Go (Golang) for software components, and ANTLR4 for lexer and parser
    • GitHub Repository: GitHub Repository
  • 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 or RS232 serial devices, offering on-the-fly configuration changes and output mode selection. GitHub Repository

  • WSFTP (App): A local network instant messaging and file transfer program using TCP/IP, UDP, and WebSocket 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: