Profile
Full name
Adam Kopeć
BORN
30. June 1989 – Sosnowiec, Poland
adam.kopec@gmail.com
WORK EXPERIENCE
OnAir Entertainment, Kraków
Backend Developer - April 2022 - Currently working here
- Writing Scala for the onlino casino domain
- Working with a fully event-sourced, microservice based project
- Backend, socket-based communication with frontend, Akka and Typelevel stack
- Going through the whole lifecycle of three separate games (all deadlines met)
- Giving some architectural feedback to the team, mentoring
- Speaking at Scala meetups
Grand Parade, Kraków
Principal Java Developer - November 2019 - April 2022
- Hired as Java developer, but transitioned to Scala after two months (no regrets),
- Development of a few microservices in Scala (ZIO, circe, akka-http, cats, scalatest + Kafka, sttp, Redis, Cassandra, PostgreSQL),
- Design of a configurable business process engine in Scala for a multi-tenant application,
- Constant architectural supervision of a multi-module, multi-container, multi-artifact sbt project – the trickiest part of the project was not the logic itself, but rather proper interface definition, layer design and module composition, because the features of the application were composable at runtime.
- Applying production-ready practices for high traffic – circuit breakers, monitoring, logging, tracing, full Kafka schema compatibility etc.
- AWS Architect certification during free time (in order to better understand the applications and more effectively leverage the AWS ecosystem),
- Working on CI/CD pipelines architecture (Amazon EKS, Kubernetes, Helm, Kaniko, Gitlab CI),
- Analyzing business requirements, writing RFCs, conducting interviews, running demos for management,
- Design of a simple, but modern, reactive API using Java 11, Spring Boot, Spring Cloud components.
CRIF, Kraków
Software Architect / ITS - February 2019 - November 2019
- Leading the team of 8 people (responsible for development and maintenance of existing platform),
- Playing the architect role in a new, more modern project (developed by ~5 people, dealing with high volume of data and challenging SLA) – drawing diagrams, analyzing requirements and available tools, assessing risk, consulting with the development team and business analysts,
- Supervising and analyzing the impact of design changes made to the existing, legacy system,
- Gathering and analyzing business requirements, negotiating scope with business representatives of different company units and other teams,
- Successful introduction of the event storming practice to the company,
- Making code reviews, mentoring team members, making them familiar with the company business model and its technical practices, interviewing candidates,
- Communicating with external companies (data suppliers) and contractors,
- Popularizing the usage of Kubernetes in the company, refining CI/CD processes
CRIF, Kraków
Java Software Developer - February 2018 - February 2019
- Java 8 and advanced SQL Server programming,
- Implementation of a large business application that was loading complex data structures into the system (more than a year of development, >50k LOC written alone),
- Technical design consultations (especially regarding lowering of the cross artifact dependency level, introduction of internal libraries, versioning scheme etc.),
- Debugging, analysis and refactoring of internal concurrency related algorithms and tools,
- International business and architectural meetings participation (in english),
- Supervising external contractor teams, defining requirements and making code reviews,
- CI/CD pipeline configuration (git, svn, maven, jenkins, gitlab),
- Participation in a group which aimed to introduce Docker and Kubernetes to the organization
Synerise S.A., Kraków
Software Engineer - November 2016 - February 2018
- API development (from scratch in Java 8 on Spring Boot) – I was responsible for all architectural concerns (documentation maintenance and versioning, package structure, logging, cross-service request identification in logs, versioning, rate limiting etc.) and most of coding. I used Redis, Kafka, Apache Phoenix for HBase etc.
- Third party integration development (connected with payment collection and real-time data aggregation),
- Java services development (different features added to existing projects),
- Infrastructure automation with Ansible (provisioning, deployment and build scripts),
- Jenkins pipeline configuration,
- PHP application structure normalization (Vagrant introduction, build script creation, test reorganization),
- JavaScript widget development (sophisticated dynamic forms, written mostly in Backbone + Marionette) and some node.js development (mostly tools and fixes for existing services),
- Training of junior developers and interns, team mentoring, development workflow consultation.
Grupa Unity, Kraków
PHP Solution Architect - September 2015 - November 2016
- Playing a lead architect role in a team that worked on company’s flagship product – an in-house e-commerce platform. My work has been focused on transition from dedicated solution, that had to undergo major changes from project to project, into a framework with a consistent, but customizable domain model, that could handle many conceptually different systems.
- Participation in technical meetings with customers,
- Making diagrams and writing documents about the architecture,
- Training of junior developers,
- Knowledge crunching with customers, writing proposals, project boundary negotiations.
Grupa Unity, Kraków
PHP Architect - October 2013 - September 2015
- Implementation of customer’s performance problem solution. Major architectural leap from ad-hoc, stored procedure-based calculations to an asynchronous, messaging-based solution built on the top of RabbitMQ. Development of a custom intermediate data generation algorithm for effective caching.
- Project and implementation of a sophisticated loyalty point calculation program, in some ways similar to Payback™. Project consisted of a calculation engine and an intuitive GUI written in JS, which provided a way to enter even very complex, custom rules.
- Project and implementation of an automated tool, that was able to merge product catalogs from many vendors. It was capable of handling many different protocols, mainly EDI-Wheel, EDIFACT INVOIC, SOAP and Xpartner. Challenges: queueing systems, different data models, event-driven programming, big range of data,
- Activities aimed at modernization of the company’s software development methodology. Introduction of formal code reviews and build automation procedures based on Phing and Jenkins.
- Conducting weekly internal trainings for coworkers. Topics: software engineering, Domain Driven Design, new technologies, elegant design patterns etc.
Empathy, Kraków
PHP Programmer - April 2012 - October 2013
- Programming of e-commerce platforms and dedicated systems for key customers.
- Implementation of integration solutions and business rule modeling.
- Spreading of good software engineering practices: unit testing, object oriented design, refactoring.
- Extending the company’s framework with a DI container, event bus and other components.
- Maintaining legacy systems.
Indexo, Kraków
PHP Programmer - August 2009 - April 2012
- Development of dedicated systems, challenges: XML-RPC, AMF, Lucene, Facebook API, Google Maps API, automatic e-mail responders, PDF generation, web-crawler design, payment systems integration (payu.pl, dotpay.pl) etc.
- Web server administration – deployment, PHP and SQL optimization, domain management.
- Main projects: http://pokaz.to/, http://www.preseller.pl/, http://frauscherboats.pl/, http://www.mountainapartments.pl/, http://ibhp.pl/, indexo.pl homepage and many automated SEO tools
Indexo, Kraków
Intern - July 2009
Web programming with HTML, CSS and JS, SEO tools development
Education
Master of Computer Science (incomplete)
Applied informatics, AGH University of Science and Technology in Kraków - 2011-2013
I passed all the exams but decided not to write my thesis because it had to be connected with metallurgy, which I was not very much interested in
Bachelor of Computer Science
Applied informatics, AGH University of Science and Technology in Kraków - 2008-2011
Computer science studies flavoured with a little bit of metallurgy, materials science and thermodynamics
High School
II High School in Dąbrowa Górnicza - 2005-2008
Class of mathematics, physics and informatics
SKILLS
Soft Skills
-
Communication 75%
-
Diplomacy 90%
-
Savoir-vivre 80%
Architectural Skills
-
Knowledge crunching and asking questions 85%
-
Identifying abstractions and analysis 95%
-
Formalization and visualisation 70%
-
Implementation and integration assistance 80%
-
Scrum 75%
Programming skills
-
Server side development 90%
-
Object-oriented design 90%
-
Asynchronous processing 60%
-
Enterprise integration patterns 70%
-
Testing 80%
Interests
Guitar
I play the electric guitar in a garage band and do some acoustic, even fingerstyle playing in my free time. I listen a lot to jazz and classical music, but I don’t despise metal, rock or electronic.
Books
I like to read books, especially when they offer me a good intellectual exercise. That’s why I’m particularly keen on postmodernism, magic realism and sometimes even hard science fiction.
IT
I work in IT because of passion, not money or future prospects. I like everything computer-related, ranging from math and theory to intelligent cars and cryptocurrencies. I’m excited to observe how the technology changes our civilization.
Contact
SEND ME A MESSAGE
ADDRESS
ul. Grzegórzecka 67G/170 31-559 Kraków
adam.kopec@gmail.com