Resume
Let's start 😎

 

 

 

Contact

Last name: Margio
First name: Simone
Nationality: Italian

 

simonemargio.im
hello@simonemargio.im
simonemargio.social

 

 

About me

I am a software engineer with a strong eye for innovative design and knowledge of usability based user interface development techniques.
I have excellent interpersonal skills in teamwork and modeling and solving problems through problem-solving processes.

Collaborating with you could be an excellent opportunity to work with people with passions and ideas to create an exchange of creativity.
The projects I dedicate time point out my love for development down to the smallest detail without leaving anything to chance.
Back end side with efficient structures and the front end side with a simple and elegant user interface.

 

 

Education

University: course of studies at the University of Naples Federico II
  • Degree course: computer science
  • Class: class of the degrees in computer science and technologies

 

High school: Isis Enrico De Nicola
  • Type: scientific high school diploma

 

 

Language

First: Italian
Other: English

 

 

Competencies

C
Swift
Object-C
HTML
CSS
JavaScript
SQL
PL/SQL
Python
Shell scripting
Java
Markdown
LaTeX

 

 

Skills


Relational
  • Excellent interpersonal skills in group work and in relation to users
  • Problem shaping and solving skills about the type presented

 

Organizational
  • Good work organization skills, both individually and in collaboration
  • Capacity for coordination and administration of projects and activities

 

Artistic
  • Remarkable passion for music and the arts in general
  • Lover of minimalist expression and design

 

 

Technical skills


Algorithms
  • Knowledge of designing and analyzing efficient algorithms and data structures
  • Development of data structures
  • More
    • Techniques for analyzing the complexity of algorithms and for evaluating the efficiency
    • Analysis of specific algorithms to solve fundamental problems such as sorting and searching

    • Complexity analysis of the main sorting algorithms:
      • Insertion sort
      • Selection sort
      • Merge sort
      • Heap sort
      • Quick sort

    • Elementary data structures such as:
      • Lists
      • Priority queues
      • Trees
      • Heap
      • Graphs

    • Advanced data structures such as:
      • Hash tables
      • Balanced trees
      • AVL
      • Red black tree

    • Other topics such as topological orderings and strongly connected components

 

Software engineering
  • Software engineering processes and related phases of activities and deliverables
  • Knowledge of the entire software development process and team management
  • More
    • Analysis of the whole process behind software engineering

    • Essentials such as:
      • Properties and analysis of development models
      • Methods of analysis and design
      • Importance of software modeling languages for communication between different actors involved
      • Quality attributes of the software

    • Insights into requirements engineering and requirements analysis and specification

    • Document definition for the software, including:
      • UML: activity diagrams, statecharts, component diagrams, OCL
      • System design and software architectures (3 Levels, MVC, SOA, Cloud)
      • Project management, WBS, Gantt and Pert charts

    • Process development such as:
      • Versioning of software products
      • SVN and verification and validation
      • Review inspection
      • Testing levels
      • jUnit
      • Black Box and White Box strategies
      • GUI testing

    • Process Models such as:
      • Cascade process
      • Agile methodologies
      • SCRUM

 

Human machine interaction
  • Design principles and methodologies for building usable software
  • Study of psychological characteristics of the user
  • More
    • Objectives of Man-Machine Interaction and its importance

    • Study of elements such as:
      • Cognitive Psychology
      • Sensory Channels
      • Limitations and human expectations in perceptual processes
      • Visual perception
      • Aural perception
      • Tactile perception

    • Tools for creating interfaces with the outside world

    • Peripherals for Man-Machine Interaction:
      • Text input devices
      • Peripherals for pointing and positioning
      • 3D peripherals
      • Peripherals for visual, aural, and haptic output
      • Peripherals and interfaces for disabled users

    • Ergonomics and study of design
    • Design of menus and icons
    • Interaction paradigms
    • Context-aware interaction

    • Software life cycle:
      • Analysis of usability requirements
      • User-centred design
      • Usability Engineering
      • Prototyping techniques
      • Documentation of project choices

    • Usability evaluation
      • Recording Tools
      • User comment
      • Collection of opinions, interviews and questionnaires
      • Predictive Evaluation
      • Heuristic evaluation and cognitive walkthrough

    • Communication Models:
      • Face-to-face communication
      • Eye contact and gaze
      • Gestures and body language
      • Non-verbal channels
      • Effects of computer-mediated communication

    • Ubiquitous computing and augmented reality
    • The ISO 9241 standard
    • Heuristics

 

Theoretical computer science
  • Theoretical computer science and related abstract models of computation
  • Fundamentals of analysis for analyzing and solving complex problems
  • More
    • Propositional language:
      • Formal systems
      • Syntax of propositional logic
      • Semantics of propositional logic
      • Dedecidability and completeness

    • Automatons:
      • Finite and sequential machines
      • Nondeterministic
      • A stack nondeterminism

    • Analysis and creative problem solving skills
    • Regular languages
    • Regular expressions
    • Pumping lemma for regular languages
    • Context-independent grammars and languages
    • Chomski normal forms

    • Correspondence between automata and grammars:
      • Pumping lemma for context-independent languages
      • Chomsky's hierarchy

    • Essential concepts such as:
      • Algorithm
      • Computable and partially computable function
      • Recursive primitive functions
      • Minimalization
      • Recursive partial functions
      • Goedel numbers

    • Universal machine
    • Church-Turing thesis

    • Decision and enumeration problems
      • Undecidability
      • Recursively and recursively countable sets

 

 

 

 

 

I’ve worked on

 

Vision

Personal project

Mobile application development for iOS platform based on the recognition of objects from an image. The information is saved in the image metadata to make searching more efficient. Machine learning Core ML and Vision framework

Webiste - GitHub

Travel tips

University Federico II

Android mobile client to offer and manage a travel recommendation platform, through the management of customer reviews. Mobile client for users, website for administrators

GitHub

Python

Udemy

Complete course divided into 100 days into topics such as data science, automation, building websites, machine learning, data parsing, analysis, games, and apps

GitHub

Alfred Apple Music

Personal project

Control Apple Music from the Alfred app with simple commands. You can run commands like: open or close the music application, play a playlist, manage shuffle play, give a heart to a current song or select the number of stars and much more

GitHub

Airline company

University Federico II

For managing flight reservations. Management of registrations, reservations, accumulation of points, effort calculation based on the best time or cost and others

GitHub

Swift

Udemy

Swift/UI course on analysis and development of topics such as UIKit, ARKit, CoreML, CoreData, ARKit, and tools for creating responsive and cross-platform design on iOS, iPadOS, and macOS devices

GitHub

Damien Hirst Painting

Personal project

Generate a painting by Damien Hirst with the colors of one of his paintings. Use the colorgram library to identify the colors of Hirst's painting and make it with Turtle graphics

GitHub

JavaScript

freeCodeCamp

JavaScript course including the development of data structures and scripting algorithms up to the differential choice of development based on paradigms such as OOP and functional

GitHub

Clone GitHub repository

Personal project

Download all public repositories for an account or organization

GitHub

Obsidian backup

Personal project

Alfred workflow written in python to back up the entire Obaidian vault to remote repositories

GitHub

Destini

Personal project

Destini is a simple example of an iOS application that can be used as a basis for understanding some iOS design basics

GitHub

simonemargio music

Personal project

The entire Apple Music library of all the playlists listened to since 2015

Webiste - GitHub

Ncurses Maze Generator

University Federico II

Maze generator that uses ncurses library. Use the random generation algorithms of a maze like: prim, dfs iterative and recursive mode, divide horizontally or vertically and other. Also allows the search minimum path search algorithms such as Dijkstra and A*

GitHub

Password generator

Personal project

Alfred workflow for generating random passwords

GitHub

Bitcoin price ticker

Personal project

Bitcoin price indicator in real-time based on the chosen currency

GitHub

Flashcards game

Personal project

To improve your skills you can practice with a series of any questions or items you need to answer. You can adapt the program for whatever you want to repeat or improve

GitHub

Library project

University Federico II

Management of a university library based on the basis of the loan and delivery of books

GitHub

Music production

Udemy

Complete course in FL Studio for music and stage production

Database RisiKo

University Federico II

Database for the complete management of a RisiKo game based on the classic rules of the game. They come in order defined and created: the related tables, objectives, playing cards, territories and boundaries of these and then move on to the database structure

GitHub

RisiKo Application Interface

University Federico II

Application for end users to interface with the RisiKo database to use all gaming actions. Through a series of guided interfaces, it allows two to six players to play a game of RisiKo. No animations are implemented when not required but it takes place entirely through visual information given to the player

GitHub

Brief game interface analysis

University Federico II

Analysis of the implementation of the user interface of a video game. Topics are elaborated including: structural and functional complexity, short-term memory, informative feedback and consistency

GitHub

npx card

Personal project

My summary npm card

GitHub - Npmjs

Telegram reply

Personal project

Telegram bot that analyzes and parses received messages to provide automatic replies

GitHub

Light and sound technician

Villaggi e Tribù

Management of lighting and sound systems for animation. Basic knowledge of circuit and welding systems

Website

Birthday and motivational send

Personal project

Send birthday and motivational emails. The greeting and motivational Monday emails are randomly chosen from a list of predefined letters. The Monday letters also contain a casual quote from Steve Jobs

GitHub

Graph Library

University Federico II

Graph management library with a list presentation and adjacency matrix. It includes basic management operations of a graph: vertex and arc examination and deletion, width and depth visit, calculation of the path between two vertices, transposed graph, acyclical verification, conversion in the two modes of representation and others

GitHub

Tip calculator

Personal project

iOS app with auto layout for tip calculator and bill split

GitHub

Client server game

University Federico II

A game based on the generation of a map where multiple connected players can compete with each other for the search for hidden objects. The game is managed by a server to which one or more clients can connect to enter a game. The server keeps player registrations and generates random games

GitHub

Cup Relax

Personal project

A simple website created just for fun during the pandemic, it keeps updated all the episodes to watch, remotely, of the TV series together with my friend Ale

Webiste - GitHub

Priority Queue

University Federico II

Management library of a priority queue. It allows representing a set of elements on which an order relation is defined. It includes operations such as: entering a value with K key, returning or extracting the minimum or maximum value, deleting a node, updating the value of K keys with consequent modification and maintenance of the structure order properties and others

GitHub