Burak Serdar, Developer in Denver, CO, United States
Burak is available for hire
Hire Burak

Burak Serdar

Verified Expert  in Engineering

Back-end (Go) Developer

Location
Denver, CO, United States
Toptal Member Since
July 8, 2020

Burak is a Go expert. He is the author of the book "Effective Concurrency in Go" from Packt Publishing. He is an active member of the Go community, and one of the top Go contributors in Stack Overflow. Before starting his own company, Burak worked for Red Hat as a principal engineer for over a decade, designing and developing distributed back-end applications using Go and Java. He enjoys working with, diagnosing, and solving back-end programming problems, especially related to concurrency.

Portfolio

Cloud Privacy Labs
MDBootstrap, Visual Studio Code (VS Code), Scalable Application...
Red Hat
Eclipse, Enterprise Java Beans (EJB), Scalable Application...
Thomson Dialog/Thomson West
Enterprise Java Beans (EJB), Scalable Application, Scalable Web Services, HTML...

Experience

Availability

Part-time

Preferred Environment

Bash, Git, Go, Linux, Emacs, Concurrency

The most amazing...

...system I've developed is a privacy enhancing technology for JSON/XML messages, using schemas and overlays to implement privacy policies on data.

Work Experience

Co-founder

2019 - PRESENT
Cloud Privacy Labs
  • Designed and developed a privacy-enhancing technology using JSON/XML schema processors to implement privacy policies on data. Implemented JSON and XML schema validators and overlay processors using Go.
  • Designed and implemented a multi-tenant SaaS consent management system using MongoDB as the database and REST APIs with token/OIDC/cookie authentication running as Dockerized microservices on Kubernetes.
  • Developed an open-source tool using Go and gRPC to remotely manage deployments and network resources.
  • Designed and implemented a multi-tenant SaaS data subject request management system using Go and MongoDB. Developed the front-end using Bootstrap and Revel web framework for Go, which runs on Kubernetes using a Dockerized microservice architecture.
Technologies: MDBootstrap, Visual Studio Code (VS Code), Scalable Application, Scalable Web Services, Protobuf, gRPC, CentOS, HTML, OpenID Connect (OIDC), REST, JSON, Object-oriented Programming (OOP), Concurrent Programming, Containerization, Containers, APIs, Multithreading, NoSQL, Bash, Kubernetes, JavaScript, jQuery, Redis, Amazon EC2, Git, MySQL, Linux RHEL/CentOS, SQL, SOAP, Amazon Web Services (AWS), Distributed Systems, Go, JSON/XML Schemas, Swagger, Microservices, MongoDB, REST APIs, XML, Linux, Back-end, Docker, Leadership, JSON-LD, API Integration, Integration, RDFs, Linked Data, Fedora, RDF, API Architecture, Code Architecture, Architecture, DevOps, AWS SDK, OpenID, Software Architecture, Crypto, CSS, AWS Lambda, Relational Databases, PostgreSQL, Performance, Email, Email Protocols, DYNAMO, Serverless Architecture, Microservices Architecture, GitHub, Back-end Development, XML Schema, PKI, Keycloak, Software Design, Security, Data Protection, Cloud Platforms, Amazon S3 (AWS S3), Amazon DynamoDB, WebSockets, Concurrency, Data Pipelines

Principal Software Applications Engineer

2008 - 2019
Red Hat
  • Led the development of customer-facing Red Hat subscription APIs using Go. Trained and mentored team members, deployed the system on OpenShift, and integrated it with the 3-scale API management platform and all back-end components.
  • Led the development and integration of the open-source Lightblue enterprise data store framework to replace the Oracle database for web applications with MongoDB back end. Designed and developed multithreaded join algorithms, APIs, etc., in Java.
  • Designed and led the development of many Red Hat IT back-end services that deal with customer information, license keys, and subscriptions using Java/Jakarta EE services on the JBoss EAP. Implemented many of the service code and REST endpoints.
  • Led JBoss Data Virtualization automated deployment and adaptation for the Red Hat Business Intelligence team. This work was presented at Red Hat Summit 2016 in San Francisco.
  • Developed and deployed a self-correcting protocol and a SOAP web service to allocate and deliver registration numbers for vendor integration.
  • Played a key role in the initial adoption of SOA in Red Hat IT. Led the initial implementation of JBoss for service deployment by porting business logic in Spring-based web applications into Jakarta EE services.
  • Developed open-source deployment tools to manage remote deployments, automated configuration management, OIDC token management, etc.
  • Developed a storage driver for a Docker registry to serve images stored on Akamai NetStorage using image metadata published by Red Hat build pipeline.
Technologies: Eclipse, Enterprise Java Beans (EJB), Scalable Application, Scalable Web Services, WildFly, CentOS, HTML, OpenID Connect (OIDC), REST, JSON, Object-oriented Programming (OOP), Concurrent Programming, Containerization, Containers, APIs, Multithreading, Oracle, Bash, Kubernetes, JavaScript, jQuery, Redis, Amazon EC2, Docker, Agile Software Development, JBoss, Git, Linux RHEL/CentOS, Jakarta EE, SQL, SOAP, Amazon Web Services (AWS), Distributed Systems, Go, JSON/XML Schemas, Swagger, Microservices, REST APIs, Linux, Java, Back-end, MySQL, MongoDB, OpenShift, NoSQL, XML, Leadership, API Integration, Integration, Fedora, RHEL, API Architecture, Code Architecture, Architecture, DevOps, AWS SDK, OpenID, Software Architecture, Crypto, Relational Databases, PostgreSQL, Performance, Email, Email Protocols, Salesforce, Python, Microservices Architecture, GitHub, Back-end Development, XML Schema, PKI, Keycloak, Software Design, Security, Cloud Platforms, Concurrency

Senior Software Engineer

2004 - 2007
Thomson Dialog/Thomson West
  • Developed a distributed alert management system using Java to execute searches for users and email them a summary of found documents. The system supports auto-scaling based on load.
  • Contributed to the development and maintenance of Thomson Dialog's application back end that deals with user management, term taxonomies, search results management, etc., using Java.
  • Led the refactoring of the web application for the customer-facing front end to a scalable architecture using Apache Struts.
  • Designed and developed a text processing system to normalize entity names based on a predefined ruleset. Developed a prefix-tree-based algorithm due to a large number of normalization rules.
Technologies: Enterprise Java Beans (EJB), Scalable Application, Scalable Web Services, HTML, REST, JSON, Object-oriented Programming (OOP), Concurrent Programming, APIs, Multithreading, Oracle, Bash, JavaScript, C++, C, Agile Software Development, Git, Linux RHEL/CentOS, SQL, Distributed Systems, JSON/XML Schemas, REST APIs, XML, Linux, Java, Back-end, WebSphere, Jakarta EE, Leadership, API Integration, Integration, API Architecture, Code Architecture, Architecture, Software Architecture, Relational Databases, Performance, Back-end Development, Software Design

Senior Software Architect

1998 - 2004
Netsco, Inc.
  • Led the development of the NETSCo framework, containing a persistence engine similar to Hibernate, a JMS-based fault-tolerant replication and distributed workflow engine, and an application foundation framework for Jakarta EE.
  • Led the development and architecture of a military command control application running on JBoss using the NETSCo framework replication and persistence engines.
  • Developed CRM applications for different clients running on JBoss, WebSphere, and WebLogic application servers.
Technologies: Enterprise Java Beans (EJB), Scalable Application, Scalable Web Services, HTML, REST, JSON, Object-oriented Programming (OOP), Concurrent Programming, APIs, Multithreading, Bash, JavaScript, C++, C, Linux RHEL/CentOS, SQL, Distributed Systems, JSON/XML Schemas, REST APIs, XML, Linux, Java, Back-end, Oracle, Jakarta EE, Code Architecture, Architecture, Software Architecture, Relational Databases, Performance, Software Design

Layered Schemas

https://github.com/cloudprivacylabs/lsa
Layered schema architecture is developed to work with unified data semantics regardless of the data capture locale, data representation, format, or terminology. Traditional schemas (such as JSON/XML schemas) describe the data structure with limited semantic information. Layered schemas use structural constraints similar to traditional schemas and open-ended semantic annotations to describe data.

Embedded Opencypher interpreter

https://github.com/cloudprivacylabs/opencypher
This is an embedded interpreter for openCypher graph query language in Go. This project also includes a high-performance labeled property graph implementation. It is based on a parser generated using the ANTLR4 system.

Took - OIDC Token Manager for Command Line

https://github.com/bserdar/took
An open-source token management tool for secure storage and maintenance of JWTs obtained from OIDC identify provider servers. This tool allows users to authenticate with a server to get an API token, stores that token on a disk securely encrypted, retrieves the token when necessary, and then refreshes the token as necessary.

Lightblue Platform

https://github.com/lightblue-platform
An open-source enterprise datastore platform using MongoDB as a back end. This platform aims to be a universal persistence layer to replace all storage back-end services for business objects. I designed and implemented the query and projection languages, metadata architecture, and multi-threaded join implementation. I also wrote most REST APIs that interface with the system, Java, and Go client libraries to connect and query the system with a fluent API.

Watermelon - Infrastructure as Real Code

https://github.com/bserdar/watermelon
Watermelon is a tool for building infrastructure as code. It lets administrators use a regular programming language (as opposed to some specialized scripting language) to connect to remote Linux machines, run commands, and copy files to manage configuration remotely.

Watermelon abstracts the details of accessing those remote machines. It is highly concurrent and uses gRPC to communicate with infrastructure-as-code scripts.

Jcliff - Incremental Configuration Management for JBoss/Wildfly Servers

https://github.com/bserdar/jcliff
Jcliff configures a running instance of EAP6, JBoss, and Wildfly using modular configuration files. It applies incremental configuration changes to a running server. It allows automated configuration of servers using Puppet, Ansible, and Chef.

Languages

Go, Java, XML, SQL, HTML, C, C++, JavaScript, Bash, RDF, CSS, Cypher, DYNAMO, Python

Frameworks

Swagger, gRPC

Libraries/APIs

REST APIs, Protobuf, OpenID, jQuery, MDBootstrap

Paradigms

Concurrent Programming, REST, Microservices, Object-oriented Programming (OOP), Scalable Application, API Architecture, Microservices Architecture, Agile Software Development, DevOps, Serverless Architecture

Platforms

Linux, Docker, Kubernetes, Jakarta EE, CentOS, Linux RHEL/CentOS, JBoss, Amazon EC2, Amazon Web Services (AWS), Fedora, AWS Lambda, Oracle, OpenShift, WebSphere, Eclipse, Visual Studio Code (VS Code), Salesforce

Storage

MongoDB, JSON, JSON/XML Schemas, Relational Databases, XML Schema, MySQL, Redis, JSON-LD, PostgreSQL, Amazon S3 (AWS S3), Amazon DynamoDB, Data Pipelines, NoSQL, Neo4j

Other

Multithreading, APIs, Back-end, Scalable Web Services, Containers, Containerization, Architecture, Code Architecture, Integration, API Integration, Leadership, Performance, Software Architecture, Back-end Development, Software Design, Data Protection, Concurrency, Distributed Systems, OpenID Connect (OIDC), SOAP, RHEL, Email, Email Protocols, PKI, Security, Cloud Platforms, WebSockets, Linked Data, RDFs, Enterprise Java Beans (EJB), RPC, Cryptography, Crypto

Tools

Git, WildFly, GitHub, Keycloak, Emacs, AWS SDK, ANTLR 4

2000 - 2002

Master of Science Degree in Computer Science

North Carolina State University - Raleigh, NC

1996 - 1998

Master of Science Degree in Computer Science

Middle East Technical University - Ankara, Turkey

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring