Safa Keskin, Developer in Amsterdam, Netherlands
Safa is available for hire
Hire Safa

Safa Keskin

Verified Expert  in Engineering

Full-stack Developer

Location
Amsterdam, Netherlands
Toptal Member Since
August 19, 2021

Safa is a computer engineer with a full-blown passion for web technologies. For the past few years, Safa has worked with various architectures ranging from Docker to AWS, with multiple programming languages like JavaScript/TypeScript, Java, Go, and Python. He has worked with React and Node.js as his main stack on several projects, making him highly confident in expanding upon tech stacks built around these two technologies.

Portfolio

Commencis
TypeScript, JavaScript, React, Node.js, Java, Docker, Docker Compose...
TAV Technologies
Vue, Vuex, Vue Router, Jira, Bitbucket, Jenkins, WebSockets, REST, CSS, Linux
Proente
Python, Scikit-learn, Apache Spark, Apache Kafka, Apache Cassandra, Docker...

Experience

Availability

Part-time

Preferred Environment

React, Node.js, Amazon Web Services (AWS), AWS Lambda, Amazon DynamoDB, TypeScript, Serverless Framework, Cloud, AWS CloudFormation

The most amazing...

...system I've developed was a sustainable living platform that is integrated with a bunch of services to let customers make theirs homes sustainable.

Work Experience

Full-stack Engineer

2020 - 2021
Commencis
  • Developed a front-end web application designed following the mobile-first approach for an investment company located in Berlin. React is used with TypeScript, Material-UI, Auth0, and Recharts. The app is used in WebView inside a mobile app.
  • Built a private UI component library using React with TypeScript based on Material-UI and capable of serving components on a Storybook client.
  • Tested React applications using Jest and Enzyme by writing unit tests and integration tests.
  • Integrated ESlint and Prettier for both React projects.
  • Created and monitored CI&CD pipeline using GitHub Actions and monitored CD status using AWS EC2.
  • Used SonarQube to ensure there was no code smell and the projects had A-Class code quality.
  • Developed endpoints for back-end microservices using Java with Spring Boot and tested those microservices. Used Mockito in some parts.
  • Built a React Native application using styled-components, a replica of a banking application's limited version that consists of login and money transfer flows.
  • Utilized Gerrit as the review platform and used Jenkins to monitor build processes.
Technologies: TypeScript, JavaScript, React, Node.js, Java, Docker, Docker Compose, Amazon Web Services (AWS), Recharts, Styled-components, SonarQube, Storybook, Enzyme, Jest, Auth0, Material UI, Full-stack, CSS, Linux

Software Development Specialist

2020 - 2020
TAV Technologies
  • Maintained Resource Management System (RMS) coded in Vue.js using Vuex and Vue Router, focusing on a Gantt chart that communicates with back-end services using WebSocket and REST.
  • Managed Flight Management System (FMS) coded in Vue.js using Vuex and Vue Router, which consists of an editable table continuously updated by incoming events from WebSocket connections.
  • Developed CRUD tables from scratch to control resources shown in FMS and RMS, without using a third-party library, using Vue.js, HTML, and SCSS.
  • Used Jira as an agile development platform to follow the scrum development methodology.
  • Utilized Jenkins to monitor the build processes of the application.
Technologies: Vue, Vuex, Vue Router, Jira, Bitbucket, Jenkins, WebSockets, REST, CSS, Linux

Machine Learning Engineer

2019 - 2020
Proente
  • Developed a machine learning algorithm that predicts possible defects by analyzing continuous data using Python as the programming language and Decision Forest as the model and ran the model on Azure Machine Learning Studio.
  • Created an infrastructure using Apache Spark to run machine learning algorithms that analyze data consumed from Apache Kafka topics and store results in Apache Cassandra. The project was developed with the support of a freelancer.
  • Served all applications inside containers, using Docker and docker-compose.
Technologies: Python, Scikit-learn, Apache Spark, Apache Kafka, Apache Cassandra, Docker, Docker Compose, Scala, Azure Machine Learning, Linux

Full-stack Developer

2018 - 2020
Proente
  • Developed and maintained the back-end of Prowmes, a Manufacturing Execution System (MES), using Node.js with Express and Sequelize following microservices architecture that consists of nine microservices.
  • Built front-end of Prowmes from scratch using React with Ant Design and BizCharts, to provide an enterprise-level web interface while managing state through the app with Redux.
  • Established communication while transferring data using REST and WebSocket between microservices and back end and front end.
  • Used MySQL and PostgreSQL to store data in persistent storage while using Redis as a cache layer.
  • Developed a microservice coded in Java using Spring Boot framework that fetches production plans from a PostgreSQL database table and runs a modified version of OptaPlanner's project job scheduling algorithm with domain-specific heuristics.
Technologies: Node.js, React, Docker, PostgreSQL, MySQL, Redis, REST APIs, REST, WebSockets, Ant Design, Redux, Express.js, Sequelize, Docker Compose, BizCharts, Full-stack, Object-oriented Programming (OOP), CSS, Linux

Prowmes

https://proente.com/en/prowmes/
A manufacturing execution system (MES) application that collects data by Proinbot (the licensed hardware of Proente) and analyzes that data with just-in-time calculations. This app can be used through any modern browser (e.g., Google Chrome, Firefox, Safari, etc.) and lets the operators, managers, and technicians record their activities through a user-friendly interface with live updates and interactions. Bar, pie, line, and Gantt charts are used to present real-time analyses using continuous data about the factory and manufacturing machines. It was aimed to monitor resources with a web application with that project. Also, there was a performance goal: each signal should have arrived in clients in four seconds regardless of your location as long as you have an internet connection.

TAV-RMS

A Resource Management System (RMS) for airports that helps operators control resources via an interactive Gantt chart. It was aimed to assign resources to flights through Gantt chart by observing live updates and dependencies between flights and resources.

TAV-FMS

A Flight Management System (FMS) for airports that helps operators monitor flights, resources assigned to those flights, provides land services to those flights, and controls all relations between those flights and other land services. It aimed to control related services for each flight through an interactive table using a friendly interface that consumes a few resources.

Mobile App to Monitor Investments

A wealth investment web application built for mobile devices. This application will be used as a module inside a native app. It is aimed to provide users control of their investment portfolio through the application. This application offers valuations for real estate using third-party integrations and allows customers to see total wealth as an aggregation of account balances with real estate valuations. Total wealth is shown via nested pie charts, while valuation changes since the owned real estate are demonstrated inside a line chart with estimated valuations for two more years.

Blockchain-Based Electronic Voting System for Elections in Turkey

https://doi.org/10.1109/UBMK.2019.8907102
The paper introduces an architecture to build a Blockchain-based e-voting system for central elections in Turkey. It is aimed to take advantage of blockchain technology in an actual application. A professor from Istanbul Technical University guided the paper and my colleagues and I designed the system.
2015 - 2019

Bachelor's Degree in Computer Engineering

Istanbul Technical University - Istanbul, Turkey

Libraries/APIs

React, Node.js, REST APIs, Vue, Vuex, Recharts, Scikit-learn

Tools

GitHub, Git, Jira, Sequelize, SonarQube, Auth0, Azure Machine Learning, RabbitMQ, Docker Compose, Jenkins, Bitbucket, Figma, AWS CloudFormation

Frameworks

Jest, Material UI, Express.js, Ant Design, React Native, Redux, Apache Spark, Spring Boot, Mockito, Serverless Framework

Languages

TypeScript, JavaScript, CSS, Python, HTML, HTML5, Java, Go, Scala, C, C++

Paradigms

Agile Software Development, REST, Functional Programming, Object-oriented Programming (OOP), Design Patterns, Scrum

Platforms

Docker, Apache Kafka, Linux, MacOS, Amazon Web Services (AWS), Blockchain, AWS Lambda

Storage

PostgreSQL, MySQL, Redis, MongoDB, Amazon DynamoDB

Other

Software Engineering, Enzyme, Front-end, APIs, Front-end Development, Storybook, WebSockets, Styled-components, ESLint, Vue Router, User Interface (UI), Front-end Architecture, Full-stack, Apache Cassandra, Smart Contracts, BizCharts, Cloud

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