BK

KULAKSIZ Berk

Berk KULAKSIZ

Senior Software Engineer

Name:Berk KULAKSIZ
Date of birth:02 Mart 1995
Address:Atasehir,Istanbul,Turkey
Phone:+905318519595
Email:iletisim@berkkulaksiz.com
When I started university for Computer Programming (Associate Degree) in June 2013, in parallel I also started having many various courses and trainings which are from the base to advanced levels at C&System Programmers Association. After I graduated with Computer Programming (Associate Degree) in June 2015, I got into university Software Engineering (Bachelor Degree) within same year. During my university education, I involved different freelance projects and individual works. Also, I have been working on Virtual Reality, Augmented Reality, Game Programming and Search Engine Optimization (SEO).

WORK EXPERIENCES

December 2019 - present

Lydians

Senior Software Engineer

I work in a startup company that aims to enter the market with pioneering innovations in the finance sector. I am a member of the team that develops mobile applications in the company. I am software architect responsible for Android application development.

I have developed a library of which I am the inventor, with an unusual architectural design approach (a blend of design patterns such as MVC, MVVM, Factory Method, Builder, Adapter, Facade, DTO and so on) in the Android application. When we translate the work of this library into Turkish, it is actually the user interface development work on dynamic screens.

The programming language and libraries we prefer to use in the Android application are as follows, respectively.

  1. Programming Languages: Kotlin (90% – 95%), Java (5% – 10%)
  2. Network API Call: Retrofit RESTful API Call
  3. JSON Serialization & Deserialization: Moshi Adapter
  4. Local Database: Realm Database
  5. Error State Analysis: Crashlytics
  6. Logging: SLF4J
  7. Activity & Fragment Navigation: Android JetPack Navigation Component
  8. Image Download: Picasso Image Downloading Library
  9. Image Resizing: uCrop
  10. Animation: Lottie
  11. Dependency Injection: Dagger2
  12. Real Time Communication: Smack XMPP Client library & STOMP
  13. Visualizing Data: MPAndroidChart

The architectural understanding of the Android application has a hybrid architecture that blends the design patterns I mentioned above. In terms of UI development on dynamic screens, an iOS Developer has the same logic in terms of usage/coding as if he were developing an iOS application without any foreignness. I have experienced that this has a positive effect on development time.

January 2019 - December 2019

KocDigital

Software Development Engineer

Manufacturing Execution System Project

Gathering the data of the “Production / Assembly” operations in the “Production / Assembly stations” of the factories and form a big data structure. To understand the generated big data and provide specific reports to the end user.

One of the other objectives of the project is increasing the quality of the “Production / Assembly” line, inform the operators of any failure situation with HMIs and to prevent / stop the line stopping.

This project is based on “Monolithic Architecture” structure and developed by using approaches such as .NET Core technology, MVC design template and Entity Framework Code First. Web Application, Desktop Application, HMI Application and Web API application.


Platform 360 Demir Export Predictive Maintenance Analytics Project

Generating a big data by periodically retrieving data from the sensors used in mining equipment. To understand the generated big data and provide specific reports to the end user. Using “Artificial Intelligence Algorithms” with the data received from the sensors and inform the authorized person or persons before any failure occurs in the device.

This project was built on “Monolithic Architecture” structure and developed Web Application and Web API Application by using approaches such as .NET Core technology, MVC design pattern and Entity Framework Code First.


Assembly Management – Ford Factory (Gölcük) Project

Gathering the data of the “Production / Assembly” operations in the “Production / Assembly stations” of the factories and form a big data structure. To understand the generated big data and provide specific reports to the end user.

One of the other objectives of the project is increasing the quality of the “Production / Assembly” line, inform the operators of any failure situation with HMIs and to prevent / stop the line stopping.

This project is based on “Monolithic Architecture” structure and developed by using approaches such as .NET Core technology, MVC design template and Entity Framework Code First. Web Application, Desktop Application, HMI Application and Web API application.


IOTP360 Assembly Management –  Ethiopia DEFY Project

Gathering the data of the “Production / Assembly” operations in the “Production / Assembly stations” of the factories and form a big data structure. To understand the generated big data and provide specific reports to the end user.

One of the other objectives of the project is increasing the quality of the “Production / Assembly” line, inform the operators of any failure situation with HMIs and to prevent / stop the line stopping.

This project is based on “Monolithic Architecture” structure and developed by using approaches such as .NET Core technology, MVC design template and Entity Framework Code First. Web Application, Desktop Application, HMI Application and Web API application.

February 2018 - December 2018

KoçSistem

C++ Qt Software Development Engineer

In Business Solutions Department, I had worked in Pixage team for developing cross platform digital signage solution application with using C++ programming language and using Qt Framework. Application is basis on RTC Server  (Real Time Communication Server) and APIs (Application Program Interface) using C++ WebSocket communication. On the other hand, project is based on “Monolithic Architecture” and I have had made improvements based on SOLID principles for that architecture design. Also, project is converted to modern C++ standards (C++11, C++14 ve C++17) by myself.

June 2017 - September 2017

DGR Project

Android Mobile Application Developer

Basic Management System for SAP&EBA – Android Application
• Developed a management system similar to SAP and EBA.
• Developed with Java programming language and utilized Android frameworks such as Retrofit for the RESTful API, Picasso, Butter Knife and SQLite Room Persistence Library to manage the offline data.

Restaurant App – Android Application
• This app’s purpose is wherever you go, you can see the menu and order quickly on your phone with one and only app. It’s just prototype which was developed by me.
• Developed with Java programming language and utilized Android frameworks such as Retrofit for the RESTful API, Picasso for asynchronous image downloading and caching, Butter Knife and SQLite Room Persistence Library to manage the offline data.

December 2014 - January 2015

Agena Information and Defence Technologies...

Software Test Engineer

I worked as a Software Test Engineer at Agena Information and Defense Technologies Industry Trade Limited Company when I was going to the second year of the university in parallel with my school life. I had leave to work as I had to need more effort for my school’s lessons. Although I was very fond of and enthusiastically entered, I was leaving for that position because my school did not let me to work there. After that I separate my time for the school’s lessons. I worked for the field of defense technology of my company I have tested the previously prepared scenarios on the simulation that I have developed and learned how the system works properly and how it is being executed.

June 2014 - July 2014

Ekol Logistics Incorporated Company – IT...

Software Intern

I completed my compulsory summer semester (30 working days) internship at Ekol Logistics Incorporated Company / IT Solutions/ R&D.In my compulsory summer semester intership, The person, who is responsible for me, asked: “How do you create the desired Fleet Tracking System in a minimal format?” I practiced this by developing a visual application under the Microsoft .NET Framework and completed my summer practice.

EDUCATION INFORMATION

September 2015 - June 2018

Beykent University

Software Engineer

University (Bachelor Degree) – Beykent University- (Formal Education)

Faculty Of Engineering And Architecture, Software Engineering (English)

GPA: 3,49 / 4,00

September 2013 - June 2015

Maltepe University

Computer Programmer

University (Associate Degree) September 2013- June 2015 Maltepe University- (Formal Education)

Faculty Of Vocational Education, Computer Technology and Programming  (Turkish) – Scholarship Success (% 50)

GPA: 3,49 / 4,00

FOREIGN LANGUAGE

May 2015 - present

English Language

Upper-Intermediate

Reading       –  B1
Writing        –  B1
Listening     –  B1
Speaking     –  B1
Grammar    –  B1

EDUCATION CERTIFICATION INFORMATION

March 2016 - present

Android Programming

Android Mobile Application Developer

Education institution : C and System Programmers Association
Education start date : 17 November 2015
Education end date : 22 March 2016
Duration of education : 100 hours
Instructor : Aykut TASDELEN

 

 

February 2016 - present

Intel 80X86 ve ARM Symbolic Machine Language

Symbolic Machine Language Programmer

Education institution : C and System Programmers Association
Education start date : 03 February 2016
Education end date : 17 April 2017
Duration of education : 150 hours
Instructor :  Kaan ASLAN

 

May 2015 - present

System Programming and Advanced C Applications I

Embeded System Programmer

Education institution : C and System Programmers Association
Education start date : 16 May 2015
Education end date : 28 May 2016
Duration of education : 180 hours
Instructor :  Kaan ASLAN

 

 

March 2015 - present

C++ and Object Oriented Programming Language

C++ Programmer

Education institution : C and System Programmers Association
Education start date : 07 Jult 2014
Education end date :18 March 2015
Duration of education : 160 hours
Instructor : Necati ERGIN

 

November 2014 - present

C Programming Language

C Programmer

Education institution : C and System Programmers Association
Education start date : 20 April 2014
Education end date :08 November 2014
Duration of education : 160 hours
Instructor : Necati ERGIN

January 2014 - present

Introduction to Programming

Education institution : C and System Programmers Association
Education start date : 11 November 2013
Education end date :  25 January 2014
Duration of education : 80 hours
Instructor : Ali Vefa SERCE

May 2016 - present

System Programming and Advanced C Applications II

Embeded System Programmer

Education institution : C and System Programmers Association
Education start date : 29 May 2016
Education end date : 27 April 2017
Duration of education : 180 hours
Instructor :  Kaan ASLAN

 

 

May 2016 - present

Application Development with Qt

Qt Developer

Education institution : C and System Programmers Association
Education start date : 14 May 2016
Education end date : 27 February 2017
Duration of education : 160 hours
Instructor :  Kaan ASLAN

 

September 2018 - present

Advanced C++

C++ Programmer

Education institution : C and System Programmers Association
Education start date : 06 September 2018
Education end date :18 March 2019
Duration of education : 160 hours
Instructor : Necati ERGIN

April 2018 - present

iOS and mac OS X Platforms Application...

iOS and macOS Developer

Education institution : C and System Programmers Association
Education start date : 29 April 2018
Education end date : 29 April 2019
Duration of education : 160 hours
Instructor :  Kaan ASLAN

UML and Design Pattern

Software Architecture

By doing research from domestic and foreign sources, I continue to learn and learn UML schematics and design patterns.

 

UML diagram readability level: 10 points out of 10
The number of design patterns I have learned so far: 13 and more

 

Q: Which design patterns do I have learned?
A: I have learned 13 more of design patterns so far which are : Bridge, Observer, Iterator, Adaptor, Singleton, Factory Method, Abstract Factory, Dependency Injection, Model-View-Controller, Model-View-Presenter, Model-View-ViewModel, Repository, Unit of Work

SCHOLARSHIPS / PROJECTS

June 2014 - present

Virtual Reality and Augmented Reality Turkey...

Project name : Virtual Reality and Augmented Reality Turkey Platform
Project start date : June 2014 – continues today.
In the past, I have taken the web page which I have established with the purpose of promoting the field of technology in Turkey and spreading this technology field one step further, and have entered into the branding process again. My next studies will continue both to promote the Virtual Reality and Augmented Reality technologies I have consulted with software developers and many developer companies who want to work in these areas and I keep doing them.

October 2017 - present

keepdoin PMS

Co-Founder / CEO / Fullstack Web & Mobile Developer

Project name : keepdoin PMS
Project start date : October 2017 – continues today.

Regardless of the number of personnel, it is a new generation project management system that aims to increase the productivity in the work done, organizations that want artificial intelligence support to analyze business planning, job tracking, time management and personnel competencies.

*This application is under development to be cross-platform as Web, Android, iOS and Desktop application.

Version 1:
The backend implementation of the application was improved by using .Net Core Entity Framework Code First approach and Monolithic (Onion / Multi Layered / N-Tiered) Architecture. The design patterns used in the development process of the application were developed by considering the principles of MVC, Entity, Repository, UnitOfWork, Dependency Injection and SOLID. Multi Tenant, Redis Cache Implementation and ElasticSearch implementations were also included in the application infrastructure. The technologies used in Backend application are AutoMapper, Fluent Validation and Swagger API Documentation.

There are several technologies and 3rd party libraries while developing android application that are used such as Retrofit RESTful API Client, GSON, SQLite Room API, Picaso and etc. In addition, JAVA programming language is preferred for the developing android application. The design patterns are used in the development of the application were MVP, Entity, Generic Repository, Use-Case Contract etc.


Version 2:

One day, I have decided radical changes for the architecture of this application. Such as change the architecture from “Monolithic Architecture” to “Microservice Architecture”.

In these days, “Microservice Architecture” has become very popular. Radical changes, which are decided from by me, brought new technology and some of innovations and improvements. Technologies that we have started to using with this architecture such as: Container Orchestration (using Docker file and Rancher based on Kubernetes), Message Queue (RabbitMQ and Azure Hub), Redis Distributed Cache, ElasticSearch, LogStash, Kibana, FluentValidation, AutoMapper, Document Management System such as Nuxeo, User-Role Permission like PolicyServer, Ocelot is used as the Gateway to redirect each microservice from a single URL. While developing application, I have been using xUnit Test Framework for unit test method implementation with TDD (Test Driven Design) understanding.

In addition, CI & CD processes are managed through Azure DevOps in the application development processes (DevOps).


In addition, the application’s Web, Desktop and iOS applications are currently being developed.

Remote Control Smart Incubator

Project name: Remote Control Smart Incubator

This application is a mobile application that allows to control by providing remote access to sensors and camera on the incubator using TCP / IP Server-Client socket communication.

Restaurant App

Project name : Restaurant App – Android Application
• This app’s purpose is wherever you go, you can see the menu and order quickly on your phone with one and only app. It’s just prototype which was developed by me.
• Developed with Java programming language and utilized Android frameworks such as Retrofit for the RESTful API, Picasso for asynchronous image downloading and caching, Butter Knife and SQLite Room Persistence Library to manage the offline data.

Basic Management System for SAP & EBA

Project name: Basic Management System for SAP&EBA – Android Application
• Developed a management system similar to SAP and EBA.
• Developed with Java programming language and utilized Android frameworks such as Retrofit for the RESTful API, Picasso, Butter Knife and SQLite Room Persistence Library to manage the offline data.

My Campaigns

Proje name: My Campaigns

The purpose of this application is to process the flow of data published in social media using location services and using a system engine structure. As a result of the inferences obtained during this process, users’ instant location of the users according to their information and interest according to the users of the system is to show the campaign information of customers as a notification.

Christmas Gift Lottery

Project name: Christmas Gift Lottery
A simple raffle tool for easy and fast draws for the new year. I used the Kotlin programming language in the development of the Android application.

Let's keep in touch