Bering Tafa
Bering Tafa

Software Engineer, TeamViewer
Bremen, Germany

GitHub  /  LinkedIn  /  Download Resume


I am a Software Engineer based in Germany with experience building system-level, cross-platform, and performance-critical software. I enjoy understanding how systems operate internally, particularly around concurrency, memory management, data flow, distributed systems, and low-level architecture.

My professional experience includes developing cross-platform frameworks at TeamViewer, working on memory management and transaction processing at IBM Safer Payments, and building a macOS virtualization environment for driver development during my internship at Apple.


\ experience

Software Engineer
Bremen, Germany · Nov 2024 – Present

  • Enabled new contract acquisition and protected multi-million-euro revenue streams by resolving critical production issues, mainly complex synchronization challenges, that were blocking client acceptance testing.
  • Standardized data handling and improved maintainability across TeamViewer Frontline teams by developing a Kotlin Multiplatform Data Management Module with a unified interface for Database, DataStore and Asset Management.
  • Enabled multiple internal teams to ship Bluetooth functionality on Android and iOS by designing and implementing a reusable Kotlin Multiplatform Bluetooth framework for TeamViewer Frontline application variants.
  • Proactively refactored legacy code to improve performance and long-term maintainability beyond assigned responsibilities.
  • Technical Tools: Kotlin Multiplatform, Java, Swift, C, Git

Software Developer
Koblenz, Germany · Oct 2023 – Mar 2024

  • Maintained and enhanced core components of the IBM Safer Payments fraud detection platform used by banking clients.
  • Improved transaction data handling and storage control for banking customers by implementing a memory management enhancement, delivered on schedule for the planned release.
  • Implemented the memory chunk mapping and data reshuffling mechanism using carefully chosen algorithms and data structures, improving runtime performance and resource utilization in performance-critical banking platforms.
  • Technical Tools: C++, Python, JavaScript (React), Git

Software Engineer Intern
München, Germany · Jun 2022 – Sep 2022

  • Developed a user-space virtualization solution on macOS to simulate Motion co-processor behavior, including rewriting the iOS threading implementation using POSIX threads for compatibility with the macOS environment.
  • Reduced dependency on physical hardware during development by building a testing environment for validating existing drivers and experimenting with new sensor algorithms.
  • Collaborated with senior engineers to integrate the simulation framework into existing driver development workflows.
  • Technical Tools: C, C++, Python, Bash, Git

Teaching Assistant
Bremen, Germany · Sep 2021 – May 2023

  • Courses: Programming in C and C++, Algorithms and Data Structures, Software Engineering.
  • Held tutorials for 200+ students, strengthening understanding of core computer science concepts.
  • Developed visually intuitive learning materials, increasing tutorial attendance and student engagement.
  • Graded assignments and provided detailed, constructive feedback with personalized academic guidance.
  • Prepared data-driven performance analyses with the professor to evaluate student progress and course effectiveness.

\ projects

Lapce Code Editor Extension

  • Developed an extension for the Rust-based Lapce code editor, enabling multiple users to edit the same file simultaneously.
  • Explored and implemented Conflict-free Replicated Data Types to ensure consistency across users in a distributed system.
  • Investigated serverless collaboration strategies and distributed systems techniques to reduce latency and improve reliability.
  • Technical Tools: Rust, JavaScript

macOS Application

  • Built an application that imports SQLite database files and visualizes their schema in an interactive graphical interface.
  • Rendered tables, column data, and relationship types with connected nodes, making database structure easier to inspect.
  • Implemented draggable table layouts and interactive creation of new tables and relationships between existing tables.
  • Technical Tools: C, Raylib, Bash

Machine Learning Framework

  • Designed and implemented a neural network framework in C without external machine learning libraries.
  • Implemented matrix operations, forward and backpropagation from scratch based on research literature.
  • Validated the implementation by creating neural networks in test applications, including handwritten digit recognition.
  • Technical Tools: C, Raylib, Bash

\ education

  • Bachelor of Science in Computer Science
    Jacobs University Bremen
    Sep 2020 – May 2023

    Major in Computer Science and Minor in Mathematics.

    Member of the Google Developer Student Club; taught Algorithms and Data Structures for Google coding competitions.