Adnan B.

Adnan B.

Back-End (Python) Web Developer

Request Rate
Turkey, Istanbul

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.

Skills

  • Python
  • Django
0246810

Experience

Information technology and services, Turkey, Istanbul

Software Developer

June 2019 to Present


Stack: 

  • Python, 
  • Django, 
  • Flask, 
  • PostgreSQL, 
  • Docker, 
  • Nginx, 
  • AWS (EC2, ECR, S3), 
  • ELK stack, 
  • SQLAlchemy, 
  • Solidity (Blockchain), 
  • Jira.


Responsibilities: 

  • Lead the development team of a social media like app for companies (ThankTok available on app stores);
  • Backend and full stack (MVP) development in Blockchain Projects (PoC’s);
  • Write Smart Contract in Solidity (Ethereum) and Pact (Kadena Platform);
  • Responsible for new ventures and new patent ideas. 

Software development, Turkey, Istanbul

C++ Developer

January 2019 to June 2019


Stack:  

  • C++, 
  • OpenGL, 
  • Qt, 
  • Matlab.


Responsibilities: 

  • OpenGL and C++ development in a warplane simulation project;
  • HLA communication between devices.

Scientific research, Turkey, Istanbul

Software Developer and Researcher

August 2008 to March 2017


Stack:  

  • C/C++, 
  • Python, 
  • OpenMP, 
  • MPI, 
  • Nvidia CUDA, 
  • Magma, 
  • Sage-Math, 
  • VHDL, 
  • LaTeX


Responsibilities: 

  • R&D in cryptography;
  • Implementation of cryptographic analysis techniques in C/C++, Python, Sage;
  • Implementation of block ciphers, hash functions, RSA and elliptic curve operations in C/C++ and VHDL/Verilog (FPGA).

Education

Ph.D. of Sciences and Engineering, Koç University, Computer Science Department

January 2021 to Present

Istanbul, Turkey

Master Degree in Computer Engineering, Sakarya University, Institute of Science

October 2010 to June 2011

Istanbul, Turkey

Bachelor Degree in Arts and Sciences, Koç University, Mathematics Department

October 2003 to June 2008

Istanbul, Turkey

Portfolio

Mobile app and a web dashboard
September 2019 - January 2022
Mobile app and a web dashboard
September 2019 - January 2022

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.

Technologies used:
Python, Django, React, React Native
Blockchain/Information Technologies
June 2019 - September 2019
Blockchain/Information Technologies
June 2019 - September 2019

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.


Technologies used: 

I used Python – Flask for API development, and Kadena blockchain’s Pact language for smart contract development. I documented the APIs using swagger. For project management, we used Jira sprint boards. Javascript is used by front-end developers, and Sketch is used for UI/UX design. The hardest part of the project was to create a Python integrator library for back-end-Kadena blockchain communication since Kadena was a new blockchain technology at that time.

Realistic 3D-Simulation/Government-Military
January 2019 - June 2019
Realistic 3D-Simulation/Government-Military
January 2019 - June 2019

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.


Technologies used: 

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.


Research and Development/Government-Military
August 2008 - December 2017
Research and Development/Government-Military
August 2008 - December 2017

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.


Technologies used: 

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.