Skip to content
View alessandroraffa's full-sized avatar
πŸ’»
Coding
πŸ’»
Coding

Organizations

@infobiotech
Block or Report

Block or report alessandroraffa

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
alessandroraffa/README.md

Hello, I'm Alessandro πŸ‘‹

Quick Facts About Me

πŸ“ Location: Hailing from the beautiful Palermo, Sicily, my career spans several Italian cities and includes international escapades.

πŸ’Ό Career: From crafting static HTML pages in 2001 to my current role as CIO at Infobiotech, I've navigated various roles and challenges in the software and technology sectors.

πŸ‘¨β€πŸ‘©β€πŸ‘§ Family: Striving to be a good husband and father, I find daily learning and growth in my family experiences.

🎡 Interests: My passions include music, biking, playing acoustic guitar, kayaking, cooking, travel, science, astronomy and technology.

πŸ“š Reading and Watching: As a reader and documentary enthusiast, I'm particularly drawn to narratives about technology and suspense.

🌟 Problem-Solving: I am highly engaged in solving complex problems and staying ahead in the constantly evolving landscape of software and technology.

🀝 Collaboration: I firmly believe in the power of collaboration and knowledge sharing.

🌱 Growth: Committed to continuous personal and professional development, I also support others in their growth journeys.

Professional Overview

  • Infobiotech (CIO & Founder): Guiding Infobiotech through the evolving landscape of software, my role has been to set a foundation for innovation and growth. As a founder, I initiated this journey, and now, as part of a dynamic team, we collectively steer our company towards new horizons. My focus is on leveraging software engineering to drive groundbreaking research, development and manufacturing.

  • Founder, CEO & CTO: Spearheaded various initiatives and companies, focusing on sustainable web practices, integrating advanced software technologies, and optimizing web standards. My role has always been at the intersection of technology leadership and entrepreneurial innovation.

  • Developer & IT Administrator: in these roles, I was deeply involved in software engineering, analysis, design, strategy, and development. I developed expertise in production-grade/enterprise-level software development, working on various projects that demanded a strong grasp of technical details. My responsibilities also extended to network and server administration.

  • System Integrator & Technical Specialist: My experience as a system integrator allowed me to combine various technologies and platforms to create cohesive and efficient systems. As a technical specialist, I always focused on emerging web technologies, aiming for high standards in software and web development.

  • Analyst-Developer: I balanced technical writing with a deep understanding of software architectures, contributing significantly to project analysis and documentation.

  • Roles in MENA Region: My career has also included key positions as a contact point for biotech companies in North Africa and the Middle East, broadening my understanding of international business dynamics and multicultural communication in the tech sector.

Let's Connect

Feel free to reach out for collaborations or discussions on software and technology.

Technology Stack

  • Operating Systems:
    • macOS (my desktop development environment)
    • Ubuntu Server (server environments)
    • Android (mobile platform development)
  • Shells:
    • Bash (Unix shell scripting)
    • Zsh (enhanced shell experience)
  • OS Package Managers:
    • Homebrew (package manager for macOS)
    • APT (package management for Linux)
  • Text Editors:
    • nano (simple, command-line text editing)
  • Runtime Environments:
    • Node.js (server-side JavaScript runtime)
    • ts-node (TypeScript execution environment)
  • Markup and Front-End Languages:
    • Markdown (formatted and structured text)
    • HTML (standard web content markup language)
    • CSS (style sheet language for web design)
  • Programming Languages:
    • TypeScript (typed superset of JavaScript)
    • ECMAScript (core language for web development)
  • IDEs:
    • Visual Studio Code (versatile code editor for various programming languages)
  • Coding Assistance Tools:
    • GitHub Copilot (AI-powered code completion tool)
  • Package Managers:
    • Yarn (fast, reliable, and secure dependency management)
    • npm (package manager for JavaScript)
  • Version Control Systems:
    • Git (distributed version control system)
  • Back-End Frameworks:
    • Express.js (web application framework for Node.js)
    • Next.js (React framework for server-rendered apps)
  • API Development and Testing Tools:
    • Swagger (API design and documentation)
    • Postman (API testing and development)
  • Front-End Frameworks:
    • React (library for building user interfaces)
    • React Native (framework for native mobile apps)
  • Web Development Tools:
    • Chrome DevTools (web authoring and debugging tool)
    • Firefox Developer Tools (tools for web development in Firefox)
  • Desktop Frameworks:
    • Electron (framework for creating native applications with web technologies)
  • UI Kits:
    • Mantine UI (React components and hooks)
    • Bootstrap (front-end framework for web development)
  • Databases:
    • MongoDB (NoSQL database)
    • Firestore (NoSQL database for mobile and web application development)
  • State Management Libraries:
    • Redux and Redux Toolkit (state management for JavaScript applications)
  • Authentication & Security:
    • Firebase Authentication (identity and access for web and mobile apps)
    • JWT (JSON Web Tokens for secure data transmission)
  • Web Server Management:
    • Plesk (web hosting control panel)
    • cPanel (web hosting control panel)
    • Apache (web server software)
    • Nginx (high-performance web server)
  • Web Infrastructure & Networking:
    • Domain name registration and management (for web presence)
    • DNS (Domain Name System management)
    • SSL (Secure Sockets Layer for web security)
  • Cloud Platforms:
    • Google Cloud Platform (suite of cloud computing services),
    • Atlas MongoDB (cloud database service)
    • Firebase (platform for app development)
  • Containerization:
    • Docker (platform for developing, shipping, and running applications)
  • Build Tools:
    • Webpack (module bundler)
    • Babel (JavaScript compiler)
    • Rollup (module bundler)
  • Compilers:
    • TypeScript (compiles to JavaScript)
  • Testing Frameworks:
    • Jest (JavaScript testing)
    • ts-jest (TypeScript testing with Jest)
  • CI/CD Platforms:
    • GitHub Actions (CI/CD and automation)
  • Code Quality & Linting:
    • ESLint (linting utility for ECMAScript)
    • Prettier (code formatter)
    • husky (Git hooks)
    • commitlint (lint commit messages)
    • conventional commits (for standardizing commit messages)
    • semantic-release (automated version management and package publishing)
    • semantic versioning (versioning system)
  • Productivity & Collaboration:
    • GitHub (software development platform)
    • Google Workspace (suite of cloud computing, productivity, and collaboration tools)
    • Google Meet (video-communication service)
    • WhatsApp (messaging)
    • Telegram (cloud-based instant messaging)
    • Discord (community platform)
    • Microsoft Teams (collaboration platform)
    • Slack (business communication platform)
    • Skype (telecommunications application)
  • Production Environments:
    • VPS (Virtual Private Server)
    • VM (Virtual Machine on Google Cloud Compute Engine) with PM2 (process manager for Node.js applications)
    • Heroku (cloud platform for hosting applications)
    • Firebase Hosting (web hosting service)
  • Automation Tools:
    • Puppeteer (for web scraping and testing)
  • Machine Learning and Data Science Tools:
    • Pinecone (vector database for machine learning)
  • Generative AI and AI Technologies:
    • OpenAI API (GPT-4 and Embeddings for advanced language processing and applications)
    • Midjourney (AI-driven image generation and design conceptualization)
    • ChatGPT (conversational AI applications)
    • DALL-E (AI-driven image creation and manipulation)

Previously Used

  • Operating Systems:
    • Windows (desktop and server environments)
    • MS-DOS (legacy operating system)
  • Markup and Front-End Languages:
    • LESS (dynamic style sheet language)
    • Sass (preprocessor scripting language)
  • Programming Languages:
    • PHP (server-side scripting language)
    • ASP (Microsoft's server-side script engine)
    • VBScript (Active Scripting language)
    • Turbo Pascal (software development system)
    • GW-BASIC (beginner's all-purpose symbolic instruction code)
  • IDEs:
    • NetBeans (integrated development environment)
    • Macromedia Dreamweaver (web development tool)
    • EditPlus (text editor)
    • Atom (text and source code editor)
    • Microsoft FrontPage (WYSIWYG HTML editor and website administration tool)
    • Android Studio (official IDE for Android development)
  • Package Managers:
    • composer (dependency manager for PHP)
  • Version Control Systems:
    • CVS (Concurrent Versions System)
    • Subversion (software versioning and revision control system)
  • Back-End Frameworks:
    • SlimPHP (micro framework for PHP)
    • Laravel (PHP web application framework)
    • CodeIgniter (PHP framework)
    • Zend Framework (PHP framework)
    • CakePHP (rapid development framework for PHP)
    • Symfony (PHP web application framework)
    • Yii (high-performance PHP framework)
  • Front-End Frameworks:
    • jQuery (fast, small, feature-rich JavaScript library)
    • Prototype.js (JavaScript Framework for web development)
  • Databases:
    • MySQL (relational database management system)
    • Oracle (multi-model database management system)
    • Microsoft Access (database management system from Microsoft)
    • SQLite (C library that provides a lightweight disk-based database)
    • DB2 (family of data management products from IBM)
  • Database Management Tools:
    • phpMyAdmin (free software tool for administering MySQL over the Web)
  • Virtualization:
    • VirtualBox (free and open-source hosted hypervisor)
    • VMware (cloud computing and virtualization software)
    • Parallels (virtualization technology)
  • Code Quality & Linting:
    • PHP-CS-Fixer (tool for automatically fixing PHP coding standards), PHP_CodeSniffer (script that detects violations of a defined coding standard)
  • Productivity & Collaboration:
    • Mantis Bug Tracker (web-based bug tracking system)
    • Asana (web and mobile application designed to help teams organize, track, and manage their work)

Technological and Professional Journey: 1988-Present

  • 8086-based IBM Compatible PC and MS-DOS (1988): My brother's personal computer, equipped with two 5.25" floppy drives, 640 KB of RAM, a green monochrome CRT monitor, and a keyboard, had no hard disk and no mouse. This setup was my gateway into the world of computing and coding. With the MS-DOS operating system, I learned the essentials of using command-line interfaces, navigating system directories, and utilizing various system utilities.

  • GW-BASIC (1988): This intuitive programming language was my introduction to coding. It was like playing with Lego blocks, where each line of code was a building block towards creating something new and functional. Among my early projects were a minefield-like game and a basic animation featuring the "Ciao" mascot of the 1990 World Cup, animating a soccer ball, along with a substantial amount of experimental code. These early coding experiences were pivotal in sparking my interest in logical problem-solving and software development.

  • Turbo Pascal (1989): This was my introduction to structured programming and the fundamentals of software design. Among my projects was a simple contacts application, which marked my first steps into understanding user inputs, data structures, and data persistence on disk.

  • Windows 3.1 (1991): This shift represented a significant leap into the world of graphical user interfaces. I vividly remember the after-school sessions in my middle school's labs. There, our music teacher introduced us to using the computer, programming basic beeps in GW-BASIC, adjusting frequencies, durations, and pauses to match simple music sheets. These sessions were more than just about learning; they were about sharing and expanding knowledge. I embraced the opportunity to assist the teacher, helping my classmates understand the basics of programming. This experience not only enriched my skills but also deepened my appreciation for the collaborative nature of technology and its creative applications.

  • First Internet Connection (1995): My initial experience with the Internet came through a dial-up service at a local library. Despite its limitations, this opened up a new realm of possibilities, including my early explorations into the vast world of the Internet and its online search engines, such as AltaVista and Yahoo. I remember searching for everything related to James Taylor.

  • Pentium, Windows 2000, and Home Dial-Up Internet (2000): A significant upgrade in my technological journey was acquiring my first "modern" personal computer - a Pentium 4 with 256 MB of RAM, a 20 GB hard drive, and a 56K modem. This setup marked the beginning of my journey into home Internet access, greatly expanding my opportunities for learning and web exploration.

  • Text Editors and IDEs (2000-Present): My journey with software development tools began with the simplicity of Windows Notepad. It was here that I learned the fundamentals of coding by directly interacting with plain text files. Soon after, I progressed to Microsoft FrontPage, which provided a more integrated environment to inspect HTML code and visually link the markup with its actual web page result. Over the years, my toolkit evolved to include more advanced editors and IDEs such as EditPlus, Macromedia Dreamweaver, and NetBeans, each offering enhanced features and a more sophisticated development experience. Later, I embraced Atom for its modern interface and open-source community. Currently, I use Visual Studio Code (VSCode), appreciating its versatility, extensive plugin ecosystem, and robust support for a wide range of programming languages and frameworks.

  • HTML, CSS and JavaScript (2000-Present): My entry point into web development. I started crafting static web pages, incorporating basic styles and simple animation scripts. During this time, I undertook a project for my grandmother's hair salon, which became my first official web development job, without any charge of course.

  • Web Developer (2001-Present): I was hired by a web agency, and my first day in the tech industry coincided with the events of September 11, 2001. I remember the overwhelming internet traffic and slow connectivity on that day vividly. My first role involved updating and fixing hundreds of static web pages for various businesses, including the Palermo Airport's website and those in the wine and travel sectors of Sicily. This experience taught me the value of teamwork, the intricacies of handling legacy code, and the importance of clean coding practices and thorough documentation. Working on these diverse projects not only honed my technical skills but also deepened my understanding of the impact of external events on digital infrastructures.

  • VBScript, ASP3, and Microsoft Access (2002): I transitioned to dynamic web development using VBScript and ASP3. This phase of my career enhanced the interactivity and responsiveness of the websites I worked on. I also began utilizing Microsoft Access as a database management system for web applications, broadening my skills in server-side scripting and database management.

  • PHP and MySQL (2003-2018): During this period, I developed various sophisticated, data-driven web applications. This included a notable web application for standardizing the diagnosis of Celiac Disease, which was my first project intended for a worldwide audience. This marked a significant milestone in my professional journey, expanding my reach and impact in the field of web development.

  • JavaScript as OOP and Ajax (2004-2008): During this period, I delved deeper into JavaScript, exploring its object-oriented programming (OOP) features and the use of Ajax. I undertook a small library project that utilized JavaScript’s OOP capabilities and incorporated Ajax for more dynamic web interactions. Although modest compared to libraries like Prototype.js and later jQuery, this project was instrumental in enhancing my understanding of how JavaScript could be used for more sophisticated web development tasks. By integrating OOP principles and Ajax with JavaScript, I significantly improved the organization, reusability, and scalability of my code. This marked a key turning point in my JavaScript utilization, enabling me to develop web interfaces that were both sophisticated and efficient, greatly improving user interactions and application performance.

  • Technical Writer, FP Analyst, and PM Assistant (2004-2005): In this year, I diversified my professional experiences by taking on roles as a technical writer, Function Points (FP) analyst, and project manager assistant in the Telecommunications sector. These roles deepened my understanding of the entire software engineering lifecycle.

  • Biotech and Manufacturing Execution Systems (2006-2012): During this period, I was involved in designing an ISO 13485 compliant Manufacturing Execution System (MES) for a biotech company. This project required me to navigate both the technical and regulatory aspects of the biotech sector, integrating my software development skills with the specific needs of the industry.

  • IT Administrator, System Integrator, and Technical Specialist (2008-2014): My roles during these years included responsibilities in IT administration, system integration, and providing technical support. This experience enhanced my understanding of comprehensive IT infrastructure and the integration of various technologies within it.

  • Unix-like Operating Systems (2009-Present): I began working with other operating systems during this time, specifically Ubuntu Server (used both as a local and hosting platform) and macOS (as both a personal and professional working environment).

  • Web Application Frameworks (2013-Present): I started developing my own web application frameworks, enabling the creation of more efficient and scalable web applications. This includes a project for a biodiversity data bank, where I was able to modularize the code and create dynamic custom features and datasets.

  • Co-founder of a Startup (2014-2019): I co-founded a startup, focusing primarily on the technological innovation and development aspects of the business. My role involved extensive research and application of cutting-edge technologies, driving the technical vision of the company. I dedicated myself to developing robust and scalable software solutions, ensuring they aligned with our strategic goals. This period was marked by significant technical growth and learning, as I navigated the challenges of bringing novel ideas to fruition in a dynamic startup environment. This experience not only enhanced my technical skills but also deepened my understanding of the practical applications of emerging technologies in a real-world setting.

  • Node.js, Google Cloud Platform, and NoSQL Databases (2015-Present): My career since 2015 has been significantly shaped by embracing scalable, cloud-based solutions. The use of these technologies has been instrumental in enhancing the performance and scalability of my projects.

  • React and React Native (2016-Present): Since 2016, I have been immersed in modern front-end development using React for dynamic, responsive user interfaces and React Native for cross-platform mobile applications.

  • IoT and WebSocket (2019-Present): I started exploring the Internet of Things (IoT) and WebSocket technologies, enabling the creation of real-time, bidirectional, and efficient communication between servers and clients.

  • CIO (2020-Present): ... setting the ... vision and strategy for the company, ensuring that our software solutions align with our business goals. I oversee the development of our software products, ensuring that they are robust, scalable, and secure.

  • TypeScript and Mono-repos (Early 2020s-Present): I widely adopted TypeScript and embraced the use of mono-repositories to enhance the maintainability of my code and to reduce errors, especially in large-scale projects.

  • Generative AI (Early 2020s-Present): I am exploring the potential of generative AI for innovation and creative problem-solving in software development and for the development of new products.

Popular repositories

  1. bootstrap-modal bootstrap-modal Public archive

    See https://github.com/infobiotech/jquery-bootstrap-modal

    HTML 4

  2. bootstrap-customization bootstrap-customization Public archive

    Customizing Twitter Bootstrap 3.0.0

    JavaScript 1

  3. web-skeleton web-skeleton Public archive

    My personal starting point for every small and fast project

    PHP

  4. git-flight-rules git-flight-rules Public archive

    Forked from k88hudson/git-flight-rules

    Flight rules for git

  5. Front-End-Checklist Front-End-Checklist Public archive

    Forked from thedaviddias/Front-End-Checklist

    πŸ—‚ The perfect Front-End Checklist for modern websites and meticulous developers

  6. slate slate Public

    Forked from slatedocs/slate

    Beautiful static documentation for your API

    JavaScript