241 lines
32 KiB
HTML
241 lines
32 KiB
HTML
<html><head><meta charset="UTF-8"><style>
|
|
.article {
|
|
position: relative;
|
|
padding-bottom: 24px;
|
|
}
|
|
|
|
|
|
.center {
|
|
display: block;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
|
|
.center-text {
|
|
text-align: center;
|
|
}
|
|
|
|
|
|
.container {
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
page-break-inside: avoid;
|
|
display: block;
|
|
}
|
|
|
|
|
|
.control {
|
|
color: #19191c;
|
|
font-size: 16px;
|
|
font-weight: 670;
|
|
}
|
|
|
|
|
|
.detached {
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
|
|
.emphasis {
|
|
color: inherit;
|
|
font-weight: inherit;
|
|
font-style: italic;
|
|
}
|
|
|
|
|
|
.image {
|
|
max-width: 100%;
|
|
max-height: 90vh;
|
|
width: auto;
|
|
}
|
|
|
|
|
|
.image-container {
|
|
max-width: 100vw;
|
|
}
|
|
|
|
|
|
.list {
|
|
list-style-type: disc;
|
|
padding-left: 0;
|
|
margin-left: 15px;
|
|
}
|
|
|
|
|
|
.list-item {
|
|
margin-top: 6px;
|
|
margin-bottom: 6px;
|
|
margin-left: 4px;
|
|
}
|
|
|
|
|
|
.main-title {
|
|
padding-bottom: 24px;
|
|
margin-top: 0;
|
|
font-size: 40px;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
|
|
:root {
|
|
width: 95%;
|
|
max-width: 95vw;
|
|
padding: 0 0 0 30px;
|
|
}
|
|
|
|
body {
|
|
font-family: JetBrains Sans,serif;
|
|
}
|
|
|
|
a {
|
|
overflow-wrap: anywhere;
|
|
width: 100vw;
|
|
}
|
|
|
|
|
|
@font-face {
|
|
font-family: JetBrains Sans;
|
|
src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff) format("woff");
|
|
font-weight: 300;
|
|
font-style: normal;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: JetBrains Sans;
|
|
src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff) format("woff");
|
|
font-weight: 400;
|
|
font-style: normal;
|
|
}
|
|
|
|
@font-face {
|
|
font-family: JetBrains Sans;
|
|
src: url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2) format("woff2"), url(https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff) format("woff");
|
|
font-weight: 600;
|
|
font-style: normal;
|
|
}
|
|
|
|
|
|
code {
|
|
display: inline;
|
|
word-break: break-word;
|
|
font-size: 15px;
|
|
line-height: inherit;
|
|
font-variant-ligatures: none;
|
|
font-family: JetBrains Sans,monospace;
|
|
white-space: pre-line;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
figcaption {
|
|
margin-top: 5px;
|
|
}
|
|
|
|
h2 {
|
|
padding-top: 16px;
|
|
padding-bottom: 8px;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
h3 {
|
|
padding-top: 8px;
|
|
padding-bottom: 8px;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
h4 {
|
|
padding-top: 4px;
|
|
padding-bottom: 8px;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
p {
|
|
padding: 0;
|
|
border: 0;
|
|
line-height: 25px;
|
|
margin-block-start: 0;
|
|
margin-block-end: 0;
|
|
padding-bottom: 8px;
|
|
}
|
|
|
|
div {
|
|
display: block;
|
|
}
|
|
|
|
table {
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
th, td {
|
|
border: 1px solid #c4c4c4;
|
|
padding: 10px;
|
|
text-align: left;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.entry {
|
|
display: grid;
|
|
grid-template-columns: auto max-content;
|
|
grid-template-areas: "chapter page";
|
|
align-items: end;
|
|
gap: 0 .25rem;
|
|
line-height: 25px;
|
|
}
|
|
|
|
.toc-link-container{
|
|
grid-area: chapter;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.toc-link{
|
|
text-decoration: none;
|
|
color: black;
|
|
}
|
|
|
|
.toc-link-container::after {
|
|
position: absolute;
|
|
padding-left: .25ch;
|
|
content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
|
|
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
|
|
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
|
|
text-align: right;
|
|
}
|
|
|
|
.page {
|
|
grid-area: page;
|
|
width: 30px;
|
|
text-align: right;
|
|
}
|
|
|
|
|
|
.tldr {
|
|
display: inline-flex;
|
|
flex-flow: column nowrap;
|
|
justify-content: flex-start;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
max-width: 100vw;
|
|
padding: 16px;
|
|
border: 1px solid #d1d1d2;
|
|
border-radius: 6px
|
|
}
|
|
|
|
.tldr p {
|
|
margin: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
|
|
.topic {
|
|
page-break-before: always;
|
|
}
|
|
</style></head><body><div><section class="topic"><div><article class="article"><h1 class="main-title">Table of contents</h1><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#443193269">Personal Details</a></div><div class="page">2</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#1253133520">Experience</a></div><div class="page">4</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-1816695710">Skills</a></div><div class="page">7</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#-1391313500">Private projects</a></div><div class="page">9</div></div><div class="entry"><div class="toc-link-container"><a class="toc-link" href="#1713211272">Education</a></div><div class="page">12</div></div></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="443193269">Personal Details</h1><div class="container"><figure class="image-container"><img class="center image" id="443193269#whjfmv_3" alt="avatar.png" title="avatar.png" src="/Users/adriankuta/WritersideProjects/CV/Writerside/images/avatar_dark.png" width="250" height="250"><figcaption class="center-text">avatar.png</figcaption></figure></div><p id="443193269#whjfmv_4"><span class="emphasis" id="443193269#whjfmv_6">Email address:</span> adrian.kuta93@gmail.com (<a href="mailto:adrian.kuta93@gmail.com">mailto:adrian.kuta93@gmail.com</a>)<span class="emphasis" id="443193269#whjfmv_9">Website:</span> adriankuta.dev (<a href="https://adriankuta.dev/">https://adriankuta.dev/</a>)<span class="emphasis" id="443193269#whjfmv_12">LinkedIn:</span> linkedin.com/in/adrian-kuta(...) (<a href="https://www.linkedin.com/in/adrian-kuta-9366b2ba/">https://www.linkedin.com/in/adrian-kuta-9366b2ba/</a>)<span class="emphasis" id="443193269#whjfmv_15">GitHub:</span> github.com/AdrianKuta (<a href="https://github.com/AdrianKuta">https://github.com/AdrianKuta</a>)</p><section><h2 id="443193269#about-me" data-toc="about-me#Personal-Details.md-about-me">About me</h2><p id="443193269#whjfmv_17">Meet me – a technology enthusiast who began his journey into the world of programming on the Android platform during my college years in 2012. I've always had a keen interest in technology, with Android serving as my gateway to the realm of mobile application development. For nearly a decade, I delved deep into the intricacies of this platform. However, over time, I realized that I didn't want to confine myself to a single technology. In search of new challenges, I turned my attention to React and React Native. After several months of rigorous learning, my efforts bore fruit – I started working on my first commercial project utilizing these technologies.</p><p id="443193269#whjfmv_18">My professional career has been a continuous evolution. Over the years, my projects have interwoven between Android and React, allowing me to develop skills in both areas. Yet, it's in my nature to continuously seek growth and explore new horizons. Witnessing how artificial intelligence (AI) is revolutionizing the tech world, I decided not to be left behind. Since the beginning of this year, I've been intensely diving into the knowledge of AI, aiming to become part of this exciting future. My career is a testament not just to a passion for technology but also to a readiness for continual learning and adaptation in the rapidly changing world of IT.</p></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="1253133520">Experience</h1><section><h2 id="1253133520#professional-experience-bsg" data-toc="professional-experience-bsg#Professional-Experience.md-professional-experience-bsg">Senior Android Developer, React, React Native</h2><p id="1253133520#wdbhni_7"><span class="control" id="1253133520#wdbhni_9">Better Software Group (<a href="https://bsgroup.eu/">https://bsgroup.eu/</a>)</span><span class="emphasis" id="1253133520#wdbhni_11">May 2020 - Until now</span></p><ul class="list" id="1253133520#wdbhni_8" start="1"><li class="list-item" id="1253133520#wdbhni_13"><p>Team/Tech lead in some projects</p></li><li class="list-item" id="1253133520#wdbhni_14"><p>Creating modern and responsive user interfaces using Jetpack Compose, a modern tool for building user interfaces for the Android platform.</p></li><li class="list-item" id="1253133520#wdbhni_15"><p>Implementation of multiplatform projects – Android, iOS, SmartTV, Web</p></li><li class="list-item" id="1253133520#wdbhni_16"><p>OTT and VOD applications</p></li><li class="list-item" id="1253133520#wdbhni_17"><p>Experience in working on many projects at once.</p></li><li class="list-item" id="1253133520#wdbhni_18"><p>Experienced in Scrum methodology as Scrum Master</p></li><li class="list-item" id="1253133520#wdbhni_19"><p>All projects’ tasks were managed in Jira</p></li><li class="list-item" id="1253133520#wdbhni_20"><p>Configured continous integration for multiplatform applications.</p></li><li class="list-item" id="1253133520#wdbhni_21"><p>Participation in meetings, planning with client.</p></li></ul></section><section><h2 id="1253133520#professional-experience-etteplan" data-toc="professional-experience-etteplan#Professional-Experience.md-professional-experience-etteplan">Senior Android Developer</h2><p id="1253133520#wdbhni_22"><span class="control" id="1253133520#wdbhni_24">Etteplan (<a href="https://www.etteplan.com/">https://www.etteplan.com/</a>)</span><span class="emphasis" id="1253133520#wdbhni_26">March 2019 - April 2020</span></p><ul class="list" id="1253133520#wdbhni_23" start="1"><li class="list-item" id="1253133520#wdbhni_28"><p>Projects in MVVM Architecture, with use of DataBinding, LiveData, RxKotlin, Coroutines, Koin, Architecture and Navigation Components, Room Database etc.</p></li><li class="list-item" id="1253133520#wdbhni_29"><p>Experienced in implementing Banking Application with NFC payments.</p></li><li class="list-item" id="1253133520#wdbhni_30"><p>Created application for Realtime Video Stream, with use of Wifi Direct</p></li><li class="list-item" id="1253133520#wdbhni_31"><p>Experienced in Kanban methodology</p></li><li class="list-item" id="1253133520#wdbhni_32"><p>All projects’ tasks were managed in Jira</p></li><li class="list-item" id="1253133520#wdbhni_33"><p>Configured continous delivery on Jenkins.</p></li></ul></section><section><h2 id="1253133520#professional-experience-capgemini" data-toc="professional-experience-capgemini#Professional-Experience.md-professional-experience-capgemini">Android Developer</h2><p id="1253133520#wdbhni_34"><span class="control" id="1253133520#wdbhni_36">Capgemini (<a href="https://www.capgemini.com/">https://www.capgemini.com/</a>)</span><span class="emphasis" id="1253133520#wdbhni_38">January 2017 - February 2019</span></p><ul class="list" id="1253133520#wdbhni_35" start="1"><li class="list-item" id="1253133520#wdbhni_40"><p>Projects in MVVM Architecture, using Retrofit, Dagger2, RxKotlin, Architecture and Navigation Components, Room and Realm databases.</p></li><li class="list-item" id="1253133520#wdbhni_41"><p>All projects’ tasks were managed in Visual Studio Team Services(VSTS).</p></li><li class="list-item" id="1253133520#wdbhni_42"><p>Experienced in Agile(Scrum) methodology</p></li><li class="list-item" id="1253133520#wdbhni_43"><p>Created application with audio streams, eBook reader and in-app purchases for eInk devices.</p></li><li class="list-item" id="1253133520#wdbhni_44"><p>Created native applications with high security requirements for Nuclear Power Plants.</p></li><li class="list-item" id="1253133520#wdbhni_45"><p>Created multilingual application to manage tasks, create custom events and reports, and display charts with measurements.</p></li><li class="list-item" id="1253133520#wdbhni_46"><p>Configured continuous delivery on VSTS</p></li><li class="list-item" id="1253133520#wdbhni_47"><p>Writing tests: unit tests with use of JUnit 4 & 5, UI tests with use of Espresso, and TDD projects with use of Groovy(Spock Framework)</p></li><li class="list-item" id="1253133520#wdbhni_48"><p>Experienced in developing own libraries and multimodal projects</p></li><li class="list-item" id="1253133520#wdbhni_49"><p>Implemented push notifications (FCM) managed by Azure.</p></li><li class="list-item" id="1253133520#wdbhni_50"><p>Application developing lead role in ongoing project, particiaption in managing tasks, sprints and business scope.</p></li><li class="list-item" id="1253133520#wdbhni_51"><p>Speaker at internal meetings regarding e.g. Navigation Component, TDD with Spock Framework</p></li><li class="list-item" id="1253133520#wdbhni_52"><p>Participation in courses for iOS Development, RxKotlin and AR/VR for Android</p></li></ul></section><section><h2 id="1253133520#professional-experience-applover" data-toc="professional-experience-applover#Professional-Experience.md-professional-experience-applover">Android Developer</h2><p id="1253133520#wdbhni_53"><span class="control" id="1253133520#wdbhni_55">Applover (<a href="https://applover.com/">https://applover.com/</a>)</span><span class="emphasis" id="1253133520#wdbhni_57">December 2014 - December 2016</span></p><ul class="list" id="1253133520#wdbhni_54" start="1"><li class="list-item" id="1253133520#wdbhni_59"><p>Implementation of native Android applications in Java using MVP (Model-View-Presenter) architecture.</p></li><li class="list-item" id="1253133520#wdbhni_60"><p>User interface design, including creating custom views and animations.</p></li><li class="list-item" id="1253133520#wdbhni_61"><p>Both individual and team work.</p></li><li class="list-item" id="1253133520#wdbhni_62"><p>Self-written app published on Google Play, reaching approximately 20,000 downloads.</p></li><li class="list-item" id="1253133520#wdbhni_63"><p>Developing applications using Google Maps, Directions, Places, Open Street Maps APIs, integration with Firebase Notifications, Estimote Beacons, Retrofit, RxJava, Dagger.</p></li><li class="list-item" id="1253133520#wdbhni_64"><p>Implementation of Continuous Integration using GitLab.</p></li><li class="list-item" id="1253133520#wdbhni_65"><p>Implement PUSH notifications via Firebase.</p></li><li class="list-item" id="1253133520#wdbhni_66"><p>Active participation in hackathons.</p></li></ul></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-1816695710">Skills</h1><p id="-1816695710#-1mvdie_3">This is just a fragment of the tools I had the pleasure of using. Nowadays, it would be difficult for me to name a tool that I haven't had the opportunity to use, especially in the context of the Android platform. Therefore, whenever I have free time - either during a project or after work - I like to explore known tools, looking for ways to even better use their potential, improve efficiency or optimize existing solutions. I pay particular attention to new technologies such as JetPack Compose, which has some of its libraries in Beta at the time of writing this CV.</p><section><h2 id="-1816695710#programming" data-toc="programming#Skills.md-programming">Programming</h2><ul class="list" id="-1816695710#-1mvdie_9" start="1"><li class="list-item" id="-1816695710#-1mvdie_10"><p><span class="control" id="-1816695710#-1mvdie_13">Java</span>: Advanced level, with experience in building and maintaining Android applications.</p></li><li class="list-item" id="-1816695710#-1mvdie_11"><p><span class="control" id="-1816695710#-1mvdie_14">Kotlin</span>: Advanced level, with extensive experience in creating modern Android applications using best practices and design patterns.</p></li><li class="list-item" id="-1816695710#-1mvdie_12"><p><span class="control" id="-1816695710#-1mvdie_15">JavaScript/TypeScript</span>: Advanced level, with broad experience in developing web and mobile applications.</p></li></ul></section><section><h2 id="-1816695710#frameworks-and-libraries" data-toc="frameworks-and-libraries#Skills.md-frameworks-and-libraries">Frameworks and Libraries</h2><ul class="list" id="-1816695710#-1mvdie_16" start="1"><li class="list-item" id="-1816695710#-1mvdie_17"><p><span class="control" id="-1816695710#-1mvdie_21">React</span>: Expert in building interactive UIs for web applications using modern hooks and context.</p></li><li class="list-item" id="-1816695710#-1mvdie_18"><p><span class="control" id="-1816695710#-1mvdie_22">React Native</span>: Advanced level, experienced in creating smooth and responsive applications for Android and iOS.</p></li><li class="list-item" id="-1816695710#-1mvdie_19"><p><span class="control" id="-1816695710#-1mvdie_23">JetPack Compose</span> Creating modern and responsive user interfaces using Jetpack Compose, a modern tool for building user interfaces for the Android platform.</p></li><li class="list-item" id="-1816695710#-1mvdie_20"><p><span class="control" id="-1816695710#-1mvdie_24">Redux</span>: Proficient in managing application state, including designing store, actions, and reducers.</p></li></ul></section><section><h2 id="-1816695710#tools-and-technologies" data-toc="tools-and-technologies#Skills.md-tools-and-technologies">Tools and Technologies</h2><ul class="list" id="-1816695710#-1mvdie_25" start="1"><li class="list-item" id="-1816695710#-1mvdie_26"><p><span class="control" id="-1816695710#-1mvdie_32">Android Studio</span>: Advanced skills in the most popular IDE for Android, including debugging, profiling, and testing.</p></li><li class="list-item" id="-1816695710#-1mvdie_27"><p><span class="control" id="-1816695710#-1mvdie_33">Android SDK</span>: Deep knowledge of the Android Software Development Kit, including Activity lifecycle, Android Jetpack, and other platform components.</p></li><li class="list-item" id="-1816695710#-1mvdie_28"><p><span class="control" id="-1816695710#-1mvdie_34">Firebase</span>: Experienced in Firebase integration, including authentication, real-time databases, analytics, and push notifications.</p></li><li class="list-item" id="-1816695710#-1mvdie_29"><p><span class="control" id="-1816695710#-1mvdie_35">SQLite/Room</span>: Advanced knowledge of managing local databases in mobile applications.</p></li><li class="list-item" id="-1816695710#-1mvdie_30"><p><span class="control" id="-1816695710#-1mvdie_36">Git</span>: Proficient in version control and collaborative work using Git.</p></li><li class="list-item" id="-1816695710#-1mvdie_31"><p><span class="control" id="-1816695710#-1mvdie_37">CI/CD</span>: Experienced in automating build, test, and deployment processes using tools such as Jenkins, Travis CI, GitHub Actions.</p></li></ul></section><section><h2 id="-1816695710#testing" data-toc="testing#Skills.md-testing">Testing</h2><p id="-1816695710#-1mvdie_38">Ability to write and maintain unit and UI tests for Android applications.</p><ul class="list" id="-1816695710#-1mvdie_39" start="1"><li class="list-item" id="-1816695710#-1mvdie_40"><p><span class="control" id="-1816695710#-1mvdie_43">JUnit/Espresso</span></p></li><li class="list-item" id="-1816695710#-1mvdie_41"><p><span class="control" id="-1816695710#-1mvdie_44">Maestro</span></p></li><li class="list-item" id="-1816695710#-1mvdie_42"><p><span class="control" id="-1816695710#-1mvdie_45">Spock Framework</span></p></li></ul></section><section><h2 id="-1816695710#other-skills" data-toc="other-skills#Skills.md-other-skills">Other Skills</h2><ul class="list" id="-1816695710#-1mvdie_46" start="1"><li class="list-item" id="-1816695710#-1mvdie_47"><p><span class="control" id="-1816695710#-1mvdie_50">Understanding of Design Patterns</span>: MVC, MVP, MVVM, and others used in mobile and web applications.</p></li><li class="list-item" id="-1816695710#-1mvdie_48"><p><span class="control" id="-1816695710#-1mvdie_51">UX/UI Principles Knowledge</span>: Ability to create intuitive and visually appealing user interfaces.</p></li><li class="list-item" id="-1816695710#-1mvdie_49"><p><span class="control" id="-1816695710#-1mvdie_52">Teamwork</span>: Excellent teamwork skills, with experience in remote work and agile methodologies.</p></li></ul></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="-1391313500">Private projects</h1><section><h2 id="-1391313500#-ayobc8_3" data-toc="-ayobc8_3#Private-projects.md--ayobc8_3" data-label-id="wip">Sample Android Application</h2><div class="tldr detached" id="-1391313500#-ayobc8_11"><p id="-1391313500#-ayobc8_12">Gitea repo: Android Sample (<a href="https://gitea.adriankuta.dev/RediOne1/Android-Sample">https://gitea.adriankuta.dev/RediOne1/Android-Sample</a>)</p><p id="-1391313500#-ayobc8_13">Source code: </p></div></section><p id="-1391313500#-ayobc8_4">If you are interested in the style in which I create applications, both in terms of architecture and code cleanliness, I invite you to check out my sample Android application. This application showcases the use of modern technologies and design patterns, such as Jetpack Compose, multi-module architecture, and the MVVM pattern. I also apply best programming practices, including SOLID principles, DRY, and many others.</p><p id="-1391313500#-ayobc8_5">The source code of the application is available for download here or can be found in my private repository Android Sample (<a href="https://gitea.adriankuta.dev/RediOne1/Android-Sample">https://gitea.adriankuta.dev/RediOne1/Android-Sample</a>). This allows you to directly see my approach to programming and view code examples that illustrate best practices in developing modern mobile applications.</p><p id="-1391313500#-ayobc8_6">If you have any questions or need more information, do not hesitate to contact me. I am happy to share my knowledge and experience to assist you in your projects.</p><section><h2 id="-1391313500#ai-artificial-intelligence" data-toc="ai-artificial-intelligence#Private-projects.md-ai-artificial-intelligence">AI - Artificial Intelligence</h2><p id="-1391313500#-ayobc8_18">In the context of AI, I have not managed to complete a complete project so far. I am currently in an intense learning phase, and my private initiatives are more like experimental research facilities. However, I have found that the best way to learn new technologies is to set yourself a specific goal. Therefore, I took up the challenge of creating my own AI model, focusing on training convolutional neural networks (CNN) for photo classification based on person recognition. I believe that a single AI model may not be sufficient, so at the face detection stage I use the opencv library and the haar cascade mechanism. Later, I plan to use tensorflow and keras to train the CNN more thoroughly.</p><p id="-1391313500#-ayobc8_19">In terms of user interface, I am also exploring Compose Multiplatform, a modern tool that allows you to create UI that works on multiple platforms, which is part of my process of learning interface design.</p></section><section><h2 id="-1391313500#android-kotlin-multiplatform-libraries-in-maven-repo" data-toc="android-kotlin-multiplatform-libraries-in-maven-repo#Private-projects.md-android-kotlin-multiplatform-libraries-in-maven-repo">Android & Kotlin multiplatform libraries in Maven Repo.</h2><p id="-1391313500#-ayobc8_20">As part of learning how to create my own libraries and tools for developers, I developed a few small libraries that I made available in Maven, a repository popular among programmers. Obviously, these libraries won't change the world, but their main goal was to expand my knowledge about the possibilities of creating open-source tools that support the programming process.</p><section><h3 id="-1391313500#unbound-drag-drop" data-toc="unbound-drag-drop#Private-projects.md-unbound-drag-drop">Unbound Drag & Drop</h3><p id="-1391313500#-ayobc8_23">Unbound Drag & Drop (<a href="https://github.com/AdrianKuta/Unbound-Drag-Drop">https://github.com/AdrianKuta/Unbound-Drag-Drop</a>)</p><p id="-1391313500#-ayobc8_24"><a href="https://central.sonatype.com/artifact/dev.adriankuta/unbound-drag-drop">https://central.sonatype.com/artifact/dev.adriankuta/unbound-drag-drop</a> <a href="https://github.com/AdrianKuta/Unbound-Drag-Drop/blob/master/LICENSE">https://github.com/AdrianKuta/Unbound-Drag-Drop/blob/master/LICENSE</a></p><p id="-1391313500#-ayobc8_25">Unbound Drag & Drop.webm (<a href="https://github.com/AdrianKuta/Unbound-Drag-Drop/assets/46381935/73cc7ac8-aaf0-4dd7-b506-0745b1122222">https://github.com/AdrianKuta/Unbound-Drag-Drop/assets/46381935/73cc7ac8-aaf0-4dd7-b506-0745b1122222</a>)</p><p id="-1391313500#-ayobc8_26">Unbound Drag & Drop is a versatile and user-friendly feature designed to enhance your Android applications by enabling drag and drop functionality across multiple RecyclerViews. Unlike the default behavior, which restricts drag and drop actions within a single RecyclerView, Unbound Drag & Drop allows users to seamlessly move items between different RecyclerViews, providing a more flexible and intuitive user experience.</p><section><h4 id="-1391313500#features" data-toc="features#Private-projects.md-features">Features</h4><ul class="list" id="-1391313500#-ayobc8_34" start="1"><li class="list-item" id="-1391313500#-ayobc8_35"><p><span class="control" id="-1391313500#-ayobc8_39">Multi-RecyclerView Drag and Drop</span>: Easily drag and drop items between multiple RecyclerViews.</p></li><li class="list-item" id="-1391313500#-ayobc8_36"><p><span class="control" id="-1391313500#-ayobc8_40">Customizable and Extensible</span>: Adapt the feature to fit your specific needs with customizable options and extensible components.</p></li><li class="list-item" id="-1391313500#-ayobc8_37"><p><span class="control" id="-1391313500#-ayobc8_41">Smooth and Intuitive User Experience</span>: Enhance the interactivity of your app with a user-friendly drag and drop interface.</p></li><li class="list-item" id="-1391313500#-ayobc8_38"><p><span class="control" id="-1391313500#-ayobc8_42">Easy Integration</span>: Quickly integrate Unbound Drag & Drop into your existing Android projects with minimal setup.</p></li></ul></section></section><section><h3 id="-1391313500#multilevel-expandable-recyclerview" data-toc="multilevel-expandable-recyclerview#Private-projects.md-multilevel-expandable-recyclerview">Multilevel Expandable RecyclerView</h3><p id="-1391313500#-ayobc8_43"><a href="https://mvnrepository.com/artifact/com.github.adriankuta/expandable-recyclerView">https://mvnrepository.com/artifact/com.github.adriankuta/expandable-recyclerView</a> <a href="https://github.com/AdrianKuta/Expandable-RecyclerView/blob/master/LICENSE">https://github.com/AdrianKuta/Expandable-RecyclerView/blob/master/LICENSE</a> <a href="https://github.com/AdrianKuta/Expandable-RecyclerView/actions/workflows/publish.yml">https://github.com/AdrianKuta/Expandable-RecyclerView/actions/workflows/publish.yml</a></p><p id="-1391313500#-ayobc8_44">With this adapter you can add expand feature to regular RecyclerView.</p><p id="-1391313500#-ayobc8_45">All objects are store in Tree (Data structure) (<a href="https://github.com/AdrianKuta/Tree-Data-Structure">https://github.com/AdrianKuta/Tree-Data-Structure</a>), so adapter can create multilevel expandable groups.</p><p id="-1391313500#-ayobc8_46">Under the hood, the tree is flattened to simple list, so from RecyclerView's point of view it can operate as usual.</p></section></section><section><h2 id="-1391313500#nas-server" data-toc="nas-server#Private-projects.md-nas-server">NAS Server</h2><p id="-1391313500#-ayobc8_55">Having my own NAS server is not just a hobby, but an opportunity to delve into the fascinating world of technology. In my spare moments, I dedicate time to exploring its capabilities, which translates into countless hours of fun and learning. My journey with the NAS started quite innocently but quickly evolved into something much bigger. Currently, my server acts as a hosting platform, running several websites, including the one you are reading this post on.</p><p id="-1391313500#-ayobc8_56">I also use it as a testing environment, invaluable while learning React or Nest for the backend. What once seemed like a mere hobby has now allowed me to gain extensive knowledge in managing multiple Docker containers, facilitating their communication, and creating my solutions. This process also made me realize how crucial it is to ensure network security - both private and public.</p><p id="-1391313500#-ayobc8_57">Over time, my interest in network security has grown to proportions that sometimes seem excessive to me. The network architecture in my home, with routers, switches, and VPNs, could be compared to the network infrastructure of some companies I've had the chance to work for. I sometimes laugh that my home network is more complex than some professional installations. However, this reflects the depth of my engagement in a hobby that has become a true passion and a source of valuable skills.</p></section></article></div></section><section class="topic"><div><article class="article"><h1 class="main-title" id="1713211272">Education</h1><p id="1713211272#z12ozs6_4">The sections related to education in my professional life are unique because they do not just encompass the degrees obtained from universities. My approach to learning is somewhat different – I see my entire career as a continuous opportunity for education. I value mental flexibility more than memorizing detailed terminologies. Striving for constant development through learning allows me to train my brain to adapt with ease in the face of new challenges or technological changes. Therefore, I regularly reach for books from various fields and follow websites dedicated to the latest technological trends, aiming to continuously expand my knowledge even after completing formal education.</p><section><h2 id="1713211272#computer-science" data-toc="computer-science#Education.md-computer-science">Computer Science</h2><p id="1713211272#z12ozs6_6"><span class="control" id="1713211272#z12ozs6_8">Wroclaw University of Science and Technology</span><span class="emphasis" id="1713211272#z12ozs6_10">engineering degree, 2012 - maj 2016</span></p><ul class="list" id="1713211272#z12ozs6_7" start="1"><li class="list-item" id="1713211272#z12ozs6_11"><p>Specialization in mobile applications and computer security.</p></li><li class="list-item" id="1713211272#z12ozs6_12"><p>Design and implementation of IT systems.</p></li><li class="list-item" id="1713211272#z12ozs6_13"><p>Practical classes in programming in Java.</p></li><li class="list-item" id="1713211272#z12ozs6_14"><p>Embedded systems</p></li><li class="list-item" id="1713211272#z12ozs6_15"><p>Algebra and logic</p></li><li class="list-item" id="1713211272#z12ozs6_16"><p>Mathematical analysis</p></li></ul></section></article></div></section></div></body></html> |