Software Engineer2019 - 2020Xtralth, Inc.
Technologies: Model View Viewmodel (MVVM), C++, Qt
- Developed the user interface of a system using C++ and Qt. We used MVVM as design paradigm.
Senior Software Engineer2019 - 2019Infodif
Technologies: Deep Learning, CUDA, OpenCV, FFmpeg, C++
- Developed image processing algorithms to detect accidents, intrusions, and other events that occur on bridges and highways.
Senior Software Engineer2018 - 2019ISSD
Technologies: Embedded Linux, TensorFlow, Intel, OpenCV, FFmpeg, Qt, GStreamer, Standard Template Library (STL), Boost, C++
- Developed an image-processing application running on a CCTV camera itself using C++. This CCTV camera contains arm processor and DSP chips running under embedded Linux.
- Used the OpenCV and toolchain provided by the CCTV camera manufacturer and ran image processing algorithms in CCTV camera and integrated the system in the camera.
- Developed a proof-of-concept application using Intel Movidius VPUs.
- Ran our trained deep learning models on Movidius chips. Movidius can run complex models using very low cpu usage. The VPUs are optimized to run neural network models and the CPU are only required for utilizing VPUs.
Senior Software Engineer2017 - 2018Simsoft
Technologies: ActiveMQ, OSGi, Hibernate, Microsoft SQL Server, Java
- Built a distributed application for ASELSAN, a Turkish state-owned military company. The application contains signal processing at a very high volume of data in real-time.
- Developed a video-stream application over RTSP. The application contains a distribution of screens using real-time as well as different video resources—the project was developed using C++, DirectShow, FFmpeg, GStreamer, and OpenCV.
Senior Software Enginner2015 - 2017ISSD
- Developed an image-processing algorithm for event detection in tunnels. The algorithm connects a tunnel camera and provides detection results like car counts and various alarms (pedestrians, dropped packages, and intruders). The process also supports processed and unprocessed images as an MJPEG stream.
- Built a server application SPECTO to configure and run multiple image-processing detectors and integrate them with the central server. The server creates, deletes, and configures different types of detector processes and informs the central server about events.
- Created an IP-camera mocking application to integrate the network video recorders; this application can be added to an NVR as a camera and provide RTSP streams from different detecting processes. Its source can be configured through an HTTP request and NVR sees the process as a single camera.
- Created an application, called Bluesis, to gather Bluetooth discoveries of filed devices and use that data to calculate travel time and density between points. The system used Mac addresses sent from devices and find matches between configured points and use them in calculations. The system saves calculations in its own format and also integrates different host with different data formats.
- Developed user interfaces of Bluesis to configure parameters and monitor field devices and system statuses.
- Built a lightweight HTTP server in C++ with automated controller registration and routing. Also developed the WebSocket server for the HTTP server. The server connects other processes in the environment with DBus for configuration and monitoring. It also subscribes signals of other process and sends them via WebSocket.
- Developed a junction controller system Centris which controls traffic lights on junctions. Centris is an embedded device with an arm CPU, and it can connect to and gather information from different types of sensors and junction controllers. Centris can be configured to run different algorithms like the green wave and dynamic. It can also be configured and monitored from the central server. It can provide information about junction status to the server. It has its own HTTP server and user interface.
- Contributed to the design and development of complicated road systems (involving embedded processors and cameras) that do the following tasks: plate recognition, car counting, and calculates density.
Junior Software Engineer2014 - 2015Cybersoft
- Designed and developed a project for bank client companies to use in their billing and payment system; provided a solution for accountants so that they could only have limited access to the client company's bank account without interfering with their work.
Software Engineer2013 - 2014Usta Bilgi Sistemler A.Ş.
- Developed an email service to inform subscribers about their current statuses.
- Built a stock-and-purchases system.
- Created judicial management modules to track subscribers' legal statuses.
- Developed a mobile application to assign tasks to field workers and gather results.
- Built an OCR application to read sensor statuses and send them to the server.