Profile Picture
Software Developer
Passionate
Driven by innovation
Contact
diazndc@gmail.com
(939) 488-8467
Languages
Spanish
English
Education
Computer Science Bachelor
Graduated
Magna Cum Laude
Awards
Certificate of Academic Excellence

ABOUT ME

My name is Noel Diaz Centeno, and I am from Isabela, Puerto Rico. For the past decade, I've harbored a profound passion for coding. Leveraging the vast resources available online, I taught myself programming. Eight years into this self-directed learning journey, I chose to formalize my education by pursuing a degree at the Universidad Interamericana de Puerto Rico. You are welcome to view my current academic transcript here.

My primary objective is to secure a position that I am passionate about, one where I can advance both personally and professionally. I seek a role that offers opportunities to acquire new skills and refine existing ones, all while meeting and exceeding job expectations with utmost efficiency to contribute to the company's objectives.

For a comprehensive view of my work, including various projects and applications I've developed, please visit my portfolio. Notably, part of my portfolio is this current website, which features an interactive particle system. When you hover your mouse over the site, the particles dynamically repel from the pointer, creating an engaging user experience.

SKILLS

The scales provided below represent estimated years of experience with specific technologies. It's important to note that these estimates are not indicative of proficiency levels, as quantifying expertise precisely can be challenging.

Java

1
2
3
4
5
6
7
8
9

Javascript

1
2
3
4
5
6
7
8
9

PHP

1
2
3
4
5
6
7
8
9

HTML CSS

1
2
3
4
5
6
7
8
9

MySQL

1
2
3
4
5
6
7
8
9

FireBase

1
2
3
4
5
6
7
8
9

KNOWLEDGE

OOP Programming

Proficient in Object-oriented Programming (OOP), demonstrating a strong understanding of using "objects" to encapsulate data in attributes or properties and implement functionality through methods.

ECS Programming

Skilled in the Entity-Component-System (ECS) architectural pattern, a method extensively utilized in game development. ECS emphasizes composition over inheritance, enhancing flexibility and facilitating the identification of entities.

Web Development

Experienced in developing World Wide Web applications based on the client-server model, utilizing HTML, CSS, and JavaScript for client-side development and employing PHP, Node.js or Java on the server side.

Databases

Proficient in database management, encompassing the organization and storage of structured information in computer systems. Skilled in utilizing Database Management Systems (DBMS) to efficiently access, manage, modify, update, control, and organize data.

Networking

Versatile in networking, having developed multiple servers utilizing Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) with Java or Node.js, incorporating the socket.io library for enhanced communication capabilities.

Data serialization formats

Proficient in utilizing various data serialization formats such as JSON, and XML, enabling efficient encoding, storage, and transmission of data across different systems or components. This skill facilitates seamless data interchange and reconstruction in diverse programming environments.

Version Control

Adept in using version control systems, essential software tools that enable developer teams to communicate and manage (track) all changes to the source code, including details of who made the change and what change was made.

Photo Shop

Skilled in Photoshop, the leading software for photo editing and manipulation, with capabilities extending from comprehensive editing of large photo batches to the creation of detailed digital paintings and drawings that resemble handcrafted work.

PROBLEM SOLVING

Featured below is a video compilation showcasing my engagement in Clash of Codes, a competitive platform that tests problem-solving skills through coding challenges against global participants.

It's important to highlight that several of these challenges prioritize code conciseness. Consequently, my solutions often employ single-letter variables, omit the use of "let" or "var" keywords, and rely on compact, one-liner expressions to meet the criteria of minimal code size.