About Me:

I'm a computer science enthusiast who likes to code.

I've been proactively studying computer programming and various programming languages through which I've gradually improved through coding practice and by doing lots of exercises and crafting solutions for several ambitious projects that I've started. Via similar endevors, I've developed handiness, gained experience and improved the knowledge and understanding over various concepts relevant to software development.

By working with different programming languages, I have cultivated a reliable foundation that is essential for facilitating adaptability across various branches of software development, where similar infrastructure, technologies and toolchains are employed.

Starting from low-level C, and up to higher-levels C++, C#, Java, Python, and JavaScript, I've been exploring different aspects surrounding the process of computer programming, driven by passion and commitment for writing code and crafting solutions. In that regard: I've been exercising my skills across a diverse range of applications: from tiny utilities to classic video games and interactive in-browser experiences, by leveraging various APIs (OpenGL), Frameworks (Java.Swing, .NET, tKinter), Game Engines (Unity), or through the sole use of HTML/CSS and JavaScript.

​​​​​​​▼

Technical Proficiency:

HTML & CSS

Description:
I'm passionate about web design and have gained knowledge and practical experience working with: HTML and CSS.
This experience was cultivated through working on several web projects, including this extensive Portfolio and several other web templates designed as part of my learning process.

Competences:
  • Proficient in using HTML to structure and create web pages. This includes the ability to design decent-looking web templates.
  • Proficient in using CSS to style and design web pages. This includes handling responsiveness and fixing visual flaws.
  • Able to design responsive web templates, ensuring optimal viewing across various devices.
  • Capable of debugging and fixing visual flaws in web pages.
  • Capable of refactoring and reformatting the content of a web page for improved user experience.
  • Possesses basic knowledge of photo editing. This suggests an understanding of image manipulation for web design purposes.
  • Possesses basic knowledge of color wheels for creating complementary colors and contrasts. This demonstrates an understanding of color theory principles in web design.

On-Job Experience:
I'm an enthusiastic web designer with an extensive foundation in HTML, CSS.
While I haven't had formal on-the-job experience, I've dedicated myself to mastering these skills through personal projects. These projects have allowed me to develop proficiency in designing responsive web templates, debugging visual flaws, and optimizing content for a great user experience.
I'm eager to bring my skills and enthusiasm to a collaborative environment.

JavaScript

Description:
Through exercises and self-practice, I gained a solid foundation in Plain/Vanilla JavaScript Programming Language.
I built several ambitious web applications, including this Portfolio, several classic mini-games such as: Snake, Tetris, Knight Chess, Tower Blocks, and the Portal web application facilitating the iteration over the materials within a trainings database.

Competences:
  • Possesses a solid foundation in JavaScript programming, including both Vanilla JavaScript and some familiarity with AngularJS.
  • Proficient in developing basic client-side web-based applications. This includes the design, implementation, and deployment of functional web applications.
  • Experienced in developing browser-based classic mini-games. This demonstrates skills in game logic, user interaction, and potentially game engine integration (though not explicitly stated).
  • Able to utilize object-oriented programming concepts in JavaScript.
  • Has basic knowledge and understanding of AngularJS functions and directives.

On-Job Experience:
While I haven't had a formal role requiring JavaScript expertise, I approach programming as a continuous learning process, studying various languages to understand different problem-solving approaches and limitations. This has provided me with a versatile skillset and the ability to adapt to new technologies.
I've focused on building engaging web experiences using JavaScript, HTML, and CSS. My projects include the design and development of several in-browser classic mini-games, where I've been able to apply my skills in both visual design and interactive coding.
I'm committed to expanding my knowledge of JavaScript and am excited about the opportunity to contribute to a professional development environment.

C Language

Description:
I possess a solid foundation in C Programming gained through self-study and work-related experience specifically within automotive embedded systems software development domain.

Competences:
  • Possesses a solid foundation in C programming, gained through self-study and work-related experience specifically within the automotive embedded systems software development domain. This indicates a strong understanding of the language's nuances and its application in a demanding context.
  • Able to design and implement solutions to low-to-medium complexity problems using C. This suggests a good grasp of problem-solving and software development principles.
  • Familiar with modular programming techniques. This indicates an understanding of breaking down complex problems into smaller, manageable modules.
  • Familiar with unit testing. This demonstrates an understanding of software testing methodologies and the importance of code quality.

On-Job Experience:
I have several years of experience in the software development industry using C low-level programming language. During this time I have participating in all stages of the software development lifecycle. I contributed to project planning, design discussions, coding sprints, and testing phases, actively learning from daily activities.

Python

Description:
I possess a solid foundation in Python Programming gained through self-study and practical experience in automating software development workflows. This includes creating and maintaining scripts for various automation processes, such as code generators and file converters or designing multimedia applications such as: an audio player.

Competences:
  • Possesses a solid foundation in Python programming, gained through self-study and practical experience.
  • Proficient in creating and maintaining Python scripts for various automation processes. This includes code generation, file conversion, and other automation tasks.
  • Experienced in automating software development workflows using Python scripts.
  • Experienced in designing multimedia applications using Python. The example of an audio player demonstrates this capability.
  • Familiar with object-oriented programming concepts in Python.
  • Familiar with the Tkinter interface for creating graphical user interfaces (GUIs) in Python.
  • Familiar with exception handling and debugging techniques in Python.
  • familiar with exception handling & debugging;

On-Job Experience:
I have been actively involved or participated in developing new features for existing scripts or developing something from scratch either for home use or industrial purposes. I have been actively involved in developing new features and improving existing scripts, as well as developing solutions from scratch for both home and industrial applications. For example, I contributed to the development of scripts for automation of software development processes such as: generators for configuration files, code or Excel reports. I have also developed on my own, some application from scratch: a Mp3 Player using Python, tkinter and involving some of the latest open-source Python libraries.

C++

Description:
I am enthusiastic about C++ programming and have built my skills through self-directed learning and practical experience. I used my C programming background to delve into object-oriented programming (OOP) concepts, gaining valuable experience.

Competences:
  • Demonstrated foundational knowledge and understanding of C++ programming. This includes the ability to design and implement low-to-medium complexity solutions.
  • Solid understanding of OOP concepts. This suggests familiarity with core OOP principles (encapsulation, inheritance, polymorphism) and their application in C++.
  • Familiar with modular programming techniques. This indicates an understanding of breaking down complex problems into smaller, manageable modules.
  • Possesses basic knowledge and understanding of generic programming. This suggests some familiarity with templates and their use in C++.
  • Ability to learn independently and to apply knowledge to projects.

On-Job Experience:
My technical background is rooted in C, providing a strong foundation applicable to C++. While I haven't yet had the opportunity to utilize C++ professionally, I've developed a solid understanding of its principles. This includes a thorough study of Object-Oriented Programming (OOP), which I find both powerful and highly appealing.

Although the demanding resource requirements and relative rarity of C++ in embedded systems have limited my professional application of these concepts, I am eager to further develop and master my skills in C++ and OOP. I am actively seeking opportunities to apply my knowledge and contribute to projects utilizing these technologies.

C#

Description:
I am enthusiastic about C# programming and have gained an extensive foundation through self-directed learning and practical experience in developing small Windows applications.

Competences:
  • Demonstrated proficiency in C# programming, including the design and implementation of small Windows applications.
  • Able to design and implement solutions to low-to-medium complexity problems using C#.
  • Familiar with modular programming techniques. This indicates an understanding of breaking down complex problems into smaller, manageable modules.
  • Familiar with object-oriented programming concepts. This suggests an understanding of OOP principles (encapsulation, inheritance, polymorphism) and their application in C#.
  • Proficient in using .NET Windows Forms for creating user interfaces.

On-Job Experience:
While my professional experience hasn't directly involved C# in a work setting, I've developed significant expertise through personal projects. Amongst the application contributing to my growth I can list: an audio player, a tic-tac-toe game, a quizz app, a 2D towerblocks game.

Unity

Description:
I possess knowledge of Unity Game Engine & Development Platform gained off-job while working on 2 ambitious 2D and 3D Graphics projects, which involved simple animations, texturing, GUI design, and coding.

Competences:
  • Demonstrated proficiency in developing both 2D and 3D game projects within the Unity engine. This encompasses the entire game development lifecycle, from concept to prototype.
  • Successfully implemented core game mechanics in a 2D mini-game prototype. This suggests an understanding of programming logic, player input handling, and game rules.
  • Created simple animations within the Unity environment. This indicates familiarity with Unity's animation tools and techniques.
  • Designed and implemented graphical user interfaces (GUIs) within the Unity engine. This shows an understanding of user interface design principles and their implementation in a game context.
  • Utilized texturing techniques to enhance the visual appeal of game assets. This suggests familiarity with texture creation, application, and optimization within Unity.
  • Designed and developed a 3D environment for a racing game, demonstrating skills in level design, object placement, and overall environment creation.

On-Job Experience:
While my professional experience is primarily rooted in self-directed projects, I have gained significant expertise in designing and developing 2D and 3D graphics environments using the Unity game engine. My experience includes:

Project 1: Classic 2D Mini-Game Prototype: Developed a playable prototype of a classic 2D mini-game, which involved implementing game mechanics, simple animations, texturing, GUI design, and coding. This project allowed me to explore the challenges faced by game developers and to gain a practical understanding of game engine physics and mechanics.

Project 2: Unfinished 3D Racing Game Environment: Designed and developed an unfinished 3D environment for a racing game, utilizing available free resources. This project further enhanced my skills in texturing, 3D modeling, and environment design.

Java

Description:
I am enthusiastic about Java Programming and I gained an extensive foundation through self-practice, exercises and exploration of the core features and functionalities surrounding this language while also improving my understanding over the OOP concepts.

Competences:
  • Solid understanding of fundamental Java syntax, data structures, and control flow.
  • Application of object-oriented programming concepts (encapsulation, inheritance, polymorphism).
  • Ability to design and implement solutions to low-to-medium complexity problems.
  • Familiarity with the Swing library for basic GUI development.
  • Demonstrated ability to learn and apply new concepts independently through self-study.

On-Job Experience:
While my professional experience doesn't yet include Java, I have dedicated several weeks to studying the language and its core principles. Through coding challenges, exercises, and exploration of Java's fundamental features, I have built a strong foundation in the basics. This self-directed learning has deepened my understanding of object-oriented programming (OOP) concepts, and I am eager to apply my knowledge to real-world projects.

Looking Ahead:

I understand the importance of continuous learning and I aim to become proficient in what I do. While I may not have access to high-end platforms and enterprise frameworks, I embrace the challenge of mastering core programming principles, problem-solving strategies, and the evolving landscape of technology. Alongside coding, I place great emphasis on structured documentation, ensuring that even unfinished projects serve as useful references for understanding complex concepts and retaining knowledge.

For me, software development transcends beyond productive development: implementing or thinking code. It's a holistic process deeply rooted in discovery and iteration. It involves meticulous research to identify the optimal solutions, a persistent quest for knowledge to stay informed about the latest advancements, and the humility to seek help and guidance when needed.

This extends beyond individual growth; mentoring and helping others significantly enhances my own understanding. The act of explaining complex concepts to others forces me to articulate my own knowledge, to identify gaps in my understanding, and ultimately deepen my expertise. In essence, the teacher often learns as much as the student.

Similarly, seeking help isn't a sign of weakness but a strategic move that benefits not only seeker but also the team and the company. By openly asking for assistance, people foster collaboration, share knowledge, and prevent potential roadblocks, ultimately contributing to a more efficient and effective workflow.