Mustafa Sen
Verified Expert in Engineering
Software Developer
Ankara, Turkey
Toptal member since December 3, 2020
Mustafa is a senior full-stack developer with 10 years of experience in diverse business domains, technology stacks, and programming languages. He has worked in the fintech, telecom, and defense industries, and his expertise includes full-stack development in C#, .NET Framework, .NET Core, ASP.NET MVC, Linux, and Angular. Mustafa is a passionate problem solver who learns new business domains, technologies, and programming languages quickly and delivers outstanding solutions to customers.
Portfolio
Experience
- .NET - 9 years
- C# - 9 years
- Microsoft SQL Server - 7 years
- C++14 - 3 years
- TypeScript - 2 years
- AngularJS - 2 years
- Angular - 2 years
- .NET Core - 2 years
Availability
Preferred Environment
Jira, Azure DevOps, Jenkins, TFS, Visual Studio Code (VS Code), Slack, Windows, Git, Visual Studio, Linux
The most amazing...
...thing I've developed was FastPay, a mobile payment application that was a pioneer at that time and is still popular among payment methods in Turkey.
Work Experience
C++ Developer
A Toptal Client (Self-Service Data Analytics)
- Developed new features for an ODBC-based service in C++, running on Windows and Linux.
- Integrated services developed in C++ into a Windows desktop application in .NET via the native interoperability interface of the .NET Framework.
- Resolved customer and in-house defects for the C++ back end of the application.
Senior Software Engineer
Dünya Varlık Yönetim A.Ş.
- Refactored and maintained a legacy codebase consisting of C#, T-SQL, JavaScript, HTML, and CSS for this asset management firm.
- Designed and developed a document management system in .NET MVC and AngularJS and migrated the documents in the shared directory to the new system.
- Ported the company's legacy business portal written in AngularJS and other third-party libraries to Angular 9. This reduced the complexity in the front-end codebase, fragility, and maintenance cost and increased the application's performance.
- Participated in architectural decision-making processes to make a monolithic application into several functional, self-deployable services.
Senior Software Engineer
Aselsan
- Designed and developed crucial parts of the switching subsystem for professional mobile radio systems, including a real-time voice switching service, a resource management framework, and a process scheduler in C# and C++.
- Implemented a transcoder library that can transcode voice frames of G711, G729, IMBE, AMBE+2, and ACELP codecs in C#.
- Guided the team while migrating the development environment to C++11, C++14, and Linux.
- Created and developed distributed systems running over unreliable, low-bandwidth networks.
- Designed and developed high-performance and low-latency systems in both C# and C++.
Software Engineer
Aselsan
- Built a packet rescheduler application in C# that captures voice packets on the wire using Npcap driver, buffers, reschedules, and resends them to the destination, transforming high-jitter voice traffic into steady traffics of low jitter.
- Provided guidance to version the codebase with modern code-versioning software (SVN).
- Co-developed distributed packet switching systems running on PC in C# and .NET Framework.
- Developed an alarm monitoring application that tracks hardware equipment and software alarms via SNMP and displays them. The application was written in C#, and the data was stored in Microsoft SQL Server.
Software Engineer
Intertech
- Developed a mobile payment application (FastPay) for Android, iOS, and Windows Phone devices, using Java, Objective-C, and C#, respectively.
- Built an application (Denizbank Sıramatik) to take queue tickets at a bank branch for Android and iOS devices.
- Used Eclipse Memory Analyzer to resolve memory performance issues in the Android app.
Experience
Rewriting a Legacy Dashboard Application in Angular
I rewrote the application in Angular 9 as a single-page application, along with one of the PrimeNG templates in the new version. This implementation improved maintenance costs, testability, and performance, and the project encouraged others to work on the codebase.
Document Management System
Before this application, a shared network directory stored the documents. Users saved documents to the directory and accessed them there without any access control, versioning, or auditing. Also, the documents could not be accessed from outside the network.
After developing the application, documents were stored in the shared directory and other data was migrated to the new system. This application enabled users to access documents from anywhere via a web browser and their usernames and passwords. This also enabled the IT staff to monitor user access and any inappropriate usage and report them to supervisors. Finally, this prevented document losses and security breaches.
Now, millions of documents are stored in the system, and several thousand company employees use it.
Distributed Database
However, if there is a network partition, in other words, some nodes do not have a connection to the center, and local changes are stored separately in the nodes. When a connection is established to the center, such local changes are synchronized with the center. Then the center synchronizes these changes to the other nodes. With this strategy, all nodes become available to their clients, even when they are inconsistent.
I designed the system to operate as geographically distributed nodes in unreliable networks. I implemented the system in modern C++ (C++11 and C++14) to run in Linux and used Microsoft SQL Server underneath to store actual data, and I designed the system to also use IP multicasting to share data among the nodes.
Alarm Monitoring Application
I developed the system in two parts: a WPF-based desktop application to visualize and manage the alarms, written in C#, and a Windows service to track and save the alarms in the background, also written in C#.
Development of Switching Systems for Professional Mobile Radio Systems
While co-developing this switching system for DMR, APCO25, and TETRA standards, I focused on implementing push to talk (PTT) service (both group and unit to unit calls), SMS, packet data service, and management of RF resources. The software was first developed in C# and .NET Framework to run as a Windows service. A few of the services were reimplemented in C++ to run in Linux to meet additional performance requirements.
Education
Bachelor's Degree in Electrical and Electronics Engineering
Boğaziçi University - İstanbul, Turkey
Certifications
AWS Certified Solutions Architect
Amazon Web Services
AWS Certified Cloud Practitioner
Amazon Web Services
Linux Application Development
YeniHayat Information Technologies
Skills
Libraries/APIs
REST APIs, pcap, Npcap, Standard Template Library (STL), Linux API, PrimeNG, ODBC, SignalR
Tools
Subversion (SVN), Visual Studio, Tcpdump, GCC, C#.NET WinForms, Git, Slack, TFS, Jenkins, Eclipse IDE, Xcode, Valgrind, Jira, GitLab CI/CD, GitLab, CMake, SonarQube, Amazon Elastic Container Service (ECS), Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), AWS ELB, Amazon CloudWatch
Languages
C#, TypeScript, C++14, C++, C#.NET, C++11, JavaScript, Java, SQL, HTML, C, Objective-C, Lua
Frameworks
.NET, .NET Core, Angular, Windows Presentation Foundation (WPF), ASP.NET MVC, AngularJS, ASP.NET, Catch2, Google Test
Paradigms
Socket Programming, Real-time Systems, Azure DevOps, Test-driven Development (TDD), ASN.1
Platforms
Windows, Linux, iOS, Android, Alteryx, Docker, Amazon EC2, AWS Lambda, Amazon Web Services (AWS), Visual Studio Code (VS Code)
Storage
Microsoft SQL Server, Amazon S3 (AWS S3)
Other
Engineering, Software Design, Software Development, Networking, TCP/IP, UDP, Windows Services, API Integration, APIs, Transmission Control Protocol (TCP), Wireless Networking, LLVM, Thread Scheduling, Resource Management, Distributed Systems, Distributed Software, Network Protocols, Professional Mobile Radio (PMR), Digital Media, TETRA, Web Development, IP Multicast, Internet Group Management Protocol (IGMP), Audio Codecs, Session Initiation Protocol (SIP), SNMP, RTP, SIP, Linux IPC, Amazon RDS, Cloud, Sanitizers, Google
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring