Robert Krakomperger

Robert Krakomperger

$50/hr
Java Agile Software Engineer with 10+ yrs experience, focused on quality enterprise development
Reply rate:
-
Availability:
Part-time (20 hrs/wk)
Age:
40 years old
Location:
Budapest, Pest, Hungary
Experience:
10 years
Curriculum Vitae Personal Information Name: Róbert, Krakomperger Date of Birth: Sátoraljaújhely, 24​th ​Sept. 1984. Address: 1083. Budapest, Tolnai Lajos 36. 2/1 Mobile Phone: +36 70/- E-mail: - Spoken languages Hungarian: English: native professional working proficiency Education 2007 - 2009 University of Debrecen - Information Technologies (MSc.) Sep. 2007 - Feb. 2008 Erasmus student at University of Twente (Enschede - The Netherlands) Faculty: Computer Science Program: Software Engineering Systems (MSc.) 2006 – 2007 Oracle Applications course by National Instruments (Debrecen) 2004 – 2007 University of Debrecen - Information Technologies (BSc.) 1999 – 2003 V. István Technical College of Economics and Information Technologies Proficiencies Main focus Agile software engineering, enterprise software development, software architecture and code quality, leading and mentoring Expert areas Spring, OO principles and patterns, code quality, web application development, E-commerce Recently used ● Languages: Java, Javascript, SQL, HTML, XML, UML, Bash ● Technologies/frameworks: Spring, Spring MVC, Spring data, Spring security, Spring boot, JSP, Mockito, TestNG, JUnit, Angular, docker, openshift cloud ● Methodologies: Scrum, Kanban ● Others: IntelliJ, Tomcat, Maven, Jenkins, Git, Checkstyle, Postgresql, MySql Work experiences 2018. Feb. - 2018. Jun. Employer: Crossover (​http://www.crossover.com​) / Aurea (​https://www.aurea.com​) Project: CX platform (​https://www.aurea.com/library​) - MQTT Position: Chief Java Software Architect Role: Developer Tools: Jira, Intellij idea, Git, clearcase, ant Technologies: Java 1.4-1.7 Details: CX platform includes CX Process (BPM tool), CX Messenger (former Sonic ESB), CX Monitor. My job was to integrate MQTT protocol into CX process and Messenger. We worked in a two-men team, where my colleague implemented the protocol on the low level in CX Messenger meanwhile I integrated MQTT on the higher level in CX Process and CX Messenger. 2017. Aug. - 2018. Feb. Employer: Crossover (​http://www.crossover.com​) / Optiva (​http://optiva.com​) Project: Backup and Restore Position: Chief Java Software Architect Role: Developer Tools: Networker 8, Networker 9 Technologies: bash, perl, java Details: Optiva (former RedKnee) had to replace EMC Networker 8 with Networker 9 due to incompatibility issues with environment upgrade. However Networker 9 is a non-backward compatible version. Optiva had tens of thousands of lines of perl code snippets together with some bash and java tools implementing backup and restore functionalities using Networker 8 in certain types of internal networks that might include configurations, database nodes, filesystems, storage nodes and such. The job was to refactor the existing code-base in order to work with Networker 9. Main challenge was to reverse engineer the existing features and integrate all of those with the new philosophy of NW9. 2017. Feb. - 2017. Jun. Employer: Crossover (​http://www.crossover.com​) / Aurea (​https://www.aurea.com​) Project: Project Template Position: Chief Java Software Architect Role: Full-stack architect, Developer Tools: Kanban-like internal methodology, Jira, Intellij idea, Git, Jenkins, Gradle, Sonar, Docker, Lombok, swagger, logstash-gelf Technologies: Java 8, Spring boot, Spring MVC, Spring Security, Spring Data, HTML, Angular, JUnit, MySQL, LDAP, JWT - json web token, Amazon AWS, Amazon SQS Details: Project Template’s goal was to introduce a modularized, configurable project base that can be used as a common template for future internal projects in order to minimize the time and effort of briefing new projects. The application consists of two main modules. An executable multi-module spring boot application - serving as the template - with simple features realized by a backend, a scheduler and a worker that are running in separate docker containers so that can be scaled independently meanwhile transparently communicating with each other using messaging. On the other hand, there is a provisioning tool, that replicates the template customized based on configuration - e.g package and application names, integration points, subsystems, etc. The provisioning tool integrates the newly created application into the whole internal ecosystem that involves slack, amazon, Aline (internal quality gate), Jenkins, github (including team, repository, branch and branch-protection setup), meanwhile the generated application delivers the same features as the template (unless otherwise configured). 2016. Sep. - 2017. Jan. Employer: EPAM Systems (​http://epam.com​) Project: EPAM Academy (project XM) Position: Lead software engineer Role: Full-stack architect, Development lead Tools: Scrum/Kanban, Jira, Eclipse, Git, Jenkins, Maven, Sonar, Vagrant Technologies: Java 8, Spring, Spring MVC, JSP, Apache-tiles, Tomcat 8, TestNG, Postgresql, Hibernate, EHCache, Angular, gulp, EPAM Cloud Details: XM application is an online tool for running exams (e.g. after a training program). My responsibility is twofold. In one hand, I worked out and maintain the application’s architecture from the persistence layer up to the frontend. On the other hand, I’m leading a small, core team that is responsible for overall code and architectural quality, devops, implementation of non-business functionalities (shared or reusable components). We are working with 50 professionals (frontend, backend, QA engineers). 2015. Jul. - 2016. Sep. Employer: EPAM Systems (​http://epam.com​) Project: MSM-CEC (​Cheap Energy Club​) Position: Lead software engineer Role: Development lead Tools: Scrum, Mingle, Eclipse, Git, Jenkins, Maven, Sonar, Loggly, Docker, Vagrant Technologies: Java 7, Adobe AEM, Amazon AWS, TestNG, Angular, gulp Details: Project goal was to implement Cheap Energy Club website integrated into an existing microservices architecture of MSM. We worked closely together in three teams. Admin application, service orchestration, frontend application. My responsibility was to deliver the frontend application conform with the already existing approaches. I leaded a team of ~15 professionals (including QA, Frontend, Java and AEM developers with the help of a QA lead) 2014. Oct. - 2016. Sep. Employer: Blooment (​http://blooment.org​) Project: Mentain Position: Software engineer Role: Full-stack architect, Technical lead, Key developer Tools: Kanban, Kanbanize, Eclipse, Git, Shippable, Maven, Tomcat 7, Checkstyle Technologies: Java 7, Spring, Spring MVC, ActiveMQ, Dozer, Freemarker, Hibernate, EHCache, Javamelody, JSP, JAWR, Angular, STOMP over WebSocket, Openshift Details: Mentain is an online platform that helps in managing mentoring programs. My responsibility is overall from technical perspective (architecture, devops, development, quality, delivery etc.). 2014. Aug. - 2015. Jul. Employer: Project: Position: Role: Tools: EPAM Systems (​http://epam.com​) EPAM Academy Senior software engineer Project manager, Software architect, Technical lead, Key developer Scrum/Kanban, Kanbanflow, Eclipse, Git, Jenkins, Gradle, Tomcat 7, MySQL Workbrench, Checkstyle + PMD + Sonar Technologies: Java 7, Spring framework to create a 3 layer web application, Liquibase for database migration, TestNG for unit and integration testing, HDIV for security, Hibernate, REST, JAWR, Bootstrap, Tiles, jQuery and google charts for front-end. Cucumber and Selenium for UI testing. EPAM Cloud for hosting. Details: EPAM Academy is a training program of EPAM allowing experienced developers to learn enterprise software development from architecture/design to delivery built upon Java technologies along agile methodologies. My responsibilities included reviewing training materials created by the trainers, prepare candidates prior to the program and mentoring the graduates after the program, before they get to new projects. This meant to manage colleagues ranging from 6 to 20 people. During this time, I managed to deliver a project “as a side-effect“ of the training program: Automated interview system for Epam Systems. With the web application the recruiters can create interviews for candidates, who will solve programming puzzles. The puzzles are selected in an adaptive way during the interview. The system evaluates the candidate’s solutions, this way it helps the candidate selection process. I had different responsibilities in the project. As a project manager, I was responsible for delivery, maintaining motivation, specifying user stories, keeping deadlines and ensuring quality. As an architect, I designed the application architecture, technology stack and participated in maintenance of production environment. As a technical lead I assisted the leads of the teams in problematic questions from technical to interpersonal perspectives. As a key developer I participated in development of performance or business critical features. The team size were varying from 6 to 20 member (from 1 to 3 teams) since the project was implemented by EPAM Academy candidates so that they quickly went to new EPAM projects. Fluctuation were a huge challenge. The application is still in use as part of the interview process of EPAM. 2011. Aug. - 2014. Aug. Employer: EPAM Systems (​http://epam.com​) Project: Hotels.com (Expedia) Position: Senior software engineer Role: Development lead Tools: Scrum then Kanban, Jira, Perforce + Git, Ant + Unibuild + Ivy, Jenkins, Checkstyle + PMD, AnthillPro then Bamboo Technologies: Spring, SpringMVC, Spring AOP, ActiveMQ, Axis, JSP, custom MVT framework in Spring, Tomcat + Jetty, JQuery, TestNG + EasyMock, EHCache, Freemarker, SLF4J + Logback, iBatis MS-SQL, Cassandra, Redis etc. Details: Hotels.com was an E-Commerce project with more than 100 engineers these days. I became the development lead of my team (6 developers and several QAs, UI engineers). My main responsibilities were to support my team in technical questions, support business from technical perspective in larger upcoming projects, analyse feasibility of business requirements in terms of technical options/possibilities, high level estimates, maintain and improve code quality, be main contact for other teams from technical perspective, interview, ramp-up, mentor new team members etc. I was a member of the small team (4 engineers) for 7/24 3rd level support. Occasionally I also had some BA (business analyst) responsibilities: I defined larger subprojects in terms of stories, roadmap, high level estimates according to high level requirements considering priorities, architecture, quality and technical feasibility. By time our team has grown so much that it was required to split it into several different teams. Recently we are 4 teams (approx. 20 developers plus UI and QA engineers) responsible for nearly the same codebase, working closely together. My role included supporting each team in technical questions. I used to be a deputy ScrumMaster and I also took part in transitioning from Scrum to a Kanban-Scrum mixture in our team. One of my main achievement was to vertically split our huge code-base to form a separate application (out of our monolithic application) in an automated way (I developed a tool that automatically identifies and splits out components involved in our own functionalities). In the meantime I formed trainee teams of juniors for the project so that they could get used to the domain and project rules. As a result we got a source of potential candidates to replace leaving colleagues. My responsibilities included defining smaller but useful tasks that adds value for the project itself, along with supporting them in technical questions. Above my project work I participated in Promotion Committees of EPAM (teams of senior engineers responsible for supporting Resource Management by examining candidates who want to become senior developer/team-lead). 2010. Jul. - 2011. Aug. Employer: EPAM Systems (​http://epam.com​) Project: Hotels.com (Expedia) Position: Software engineer Role: Key developer Tools: Scrum, Jira, Perforce, Ant + Unibuild, Jenkins, Checkstyle + PMD Technologies: Spring, SpringMVC, Spring AOP, ActiveMQ, Axis, JSP, custom MVT framework in Spring, Tomcat, JQuery, TestNG + EasyMock, EHCache, Freemarker, SLF4J + Logback, iBatis MS-SQL etc. Details: Hotels.com was an E-Commerce project with around 70-100 participatns these days. I was member of a SCRUM team responsible for improving and maintaining a code-base that implements all core business functions (booking hotels, post-booking communication) of the site. My responsibilities were delivering new features, code review, bug-fixing etc. Above implementing smaller features my main challenge (first subproject) was to introduce a large MVT (Multivariate test) in order to check feasibility of a determinate business decision - burden was increased by short timeframe, high visibility and new domain. The outcome of the test layed out the path for business for years. As a result we integrated a new 3rd party system as a 2nd backing engine for core business. I took part in designing newly required APIs, defining technical stories to abstract from 3rd party domain (refactoring) and supporting integration team based on my experience in the business domain. 2010. Feb. - 2010. Jul. Employer: EPAM Systems (​http://epam.com​) Project: Hotels.com (Expedia) Position: Software engineer Role: Developer Tools: Scrum, Jira, Perforce, Ant + Unibuild, Jenkins, Checkstyle + PMD Technologies: Spring, SpringMVC, Spring AOP, ActiveMQ, Axis, JSP, custom MVT framework in Spring, Tomcat, JQuery, TestNG + EasyMock, EHCache, Freemarker, SLF4J + Logback, iBatis MS-SQL etc. Details: Hotels.com was an E-Commerce project with around 70-100 participatns these days. I was member of a SCRUM team responsible for Mobile web-view of Hotels.com site. My responsibilities were fixing bugs, implementing new features, writing automated tests (selenium + custom framework), code review etc. I created a proof of concept of an Android application that adapts a set of features of the desktop site. 2009. Oct. - 2010. Jan. Employer: EPAM Systems (​http://epam.com​) Project: Mobilkom Position: Software engineer Role: Key developer Tools: Scrum, SVN + Mercurial Technologies: JavaSE, OSGI, Eclipse platform, Domain Driven Design, JUnit + Mockito Details: The project had several different aims. At the first priority was to support Mobilkom getting experienced in nearshore cooperation. The subject of the team on EPAM-side was to develop unit tests to increase code coverage of the CRM application implemented by Mobilkom. In one hand our team created several reports related to the Mobilkom's codebase (e.g. different measurements, coverage, code review etc.), while we were implementing unit tests requested by Mobilkom. Finally our reports have been approved by the customer, our unit tests have been moved to their codebase, thus the code coverage became higher. Mobilkom considered experiences at cooperation useful and valuable. As a key developer my responsibility was to synchronize the code base by handling code repositories and providing our deliveries as patches. I participated in developing unit tests along BDD. Above these responsibilities I performed code reviews, created some bug reports highlighted by unit testing. I created a Proof Of Concept related to testability problems of UI components found in Mobilkom's application. I participated in design analysis and I had a role in customer contact: I attended a small group that visited Mobilkom at the start of the project and later I took part in introducing Mobilkom's representatives to our codes. 2009. May - 2009. Sep. Employer: Oghma (​http://oghma.hu​) Project: retailSMS Role: Senior developer, architect Tools: Eclipse, Trac, SVN Technologies: Postgresql, Hibernate3, Struts2, JSP, JavaScript and JQuery, Ajax Details: J2EE webapplication design and development 2008. July - 2009. April. Employer: Oghma (​http://oghma.hu​) Project: mCitizen Role: Senior developer, architect Tools: Technologies: Details: Eclipse, Trac, SVN Postgresql, Hibernate3, Struts2, JSP, JavaScript and JQuery, Ajax J2EE webapplication design and development 2007. Oct. - 2008. Feb. Employer: University of Twente (​http://utwente.nl​) Project: StreetTIVO Role: developer Technologies: C++, KDE/Qt-3, monetDB Details: MythTV plugin development for Linux 2007. May - 2007. Aug. Employer: Xsys (​http://xsys.hu​) Project: Questionnaire template engine Role: Webapplication developer Tools: Eclipse, SVN Technologies: Postgresql, SpringMVC, JSP, Apache Velocity, JavaScript and Dojo, Ajax, XML Details: J2EE webapplication development 2006. May - 2006. Oct. Employer: National Instruments (​http://www.ni.com​) Project: Supporting HR Role: Programmer Analyst (intern) under Human Resources Tools: Toad, Perforce Technologies: Oracle Applications, Oracle Forms, PL/SQL, SQL, SQR Details: HR oriented database development used in Oracle Applications. Lecturing/mentoring experiences 2015. Mar. - 2017. Jan. Place: EPAM Systems Position: Lead software engineer Subject: Spring MVC Details: Four days long training that covers Spring MVC architecture, request processing lifecycle, various features of the framework, web-application security, REST. 2013. Jun. - 2014 Jan. Place: Position: Subject: Details: EPAM Systems senior software engineer Senior mentoring/coaching program I participated in a mentoring/coaching program as a mentor/coach. Goal was to help a selected candidate developer in reaching senior level. The program covered improving soft and leadership skills along with fine tuning technical proficiencies. 2010 Place: Position: Subject: Details: EPAM Systems software engineer Professional Unit Testing and Mocking How to write good quality unit tests. Best practices, testable code, mocking, code quality. I held these trainings in two forms: 2 days version for junior developers (avg. 2 occasions per year) and 2 hours shortened version mostly for regular and senior developers (one occasion in each quarter). 2008. Feb. - 2008. Jun. Place: University of Debrecen (​http://www.inf.unideb.hu​) Position: demonstrator Subject: Programming environments (seminar) Details: Version control systems, bash shell, build automation, IDE, Java in different environments 2008. Sept. - 2009. Jan. Place: University of Debrecen (​http://www.inf.unideb.hu​) Position: demonstrator Subject: Technologies of system development (seminar) Details: Project specification, system requirements, system modelling (UML) 2009. Feb. - 2009. Jun. Place: University of Debrecen (​http://www.inf.unideb.hu​) Position: demonstrator Subject: Programming environments (seminar) Details: Version control systems, bash shell, build automation, IDE, Java in different environments
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.