Curriculum Vitae Personal data Name: Mobile phone: E-mail: Homepage: Tomasz Lasko +48 727 401 441 [email protected] www.tomasz.lasko.pl Summary Talented IT professional with deep knowledge and experience of computer science and software development techniques. Quick learner with excellent problem solving skills. Energetic and result-oriented team player and coordinator, always ready to motivate and support others. Also experienced in project management, self-organized and good communicator, always able to carry assignments to good results in an agile way. Skills Languages Polish English German Russian mother tongue fluent in speech and reading/writing intermediate in speech and reading/writing basic in speech and reading Programming C, C++ (with STL, C++11), Java, C#, .NET, Pascal/Delphi, Assembler, PHP, Ruby, Visual Basic/VBA, Ada, HTML, JavaScript, XML/XSLT, Shell scripts, Lexical tools (AWK, yacc, lex), Expert systems (CLIPS), Software engineering methodologies and practices, Agile software development, Scrum process, Various programming methods (e.g. structural, declarative or object oriented programming), Alogorithms and data structures, Different levels of abstraction (from microchips, through mobile and PC applications, servers and services, to system kernels and distributed systems) Platforms Windows 3.11, 95, 98, NT4.0, 2000, 2000 Server, XP, Embedded, Server 2003, Server 2008, Vista, 7, 8, Unix/POSIX platforms (Linux, FreeBSD, HP-UX, Cygwin/MinGW) - POSIX API, Linux and other specific API's Low level development (using OS API or on bare metal, programming hardware directly or e.g. via BIOS), Cross-platform development, Cross-compiling, Development of static/dynamic libraries and plugins, Mobile (J2ME, Symbian, Windows Mobile, Android), Using cross-platform frameworks and libraries Frameworks/UI Qt / QML, GTK, gtk#, Borland VCL, WinAPI / GDI, MFC, .NET WinForms, wxWidgets, FLTK, Console UI (DOS, ncurses) Embedded/OS Creating own OS totally from scratch, Developing embedded systems, Creating device drivers and system tools, Very advanced low-level programming – both 16bit (DOS, BIOS) and 32bit (386 protected mode, Windows, Linux) Scheduling, data structures, etc., Distributed OS theory, Basics of real-time systems, Basic signal processing, SIMD, FFT Networks/ Communication Designing, programming, testing, protocols, sockets, services, Creating own TCP/IP stack in an embedded system, Network design, configuration, administration and analysis (Windows, Unix/Linux, Cisco), VPN (OpenVPN, PPTP, IPsec), Wired and wireless communication technologies (e.g. copper media, fiber optics, Wi-Fi, Bluetooth), Transmission techniques (coding, framing, synchronizing, error checking and correction, media, bandwidth, delays, etc.), Telecommunication systems and protocols (ISDN, SS7, GSM/UMTS, CDMA), Internet by cable TV (DOCSIS), IPv6 (on Linux and Windows; Dual stack IPv4+IPv6, IPv6-only networks, IPv6 transition mechanisms) Parallel/ Distributed Designing, programming, testing, debugging, multithreaded/parallel and distributed systems and applications, POSIX threads, WinAPI, OpenMP, RPC, PVM, MPI, CORBA, Java RMI, COM, XML RPC, .NET, LDAP Problems, algorithms, environments, synchronization, Inter-Process Communication Web/Enterprise Web development and administration (HTML, CGI, PHP, JavaScript, CSS, SOAP, AJAX, JSON, RSS, Apache, IIS), Java EE development (Spring, Tomcat, REST, JPA, Hibernate), XML development (XML Schemas, XSLT, SAX, DOM) Databases SQL (incl. PL/SQL, T-SQL), using mainly MySQL, PostgreSQL, Oracle, and also Microsoft SQL Server, Sqlite, Informix Mobile Qt SDK, Symbian, Android, Java MIDP (J2ME), WAP/WML, Nokia Mobile Internet Toolkit Multimedia Sound, video, 2D and 3D graphics, basics of DSP, Development (Direct X, SDL library, OpenGL, GDI, DOS SVGA, FFTW library) Using ready tools (CoolEdit, PaintShop Pro, Adobe Photoshop, etc.) Electronics Programming and debugging microprocessors and microcontrollers (Atmel ATmega, Intel x86 and 8051/MCS-51) using assemblers, C and C++. Basics of digital circuits design and implementation. Creating own simple robot. Compiler/IDE Eclipse, MS Visual Studio 6/.NET/2005/2008/2012 (C++, C#, VisualBasic), Borland C++ Builder, Borland Pascal, Delphi, GNU compilers and tools (gcc, make, autoconf, automake, gdb, AWK, Yacc, gnat, as), TASM, MASM, NASM, Watcom, QtCreator, Dev-C++, CodeBlocks, KDevelop, Emacs, MODSIM, PSI/c, CLIPS, various disassemblers Tomasz Lasko – CV / Page 1 of 4 Other Version control systems (SVN, Mercurial, CVS, ClearCase, MS Visual SourceSafe, git), Automated testing (CI, CruiseControl, JUnit, CppUnit, Microsoft Unit Testing Framework, creating a testing framework), Build tools (GNU tools, Ant, Gradle, ClearCase clearmake), Development of OpenSource projects at www.SourceForge.net, Virtual machines (VMware, MS VirtualPC, VirtualBox, Bochs, QEMU, Xen), MS Office (Word, Excel, PowerPoint, Access, FrontPage, Publisher, VisualBasic/VBA), OpenOffice.org, Google Docs, Building, upgrading, repairing of computers, and many more. Professional experience 01-10.2014 Cross-platform desktop application development for a consulting company Developing a Qt-based client application for task management, targeted at Windows and Linux desktop. Technologies: C++11, Qt, using RESTful API (HTTP, XML, SSL), Windows, Ubuntu Linux 09-12.2013 Android project for a software house Developing a mobile (Android) client application, that allows collaboration of workers using enterprise in-house services. Technologies: Java, Android, REST (Spring, HTTP, XML, JSON), Eclipse, Mercurial (hg) 03-08.2013 Network infrastructure design for a software house Designing and implementing a modern IPv6-based network infrastructure, with enterprise services. Documentation. Technologies: Windows, Linux server, Linux embedded, VM (Xen), TCP/IP with IPv6, Routing and firewalling, Security policy, VPN, DNS, PKI, X.509, shell scripting, Lua 2010-2013 Research and development Connecting different types of data sources on different platforms (desktop, server, mobile, different operating systems), within a distributed environment, into a flexible and synchronized ecosystem. Technologies: Windows, UNIX/Linux, Symbian, Android, TCP/IP with IPv6, SSL, Spring, Hibernate, Qt / QML, C++, Java, C#, PHP, shell scripting, GNU tools, XML, GSM/GPRS/3G, Bluetooth, Eclipse, Visual Studio, Mercurial, SVN 02-05.2009 Software Developer at NaviExpert (www.naviexpert.com), Poznan, Poland Innovative GPS navigation systems Tasks: Software development – mobile client and application server Technologies: Java (J2ME, J2EE), C# (.NET CF), C++ (Symbian), TCP/IP, Multithreading, GPS, Bluetooth 2008 MSc thesis project at Poznan University of Technology XSockets - cross-platform communication framework providing a unified and extensible API for point-to-point communication between programs and/or devices. Includes a shared library, plugins and tools. Technologies: C, C++, Multithreading, Windows and Unix/POSIX IPC (Unix/POSIX API, WinAPI), GNU tools, TCP/IP, Pipes, Bluetooth, Infrared, Serial/parallel cable, UNIX & Linux shell, SVN, UML 06.2008 Link Launcher – a GUI tool allowing to choose in which browser a web link should be opened, when using many browsers My own project released as Open Source at SourceForge.net (http://LinkLauncher.sourceforge.net). Technologies: Ruby, Ruby/GTK, IPC, SVN 06-09.2007 Software Developer/Designer at Nokia Siemens Networks, Helsinki, Finland Nokia MMS Center (Multimedia Messaging Service Center), multinational project team of approx. 60 people Tasks: MMSC software development (SW design, implementation, testing, documenting, tools creation) Technologies: Cross-platform C++ (for HP-UX and Linux; incl. STL, IPC, multithreading, POSIX API), TCP/IP, UNIX & Linux shell, GNU tools, LDAP, XML/XSLT, UML, SW development using Agile and Scrum, with TDD (Test Driven Development, using in-house Automated Unit Testing Framework integrated with CruiseControl) 04-05.2007 Poznan Supercomputing and Networking Center (www.psnc.pl), Poznan, Poland Network Services Department – iTVP project (interactive online streaming system of Polish state television) Tasks: Software development and monitoring of global broadcasting network Technologies: TCP/IP, distributed Windows Media, .NET with C#, Multithreading, Microsoft SQL, UML (MS Visio) 07-10.2006 Software Developer/Designer/Coordinator at Nokia, Helsinki, Finland Nokia MMS Center (Multimedia Messaging Service Center), multinational project team of approx. 60 people Tasks: Leading an MMSC software research subproject (incl. conducting a feasibility study, coordinating requirements between Nokia departments). Later designing the solution and leading its implementation. Technologies: Cross-platform C++ (for HP-UX and Linux; incl. STL, IPC, multithreading, POSIX API), TCP/IP, UNIX & Linux shell, Informix SQL, LDAP, XML/XSLT, UML,SW development using Agile and Scrum, with TDD (Test Driven Development, using in-house Automated Unit Testing Framework integrated with CruiseControl) 04.2006 Display Dumper (DispDump) – a remote control tool which sends content of PC screen through serial cable My own project released as Open Source at SourceForge.net (http://DispDump.sourceforge.net). Technologies: C, SVN Low level hardware programming in DOS (Serial port, VGA card) Tomasz Lasko – CV / Page 2 of 4 04.2005-02.2006 OpComm – cross-platform on-line group collaboration framework, fully modular (most functionality via plugins) Team project made as BSc Engineer thesis. Also created sample plugins for main window, text chat, VoIP, whiteboard. My tasks: defining interfaces between modules, designing and implementing program core and network communication components (including own network protocol), creating the plugin mechanism, supporting GUI design and implementation Technologies: Cross-platform (Linux & Windows) C++ with multithreading, TCP/IP and GUI (Qt library), CVS 10-12.2005 “IntelliService” – A Windows GUI distributed application, with central database synchronization, made for a company, which needed to manage work assignments of its mobile workers. Technologies: C++, Borland VCL and WinAPI GUI, MySQL 10-12.2005 “I, Robot” – A team project of an autonomous robot which automatically follows a track on the ground. The robot is controlled automatically by a program run either on ATmega microcontroller (on the robot itself) or on a PC (then the robot is connected to the PC with a data cable; incl. programming the PC hardware). My tasks: create all software for the robot, collaborate in mechanical and electronic construction Technologies: C++ and C (crossplatform: for x86 Intel PC and ATmega), Assembler (PC x86 assembler), Programming the timer, interrupt controller and LPT port in both low level assembler and OS high level API 06-10.2005 Software Developer/Designer at Nokia, Helsinki, Finland Nokia MMS Center (Multimedia Messaging Service Center), multinational project team of approx. 60 people Tasks: MMSC software development (SW design, implementation, testing, documenting, tools creation), also creating an in-house Automated Unit Testing Framework for our department, to properly adopt Agile. Technologies: TCP/IP, C++, C, POSIX API (incl. UNIX IPC), Multithreading, UNIX & Linux shell, Java, Informix SQL, UML, SW development using Agile and Scrum, with TDD (Test Driven Development, using in-house Automated Unit Testing Framework integrated with CruiseControl) 2005-2006 “Embedded Mini Server (EMS)” – my own Internet server embedded system An embedded system which can be a Web-server or Networked Attached Storage (NAS). Service-oriented architecture designed for embedded environment (e.g. it can run many object oriented processes simultaneously on a system with no hardware support for multitasking, like on a simple microcontroller). I also created my own TCP/IP stack and networked services (like HTTP or FTP servers). Technologies: C++, C, Assembler, GNU tools, Own TCP/IP stack, PC hardware, Electronic circuit design cross-compiling using various toolchains (under Linux and Windows, using e.g. GNU tools, MS Visual Studio), debugging and testing embedded using different methods, e.g. through serial/ethernet or in virtual machines 2003-2005 “Tom's Operating Microsystem (TOM)” – my own modular operating system for x86 32-bit protected mode Designed and made totally from scratch by myself (including microkernel, own file system, device drivers, networking etc) Technologies: C++, C and x86 Assembler, Pascal, PC hardware, cross-compiling using various toolchains (under Linux and Windows, using e.g. GNU tools, MS Visual Studio), debugging and testing embedded using different methods, e.g. through serial/ethernet or in virtual machines (BOCHS, QEMU, VirtualPC, VMware); also debugging step-by-step CPU instructions 04-06.2005 “FreakyWheels” – a cross-platform (Linux and Windows) networked multiplayer 3D racing game engine A team project made with friends. My tasks: defining interfaces between modules, designing and implementing program core and network communication components (including own network protocol). Technologies: Linux & Windows C++ with multithreading, TCP/IP, OpenGL, GNU tools, CVS version control 07.2004-09.2004 Software Developer at Asta-Net (www.asta-net.pl), Pila, Poland Regional cable TV and Internet provider Tasks: Software development and IT infrastructure development Technologies: TCP/IP, DOCSIS, Delphi, Multithreading, COM, WinAPI, PostrgeSQL, PHP, Linux shell, Windows shell 03-04.2001 Creating the official website of my High School Technologies: Apache, PHP, MySQL, HTML, CSS, JavaScript, Linux and Windows shell 1996-2006 Very intensive and passionate self-learning (since primary school), through a wide variety of technologies and designs. Areas and technologies: - C, C++, Assembler and Pascal/Delphi (all of them under DOS, Windows and Linux) - Advanced databases (SQL with PL/SQL and T-SQL; using Oracle, MySQL, MS SQL, PostgreSQL and SQLite; incl. triggers, views, materialized views, query optimization, distributed transactions/replication, Oracle GIS Spatial) - Low level under Win32, Linux, DOS, BIOS, bare metal (PC hardware, device drivers, file system drivers, boot loader), - Windows and Linux GUI and multimedia (WinAPI, GDI, DirectX, SDL, OpenGL, Borland VCL, Qt, gtk, FLTK, Java Swing .NET WinForms, Sound playback, recording and generation, Wave and MP3 file processing, MMX/SSE assembly) - Linux/POSIX multithreaded TCP/IP services (C, TCP/IP using POSIX API/BSD sockets, GNU tools, Linux shell), - Distributed systems (RPC, PVM, MPI, CORBA, Java RMI, COM, XML RPC, .NET C#, Ada, NFS, LDAP, NIS), - Web development (HTML, CGI, PHP, .NET C#, Java J2EE, SOAP, CSS, JavaScript, AJAX, Apache, IIS, databases) - Mobile Java and Web development (Java J2ME/MIDP, WAP/WML, WAP gateway, Mobile phone simulators) - Other (e.g. linking code from different languages and compilers, dynamic shared libraries, plugin development) Tomasz Lasko – CV / Page 3 of 4 Academic Education 2009-2010 Warsaw School of Economics, Warsaw, Poland Top economic university in Central and Eastern Europe Management studies, faculty of Economical Management Specialization: Strategic Management Thesis project: “IT project management with the use of eXtreme Programming (XP) methodologies” 2006-2007 Poznan University of Technology, Poznan, Poland One of the top technical universities in Poland, with many world-award-winning studies Master Engineering studies in Computing Science, faculty of Computing Science and Management Specialization: Computer Networks and Distributed Systems Thesis project: “Cross-platform open source shared library for universal point-to-point communication sockets” 2002-2006 Poznan University of Technology, Poznan, Poland One of the top technical universities in Poland, with many world-award-winning studies Bachelor Engineering studies in Computer Science, faculty of Computing Science and Management Thesis project: “Cross-platform, open source, online group collaboration system” (a team project) Achievements Received the “Poznan University of Technology Scholarship for Academic Achievements”. Recorded in “The Book of Extraordinary Students of the Faculty” during studies at Poznan University of Technology. Interests and hobbies General technology and engineering, economy, social initiatives, music. Other skills and competences Management Participated in Agile software development and Scrum seminars, trainings and in real software projects using these methods (with Ken Schwaber and Craig Larman). Cisco Cisco Certified Network Associate Course (two semesters in 2005 and 2006) Since 2004 Driving license. Since 2002 Member of Mensa society (www.mensa.org) with the IQ (Intelligence Quotient) at least 156 (1% of the population) – the IQ test was limited and could not score more. The criterion for membership in Mensa is a score in the top 2% of the population on any of a number of standardized supervised IQ tests. Per request I can also provide references. I declare, that I agree to have my personal data processed for recruitment purposes in accordance with data protection legislation. Poland, October 23rd 2014 Tomasz Lasko Tomasz Lasko – CV / Page 4 of 4
© Copyright 2024 ExpyDoc