hello, world.

I'm Diego Escudero,

a Software Engineer.

WORK

Poly Labs Inc.

Chief Technical Officer

[Sept 2014 - March 2015]

Co-founder and CTO of Poly Labs, Inc. In charge of all software tasks including managing backend IT systems, designing and deploying websites and developing Android and iOS apps.

Hathway

Software Engineer Intern

[June 2014 - September 2014]

Prototyped and developed software for a home automation assistant using Google Glass. Designed an iOS app and landing page for Dingbot, an IoT keychain button that helps make daily tasks more simple.

Tapestry Solutions

Software Engineer, Part-time

[February 2013 - February 2014]

Worked on a team of students and full time employees to maintain Tapestry's Terminal Management software. Fixed existing bugs and implemented new features such as a new user interface and server diagnostic dialogs.

Freelance

Software/Hardware Services

[June 2008 - Present]

Perform troubleshooting for hardware and software issues. Provide services such as general PC application lessons, backup and restore solutions, printer and network setup. Replace defective hardware as necessary.

PROJECTS

Penguin Puzzler

[Published Android Game]

Created a penguin puzzle game for Android with 2 other developers and a graphic designer. Implemented sprite animation, interface design, and data persistence.

Asteroid Runner

[Desktop Game]

Designed and developed a simple asteroid survival game and created the low poly spaceship and asteroid models using Blender. Implemented collision detection, randomized asteroid locations and rotation as well as user controls and highscore system.

Security Case Study

[ECB vs CBC Encryption]

A visual cryptographic case study showing the different implementations of AES encryption. AES-ECB reveals its flawed and predictable output, while AES-CBC mode produces the ideal pseudo-random output.

Dibs

[Web App + Android/NFC]

Developed a live checkout and diagnostic system to track employee sales and prevent commission fraud. Ruby on Rails backend auto refreshed and displayed items of clothing scanned with the Android NFC app.

PP Utils

[Java Command Line Tool]

Created a command line tool to automate Penguin Puzzler level solving.

Example Output
Best Solution: 14
Moves: LDRDRUURDLLURD

Space

[Android Game]

Developed a 2D Android game with efficient collision detection, tilt to move, and infinite scrolling gameplay. Also implemented a variable frame rate game loop to increase compatibility on older devices.

SKILLS

Education

B.S. Computer Science

California Polytechnic State University - San Luis Obispo

Operating Systems

Android
iOS
OS X
Ubuntu
Windows

Programming Languages

Java
C
Obj-C
Swift
HTML5
CSS3
SQL
ActionScript
Ruby

Tools/Frameworks

IntelliJ
Eclipse
Xcode
Blender
SVN
GIT
Parse
Google Glass
OpenGL
Oracle
REST
Bootstrap
Cocoapods
Test Flight
Pencil

Relevant Coursework

Introduction to Computer Security

Survey of topics in computer system and network security, including protection, access control, distributed access control, operating system security, applied cryptography, network security, firewalls, secure coding practices, and case studies from real-world systems.

Introduction to Computer Graphics

Graphics software development and use of APIs for 3D graphics. The graphics pipeline, modeling, geometric and viewing transforms, lighting and shading, rendering, interaction techniques and graphics hardware.

Design & Analysis of Algorithms

Intermediate and advanced algorithms and their analysis. Mathematical, geometrical, and graph algorithms. NP-complete problems. Additional topics will be chosen from pattern matching, file compression, cryptology, dynamic and linear programming, and exhaustive search.

iOS and Android Development

Inception, development, testing, and deployment of mobile applications. Introduction to tools, libraries, and frameworks for one or more mobile platforms and devices. Emphasis on software engineering best practices for developing entrepreneurial or humanitarian mobile-centric applications.

Introduction to Database Systems

Basic principles of database management systems (DBMS) and of DBMS application development. DBMS objectives, systems architecture, database models with emphasis on Entity-Relationship and Relational models, data definition and manipulation languages, the Structured Query Language (SQL), database design, application development tools.

User Centered Interface Design

Introduction to the importance of user-centered principles in the design of good interfaces and effective human-computer interaction. Topics include: study of human characteristics affected by interface design, effective requirements data collection and analysis, user-centered approaches to software engineering, and evaluation of interface and interaction quality.

Volunteer

I like to volunteer to reduce stress and make a positive impact in the lives of the many dogs and cats that call Woods Humane Society home. I became a top level volunteer after attending every animal handling/care session to be able to take dogs off site and entertain and train them in the 1 on 1 rooms.

Rock Climbing

While being indoors is fun, I also take every chance I get to go rock climbing. I usually boulder at the nearby gym, but last year I had the amazing experience of climbing outdoors in Bishop, CA with friends from school.