Gokhan Yaliniz, Developer in Ankara, Turkey
Gokhan is available for hire
Hire Gokhan

Gokhan Yaliniz

Verified Expert  in Engineering

Software Developer

Location
Ankara, Turkey
Toptal Member Since
August 29, 2022

Gokhan is a talented software engineer and architect with over eight years of experience designing, coding, and testing complex software systems. His areas of expertise include full-stack application development, C/C++, Qt, QML, Linux, Python, JavaScript, software architecture, and computer vision. Gokhan worked on the application software development of computer vision and electro-optical systems and developed in-house SaaS tools. He also loves automating processes.

Portfolio

ASELSAN
C++, C, Qt, QML, Linux, Python, JavaScript, Vue, Node.js, Express.js...
ASELSAN
C++, C, UML, Software Architecture, C#, Object-oriented Programming (OOP)...
ASELSAN
C, C++, C#, OpenCV, Graphical User Interface (GUI), Subversion (SVN), Linux...

Experience

Availability

Part-time

Preferred Environment

C++, Qt, Visual Studio Code (VS Code), CMake, Unix, Web, Python, React, TypeScript, Django

The most amazing...

...I've developed: a software system that includes no-code apps and a framework that automates the creation of 60% of the source code files for the system itself.

Work Experience

Software Architect and Technical Lead

2019 - PRESENT
ASELSAN
  • Served as a software architect of large-scale computer vision application software systems and as a technical lead for a team of six developers.
  • Planned, designed, and developed a scalable, robust software architecture for multiple high-tech electro-optical systems. The architecture helped save 80% of engineering time by eliminating repetitive tasks through scripts.
  • Designed a web app that helps generate software systems' GUI (graphical user interface). The app helped standardize the GUI structure, allowing users to adapt to the new GUIs quickly. Used Vue, Node.js, Python, C++/, Qt, and QML as a tech stack.
  • Designed and built a framework similar to Nest.JS that automates the creation of system APIs, UIs, and test software for systems. The code reusability and maintainability improved significantly by automating the creation of source code files.
  • Delivered multiple high-end products concurrently under tight deadlines in high-stress environments using unit test frameworks and CI/CD.
Technologies: C++, C, Qt, QML, Linux, Python, JavaScript, Vue, Node.js, Express.js, WebSockets, UDP, TCP/IP, Visual Studio Code (VS Code), CMake, Google Test, Unit Testing, Integration Testing, Windows, Unix, DevOps, Git, GitLab CI/CD, Computer Vision, Image Processing, Machine Learning, HTML, TypeScript, CSS, Bootstrap, Refactoring, Clean Code, Software Architecture, REST, Bash, Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment, C++11, CLion, TensorFlow, SaaS, NPM, Architecture, SQL, NoSQL, Jest, C++/CLI, Back-end, Front-end, Full-stack, Design Patterns, HTML5, MEVN Stack, MongoDB, Embedded Linux, Embedded Development, Dashboards, Docker

Senior Software Engineer

2017 - 2019
ASELSAN
  • Served as an application software engineer for air, naval, and land computer vision software systems and as a technical lead for a team of three developers.
  • Designed and developed large-scale software systems for defense products with features including object tracking, detection, image optimization, and target mapping with custom on-device user interfaces.
  • Created and built GUIs using Qt, QML, C++, JavaScript, HTML, CSS, and Vue.
  • Implemented image optimization algorithms for computer vision systems.
  • Migrated legacy application codebase, which was implemented in C, into C++11.
Technologies: C++, C, UML, Software Architecture, C#, Object-oriented Programming (OOP), Data Structures, Git, GitLab, Subversion (SVN), Qt, QML, Clean Code, Refactoring, Unit Testing, Google Test, Python, Computer Vision, JavaScript, Embedded C++, Embedded Linux, Embedded Systems, Linux, HTML, CSS, Node.js, CMake, Graphviz, Bash, Qt Creator, Visual Studio, Visual Studio Code (VS Code), DevOps, GitLab CI/CD, WebSockets, Machine Learning, UDP, TCP/IP, HTTP, Image Processing, OpenCV, Desktop, C++/CLI, JSON, Vue CLI, Vue Router, Embedded C, Back-end, Front-end, HTML5, REST APIs, APIs, jQuery, Design Patterns, NPM, Architecture, SQL, NoSQL, Graphical User Interface (GUI), Full-stack, Embedded Development, React, Material UI, GraphQL, Dashboards

Software Engineer

2015 - 2017
ASELSAN
  • Served as an application software engineer for air, naval, and land computer vision software systems.
  • Designed and built front-end apps for systems using Visual Studio, C#, Python, and C++.
  • Designed and built an automated UML diagram drawing tool for computer vision software systems. Implemented the tool in C# as a console application and used the Graphviz library to draw diagrams.
  • Developed multi-user tracking control units with different authentication levels in C.
  • Designed and implemented hardware abstraction layers (HALs) of computer vision software systems, such as UART, Ethernet, and I2C.
Technologies: C, C++, C#, OpenCV, Graphical User Interface (GUI), Subversion (SVN), Linux, Python, Embedded C, Embedded C++, Embedded Linux, C++/CLI, C++11, Visual Studio, JavaScript, Express.js, Node.js, Back-end, Front-end, Full-stack, Android, iOS, Swift, Kotlin, Embedded Development

Intern

2014 - 2014
INFODIF
  • Implemented the user registration and login back-end of the I-Bex video management platform using MySQL/SQL and C++.
  • Designed SQL queries for the CRUD operations of users for the I-Bex video management platform.
  • Implemented an automatic number-plate recognition algorithm using C++ and OpenCV.
Technologies: C++, MySQL, SQL, CRUD, OpenCV, Databases, Back-end

A Framework for Modular Computer Vision Systems's Software

I designed a framework similar to the Nest.JS framework that served as a project software structure generation tool for modular vision systems. It includes a CLI for generating controllers, services, adaptors, UIs, and test software.

The framework helped generate new application software with already implemented features and different configurations in seconds, and the scalability of the software projects increased substantially.

Eliminated developing custom software for projects repetitively, which helped save engineering time.

A No-code GUI Generation Tool

I designed a no-code web app as a GUI generation tool. I used Vue as a front-end framework and Node.js as the back-end one.

Our users could generate custom GUIs at will, and their structure was standardized, which helped users adapt to them quickly, and developers saved time by avoiding building custom GUIs.

Modular Computer Vision Systems' Software

I designed the latest architecture for modular computer vision systems that is scalable, highly reusable, and maintainable.

I was the system's main developer, implementing the core C++ software and leading a team of six developers to scale the system for all the product families in my department. Used Python and JavaScript to automate processes.

My team saved 80% of engineering time with the architecture I designed for more creative tasks. We created an API, UI, testing, and adaptor software for systems, which made up 60% of the codebase and was automated.

The architecture led to the automation of creating GUIs for projects, and it also helped to standardize communication protocols and code structure. It also helped to generate software systems by using the source codes of projects as configuration files.

An Automated UML Diagram Drawing Tool

I developed a console application that analyzed objects and their relations in software to structure UML diagrams of projects. I built the app in C# and used the Graphviz library to draw diagrams.

By generating UML diagrams of apps via this app, the software's architecture was better grasped by all stakeholders, less experienced developers were integrated into projects faster, diagrams of projects were standardized, and documentation processes took less time.

SUM-Ind

I designed and built an unsupervised video summarization tool for my MSc thesis using independently RNNs for a reinforcement learning-based method. I implemented the algorithm in Python and used the PyTorch framework.

Based on the experiments conducted on two benchmark datasets, we observed that better summarization performance could be obtained compared to the state-of-the-art methods on a video summarization task.

The project was partially supported by a grant from the TUBITAK 1003 Primary Subjects R&D Funding Program.

Languages

C, C++, UML, Embedded C++, HTML, CSS, C++11, Embedded C, C++/CLI, Java, Python, C#, QML, JavaScript, Bash, TypeScript, SQL, HTML5, Swift, Kotlin, GraphQL

Frameworks

Qt, Google Test, Express.js, Bootstrap, Material UI, Jest, Django, NestJS, Redux

Tools

Git, Qt Creator, GitLab CI/CD, CMake, CLion, GitLab, Subversion (SVN), Graphviz, Visual Studio, Vue CLI, NPM

Paradigms

Object-oriented Programming (OOP), Clean Code, Refactoring, Unit Testing, Design Patterns, REST, Continuous Integration (CI), Continuous Delivery (CD), Continuous Deployment, DevOps, CRUD

Platforms

Desktop, Windows, Visual Studio Code (VS Code), Unix, Linux, Web, Embedded Linux, Raspberry Pi, Mobile, Android, iOS, Docker

Other

Data Structures, Embedded Software, Software Engineering, Embedded Systems, Graphical User Interface (GUI), Architecture, Embedded Development, Image Processing, Computer Vision, Machine Learning, Deep Learning, Reinforcement Learning, Software Architecture, WebSockets, UDP, TCP/IP, HTTP, Integration Testing, Back-end, Embedded Hardware, SaaS, Vue Router, MEVN Stack, Front-end, Full-stack, APIs, Smart Devices, Dashboards

Libraries/APIs

Vue, Node.js, TensorFlow, OpenCV, React, REST APIs, jQuery, PyTorch, Socket.IO

Storage

JSON, MySQL, MongoDB, Databases, NoSQL

2016 - 2019

Master's Degree in Computer Engineering

Hacettepe University - Ankara, Turkey

2010 - 2015

Bachelor's Degree in Electrical and Electronics Engineering

Hacettepe University - Ankara, Turkey

JULY 2018 - PRESENT

Software Verification and Validation

Aselsan

MARCH 2016 - PRESENT

Programming in C#

Infopark

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