- Développeur logiciel sénior, R&D
2017 - maintenant
Développement Big Data
- Développeur logiciel sénior / CTO
2017 - 2017
Développement logiciel des applications boursières, gestion de petits projets et tutorat d'autres développeurs
- Développeur logiciel sénior
2017 - 2017
Développement des logiciels pour un startup, en utilisant C++ 14. L'application basée sur réseaux neurones, avec C++ Actor Model Framework, Boost.Asio, RESTful Web services, D3.js
Agile méthodes de développement
- Ingénieur logiciel senior
2015 - 2016
Développement de logiciels de pointe avec l'utilisation avancée de C++, STL, Boost, QT, PAudio etc
Agile méthodes de développement
- Ingénieur en développement logiciel, R&D
2014 - 2015
Software development R&D of the cutting-edge cloud-based cross-platform applications with the profound use of the both C++ 11 and Objective-C++, Cocoa/QT etc.
Scrum/Agile methodology, including stories, sprints, organized with cloud support of Atlassian, BitBucket, GDrive etc. All the projects use continuous integration based on Jenkins.
Privately held company
- Senior Software Developer R&D, Freelancer
2010 - 2014
Number of freelance and R&D projects :
✔ Development and optimization of the ultra low latency C++ applications with utilities like perfcachegrind, valgrind, time-v, etc. for the new 64-bit Intel CPU platform with QPI, NUMA architecture. Tunning with libnuma, numactl, optimization of the L1, L2 level cache, CPU core affinity and atomic operations __sync*, lock-free Queue and other containers,
✔ designing and implementing an engine using C++v11, STL, Multithreading, Intel TBB, Boost, RapidXml, OTL, libevent, cppunit, libcxxactor - a multi-node analytical platform for queuing and asynchronously processing massive amounts of messages, as a part of the solution with IP6 support, designed according to the event processing paradigm, with use of libevent to address the scalability issues with quickly increasing number of the concurrent network connections, coping easily with c10k problem,
✔ micro-payments platform, based on Java (sdk7, particularly java.util.concurrent and fork/join), jsmpp, ActiveMQ, MongoDB Cluster, Hibernate and MySQL for reporting purposes, designed an internal independent server-side application for processing vast amounts of sms messages and other forms of payments in real time,
✔ extending an existing PHP Webapp and migration from MemcacheDB to MongoDB (including session support), implementation of a cluster MongoDB with replication and high availability solution,
✔ Hadoop based system, processing log files for reporting purposes, (as an R&D project),
✔ traffic analysis system, based on Java EE6, JSF2, PrimeFaces, JQuery, jqPlot, MySQL, Glassfish3 with remote clients working as Android Apps, and separate analysis engine based on neo4j, also partially Hadoop ecosystem,
✔ cooperation in some web applications with use Java EE and Spring/Hibernate as well as using rapid development tools like Spring Roo/JBoss Forge for platforms Websphere (Geronimo) and Tomcat,
✔ brief familiarity with Ruby On Rails 3/MySQL and RESTful WebServices development, extending existing web application with new modules,
✔ migrating based on Flex4 and ActionScript an existing application to AIR platform in order to better integrate the new AIR with desktop client environment,
✔ project coordination for the distributed developers teams, with help of RedMine,
use of OSS tools: vim, tmux, git, svn, ant, make, maven, NetBeans, Eclipse, Aptana, continuous integration on Jenkins,
- Senior Software Developer
2006 - 2010
Advanced C++, multithreading, STL, Boost, CORBA and Java Core, Java EE software development on the Linux/Solaris platforms of the very demanding low latency telecommunication applications for the worldwide major mobile operators, designed for filtering and exchanging the messages in a number of protocols like MM1-MM7 messaging, SMTP, SMPP and wide use others as for the internal cross communication and authentication like HTTP, ICAP, SNMP, Radius, IIOP, SOAP.
Multi agent system which gathers statistical information from many Telecom protocol stacks asynchronously, process containing it events and presents gathered datas in GUI based on Flex/BlazeDS/JEE with use of OLAP, JMS (ActiveMQ), MySQL.
All modules designed due to state of art with design patterns where it's relevant. Solutions persist internal state and data structures on RDBMS with SQL, MySQL Store procedures, PL/SQL and modified Distributed Berkeley DB (NoSQL, CP, key/value data model). Development performed with use of following technologies:
✔ C/C++/STL/Boost/ACE TAO/CORBA/Google sparsehash, Code profiling, optimizing and executing both static and performance analysis with tools like valgrind, IBM quantify,
✔ JQuery/JSP/Struts/Spring Framework, AOP/AspectJ, JTA/Atomikos, JPA/Hibernate, clustering with EhCache, Terracotta, MySQL ( multi-node MySQL/DRBD replication/failover, geographically redundant/distributed/ high availability solution), Oracle and Distributed Berkeley DB (NoSQL), Webservices/SOAP, (JAX-WS/Apache CXF), Jboss, Jetty,
✔ Flex/ActionScript/BlazeDS/Spring Framework and ActiveMQ used for state persistence,
✔ OSS tools: ant, make, svn, cvs, wiki, eclipse, Selenium Test Automation,
Exposure to Agile methodologies, including pair programming, stories, iterations, planning poker, etc.
All the projects used continuous integration based on Hudson.
Fujitsu Kyushu Systems Limited (Fujitsu Group)
- Project Manager/Senior Software Developer, R&D
2003 - 2006
Project management and software development mostly for e-Banking and Insurance Companies using VC++, VC#, .NET 2.0, ASP.NET, ADO.NET, T-SQL, Java, Swing, J2EE, Servlets, C++/STL/Boost/OTL and CORBA (OmniORB), Oracle and SQL Server 2000, PL/SQL development and DB design for Linux/Solaris/Windows platforms. Software applications with profound business usage of data mining for analysis of the huge bank transaction data-sets. BI, Data mining algorithms (C4.5 decision trees, clustering, association analysis, multi-models like k-classifiers and committees and others) implementations in the own intelligent data mining computing engine designed and implemented according to SOA. The whole system assists with data preparation and selection, classifying&clustering, model validation and is used for : customers segmentation due to their value for the company, profiling customers for individual handling, increasing response rate for marketing campaigns, identifying danger of loosing customers or fraudulent behavior, selecting the best candidates for employment and ultimate visualization. System for detection and registration of financial transactions suspicious of money laundering, connected with intelligent data mining engine.
DRQ (Onet Group SA, later ABG, recently Asseco Group SA)
- Software Developer
2002 - 2003
C, C++, Java, J2EE, JSP, PL/SQL (Oracle) software development on Solaris/ Linux/ HP-UX/ AIX platforms for the external customers like major Telecoms (currently Orange or T-Mobile) and others from the telecommunication industry as well as state agencies. Online banking applications (ING) with messaging queues and standards SWIFT, IBAN. Projects developed with JSP/Struts1/Hibernate/Tomcat, EJB, JCA, WebServices on Jboss & WebLogic with persistence layer on Oracle & MySQL. The profound usage of PL/SQL - implementation of the rating and billing procedures and C/C++/STL/ACE /OTL/Pro*C/C++/Oracle. Billing systems, infrastructure monitoring applications, J2EE web applications for managing network infrastructure & customers, Oracle PL/SQL utility package programming, SMS messaging servers/services, fast message queuing system (MQSeries alike) implemented in the UNIX shared memory designed for asynchronously processing humungous quantities of messages/events.
Onet.PL (Onet Group SA, later ITI Group)
- Unix Administrator / System Programmer
2000 - 2002
Unix administration/software development with C/C++/Perl/Java. Developing unix services and daemons / cluster solutions for Linux and Solaris (Perl, rrdtool, mod_fastcgi, C/C++/STL, pthreads, Unix API, sockets, Oracle PL/SQL, MySQL, Linux and Solaris kernel modules). Distributed system (Perl/C/SNMP) for monitoring and delivering information related the actual machine states and the power network control. Distributed email session/log analysis system with data aggregation and extraction for tracking/ monitoring/ statistics purposes processing millions messages per day, cooperation in the bigger project for network/machines monitoring system covering all the aspects of the extended network and multi server (1000+) installation, advanced Unix administration scripting.
PGF S.A. (Polish Pharmaceutical Group)
- IT Manager
1999 - 2000
Responsibility for the whole IT infrastructure, managing projects in the one and across many company subsidiaries, cooperation with the external service vendors. Solaris system administration, development with use of C/ UnixAPI/ Perl/ Progress4GL - extending of the existing Progress DB (v8.2, 8.3) system on the Solaris platform with new functionalities, system for preparing reports, elements of DB replication and Interbase RDBMS development.
Silesian University, Department of theoretical physics.
- University technical assistant
1997 - 1999
Scientific research of non-commutative geometry and its applies in GUT, theoretical physics. Scientific/ System/ Web programming (Fortran, C/C++/STL, Matlab, Mathematica and Kernel, Maple, IMSL and NAG C/Fortran Numerical Libraries, shell, CGI, PHP/FI, Perl, mod_perl, WAP pages/services), grep, make, sed, OSS tools. Wide range of numeric and formal calculations with substantial usage of tools like Mathematica, programming with numerical libraries, Monte Carlo, multi node solutions, MPI and software for cluster and distributed data processing and presenting in the graphical formats. Embedded 8051 system designing/programming (C, asm), real time programming, good grasp of the all aspects of designing of the embedded systems, from the electronic design, through calculation of the all analog parts, up to programming of the µC accordingly with all its limitations, like memory (RAM 256 B, ROM 4096 B) and low CPU clock speed, what influenced the importance of the chosen computation algorithms and their further optimizations (all floating point arithmetic was performed by software).
System/network administration (Linux, FreeBSD, SCO Unix, Novell 3, 4.11, NDS),