Hi, I'm Adam Kopeć!
Software craftsman and clean code enthusiast
30. June 1989 – Sosnowiec, Poland
Software Architect / ITS - February 2019 - Current
- 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
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),
- 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.
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.
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
Intern - July 2009
Web programming with HTML, CSS and JS, SEO tools development
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
II High School in Dąbrowa Górnicza - 2005-2008
Class of mathematics, physics and informatics
75% CompleteCommunication 75%
90% CompleteDiplomacy 90%
80% CompleteSavoir-vivre 80%
85% CompleteKnowledge crunching and asking questions 85%
95% CompleteIdentifying abstractions and analysis 95%
70% CompleteFormalization and visualisation 70%
80% CompleteImplementation and integration assistance 80%
75% CompleteScrum 75%
90% CompleteServer side Java development 90%
90% CompleteObject-oriented design 90%
60% CompleteAsynchronous processing 60%
70% CompleteEnterprise integration patterns 70%
80% CompleteTesting 80%
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.
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.
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.
SEND ME A MESSAGE
os. Kalinowe 16/40 31-814 Kraków