5.1. Since April 2009: IBA CZ, s.r.o.; Software Engineer
5.1.1. Since February 2010: CareerSmart Dashboard – IBM's Intranet Learning Site
Java EE Developer, Dojo Developer
-
Technical design and implementation of a server-side Java EE application
-
Running on IBM WebSphere AS v. 7
-
Connecting to a number of database sources and web services
-
Providing DWR web services for the client side, thus allowing an easy implementation of Ajax UI
-
Providing RESTful web services to other applications, using the JAX-RS standard
-
Business logic implemented as a set of EJBs
-
I also developed a caching component, which is used throughout the application. The component caches results of web service calls,
database operations and business-logic computing into WebSphere's DynaCache and/or proprietary database store.
-
Database operations done via the MyBatis library
-
Development of client-side Ajax UI
-
Development of Dojo widgets
-
Calling DWR web services running on the server
-
Using Rational Team Concert for team cooperation
-
Planning, task/defect tracking, source-code management and building
Technologies: Java 5 EE, IBM WebSphere AS 7.0, MyBatis 3, Direct Web Remoting 2.0 (DWR), JAX-RS 1.1 + Jersey 1.4, XML, JSON, IBM DB2 9.5,
JSON4J, Dojo 1.6, many Apache's open-source libraries
5.1.2. May 2009 – January 2010: Learning@IBM Explorer – IBM's Intranet Learning Site
Java EE Developer, Dojo Developer
-
Optimization of build process of Dojo layers used throughout the site
-
Introduced Dojo-like internationalization into a set of cca 100 Dojo UI widgets
-
Replaced a set of complex Ant build scripts with a simple one, yet performing the same job
-
Saved about 75% of build time
-
Configured a Cruise Control server for continuous integration of the project
-
Development of RESTful web services
-
Created RESTful web services returning JSON output
-
Used JsonLib to produce 100% valid JSON output
-
DB interaction via plain JDBC
Technologies: Dojo, Ant, Cruise Control, J2EE 1.4, IBM WebSphere AS 6.0, RESTful Web Services, JSON, IBM DB2, JsonLib
5.3. January 2006 – January 2009: Devoteam, s.r.o.; IT Consultant
5.3.1. January 2008 – January 2009: Premium SMS/MMS Platform Development, Telefónica O2 Slovakia
Solution Technology Lead
- Technical supervision of development of a new platform for premium-rated SMS/MMS messages
- From architecture through development and testing to roll-out
- Technical assistant to the project manager
- Negotiation with: business owners, architects, internal and external development teams, test team, operation department, owners of cooperating systems
- Creation and revision of various documentation during the project lifecycle
Technologies: UML, Java EE 5, JBoss 4.x, Web Services, Oracle, Swift MQ, Telefónica O2 CZ M2M Protocol
5.3.2. November 2007 – December 2007: Development of Electronic Invocing System, Logos, a.s.
Java EE Developer
- Creation of a system of electronic invoicing for a major telecomunications operator
- Composing container PDF files from several independent files using the iText library
- Functionality delivered as an EJB module, deployed onto WebLogic 9.2
- Using WebLogic Timer & Work Management API for scheduling repetitive jobs
- Using Spring 1.2 to interconnect components where possible
- Decoupling processing in different functional blocks using JMS queues
- Accessing Oracle DB through Spring DAOs
- Using XDoclet to generate deployment descriptors and EJB interfaces
- Using J-Unit 3 for unit tests
Technologies: BEA WebLogic 9.2, iText 2.0, Spring 1.2, Oracle 10g, XDoclet, J-Unit 3
5.3.4. August 2006 – September 2006: SOA Prototype Application, Devoteam internal project
Java Developer, ESB Configurator
- Research on web services frameworks and tools
- Building a prototype of an architecture consisting of web services, enterprise service bus, and portal; plans for WS-Security and identity management
- Option 1: JBoss 4.0, Apache Axis 1.3, Eclipse 3.2 + Web Tools Plugin 1.5
- Option 2: BEA WebLogic 9.2, BEA AquaLogic 2.5, BEA Workshop 9.2
- AquaLogic ESB configuration
Technologies: J2EE, Web Services, Enterprise Service Bus, BEA WebLogic & AquaLogic, JBoss, Apache Axis
5.3.6. March 2006 – June 2006: DHL New Production System (NPS)
Java Developer of a Logistic Application
- Refactoring of a large client/server Java logistics application
- Client: Swing application
- Co-developed an MVC framework running upon Swing with strict separation of Model, View and Controller. Use of design patterns Chain of Responsibility, Command, ...
- Server: Application packaged and deployed as an EAR with EJB and web modules
- XDoclet for automated creation of deployment descriptors and EJB interfaces
- Object-relational mapping: iBatis
- Database access: Oracle Thin driver
- Development IDE: Eclipse 3.1
- Application servers: JBoss 3.2, BEA WebLogic 8.1
- Experience with WebLogic Web Console to configure the application server and to deploy applications
- Working in a team of 10 people, broader team of about 125 people
- Version control system: Subversion + Subclipse plugin
- Negotiation with business analysts to understand functionality of the refactored application
Technologies: J2EE 1.4, Swing, BEA WebLogic 8, JBoss 3, Subversion, MVC
5.3.7. January 2006 – March 2006: Telefonica IPTV
Level-2 Product Support
- IP networks, ADSL access technology and transport networks
- Configuration and maintenance of Cisco equipment (65xx, 76xx)
- Administration of UNIX systems – Solaris 9 and Linux Rad Hat Enterprise Edition
- Installation and configuration of Windows XP
- Supervision systems
- Digital TV, MPEG2 and MPEG4
- Video-on-Demand servers: C-COR nCube, Transient OS
Technologies: Cisco, TCP/IP Networking, Telefonica IPTV Platform
Designing and writing portlet applications for IBM WebSphere portal v. 5, EJBs for database access (Oracle).
5.4.1. April 2005 – October 2005: Portlets and EJBs for IS/STAG
Portlet and EJB Programmer, Packager
- Rewriting an existing information system (stag.zcu.cz) into portal environment
- Study agenda, used by 11 universities in the Czech Republic, covers all aspects of school-student-teacher-course-resource relationships
- Programming session EJBs to access database using JDBC API and Oracle thin driver, programming portlet controller and HTML output through JSPs
- Also responsible for packaging applications into WARs/EARs and for application dependencies
- Development IDE: IBM Rational Application Developer 6
- Working with Oracle 10g through TOAD, writing and testing SQL statements
Technologies: J2EE 1.3, IBM WebSphere 5, IBM Portlet API, JSP, Oracle 10g
5.4.2. August 2005 – December 2005: Teacher's Assistance
Portlet and EJB Programmer, Packager
- Creating a new subsystem of an existing information system (see above)
- Electronic submission and collection of student works via portal, optional validation during submission using a standalone server, individual/mass download, disk repository of submitted files
- Programming session EJBs to access database using JDBC API and Oracle thin driver, programming portlet controller and HTML output through JSPs
- Implementing file upload using Jakarta FileUpload and file download using servlets
- Also responsible for packaging applications into WARs/EARs and for application dependencies
- Development IDE: IBM Rational Application Developer 6
- Working with Oracle 10g through TOAD, creating conceptual and physical DB schema, assuring data integrity, writing and testing SQL statements
Technologies: J2EE 1.3, IBM WebSphere 5, IBM Portlet API, JSP, Servlets, Oracle 10g, RMI
5.4.3. April 2005 – December 2005: Various smaller portlet applications
Portlet and EJB Programmer, Packager
- Smaller portlet applications: Simple chat, Document viewer
- The same responsibilities and technologies as above
5.5. Since 2003: Independent Software Vendor and IT Consultant
Various smaller projects according to customers' needs on ad-hoc basis.
5.5.1. October 2007 – March 2008: Development of an Application for Document Exchange between the City of Prague and Prague Citizens, Business Partners 4 You, s.r.o.
Designer & Java EE Programmer
- Working for a subcontractor of the main vendor
- The application allows Prague citizens to exchange digital documents with the City Hall of Prague and city districts and to have an overview of all documents sent by the user and all documents sent back to him
- The application also handles hard-copy documents sent by classis mail
- Electronic documents sent by the user and those sent back to the user by an institution can be downloaded directly from the portal
- Creation of some of the presentation and business-logic parts of the application
- GUI: JSR-168 portlets running on Sun Portal Server v. 7
- Business logic: Stateless session EJB 2.0
- Usage of web services to connect portlets with business logic and to connect the application with legacy applications (mainly PHP) running at other city institutions
- Using Apache Axis 1 for web service servers and clients
- Handling upload of special XML forms directly from users' computers using 602 Form Filler
- Deployed at the Portal of Prague
Technologies: Java EE 1.4, JSR-168, Apache Axis 1, EJB 2.0, Sun Portal Server v. 7.0, Sun Application Server v. 8.1, 602 XML forms
5.5.2. December 2004 – April 2005: J-Testy for ČEZ, a.s.
Designer & Java SE Programmer
- Negotiation with the customer
- Analysis (UML), design, implementation
- Distributed client-server e-learning desktop application written in Java, running at all organization units of the customer (about 10-20 computers per unit), used for periodic testing of employees
- Middleware: RMI
- GUI: Swing
- Reports defined in XML (JasperReports), export into HTML, MS-Excel, PDF etc. using Apache POI and iText, direct printing
Technologies: Java SE 1.4, RMI, Swing, JasperReports, Apache POI, iText
C# and ASP.NET Programmer
- Business logic programmer, C#
- Dynamic web pages programmer, ASP.NET
Technologies: C#, .NET, MS Visual Studio
My Ph.D. thesis was focused mainly on checking multithreaded Java programs which are often hard to be tested using classic methods. During
my studies, I developed a scientific Java library for discrete-time process-oriented simulation – J-Sim. I also studied the Rate Monotonic Analysis, a method for testing properties of periodic real-time
concurrent programs, mainly their threads' ability to complete before given repeated deadlines.
I was a teaching assistant in courses Programming in C and Object Oriented Programming for three years.