Adnan is a hardworking Software Developer who has professional experience in Python, Django-Rest Framework, PostgreSQL, Solidity (Ethereum), Pact (Kadena), and VHDL. He has a mathematics background and he likes solving hard problems. Also, he likes to learn new things in his job and outside his career.
ThankTok is a system consisting of a mobile app and a web dashboard. The mobile app is used by employees of companies to send tokens for appreciation. The web app (dashboard) is used by company management to gain analytical insight about the people in the company based on appreciation data. I was the team leader and a backend developer in the project. The team was divided into 3 groups: UI/UX designers, backend developers (including data scientists), and frontend developers. The average number of developers in the project was around 6-7 including me.
My duties were to talk with company management to derive software specifications, assign tasks to developers and myself, and develop the backend REST APIs.
The product is opened to pilot customers in March 2021 and operating since then. Our first paid customer is the Turkey branch of a global tech company that has more than 300K employees worldwide, which started using the app and dashboard in November 2021. The greatest challenge in the project was solving the inefficiencies of Django ORM and Django REST Framework’s serialization functionality. The classical ORM caused too many database queries (10s) for a listing API. I used the SQLAlchemy and Aldjemy libraries to reduce this number to a few queries (1-3) which reduced the CPU usage drastically. Moreover, switching to a fork of Serpy library for serialization also increased the efficiency by a factor of 2-3. I’ve added Swagger documentation support to Serpy which does not exist in the original library.
The project was to develop a Proof-of-Concept web app in the blockchain domain for one of the greatest Turkish banks and its subsidiary insurance companies. I worked as a back-end developer and developed new APIs for the web interfaces.
I developed new features in the form of REST APIs. I’ve also written unit tests for my APIs. I learned to write smart contracts for the Kadena private blockchain.
PoC was completed successfully and solved the decades-old reconciliation problem of the bank, but the bank did not want to proceed as a full product due to regulatory reasons.
I was a C++ developer in an F-16 fighter aircraft simulation project aimed to train air force, military officers. My duties were to add new features and devices to the network which has multiple parts (hardware/software). The team consisted of 4 people: three C++ developers and a 3D designer.
I added new controls to the user interface using Qt designer, add two new devices (a joystick and a gyro), and made their connections with our system. I also make a computational model of parachute flares and implemented this model in Matlab to estimate its trajectory over space-time.
I successfully connected the devices and improved the dashboard with the new functionality, and deployed it to the on-site simulation network.
I used Qt as the IDE, C++ and Matlab as the programming languages, OpenGL for 3D rendering, Qt designer for UI, High-Level Architecture (HLA) as the communication standard, and Redmine for project management. I mostly made refactoring and bug fixing, but I also implemented some new features.
Bilgem is a government institution. I worked in confidential projects on cryptography for the Turkish government, military and NATO. There wore more than 10 projects that I joined. My role was to design, analyze, and implement cryptographic and efficient algorithms. I also followed the recent trends in cryptography and wrote academic papers. The team was about 20 people divided almost equally as designers and analysts.
I wrote the documentation of my designs, implemented these algorithms in C/C++, assembly and VHDL (for FPGA devices), analyze them using parallel and distributed computing architectures, and make presentations about recent developments in my field.
I designed a very lightweight, fast, and secure encryption algorithm for a very limited FPGA device that would be used in Göktürk 2 satellite. I also implemented an analysis algorithm that breaks a commercial encryption algorithm practically.
C/C++, Python, VHDL, Magma, and Sage-Math for development of algorithms and analysis, OpenMP, MPI, and Nvidia CUDA for parallel and distributed computing, LaTeX for documentation. I both worked for improving the previous algorithms, and for designing new algorithms.