I am an experienced software engineer with a research background in computing systems. I have expertise in object-oriented software development, algorithm creation, and solving complex problems.
● Software Development: expertise developing in Java, C/C++, Python, AWK, and Bash. Experience with PHP, HTML, CSS, Javascript, and MySQL
● Skills: data structures and algorithms, CPU and memory architectures, assembly coding, bitwise logic, low level APIs (e.g., Berkeley sockets), load-balancing, programming tools (include Android Studio, IntelliJ, Eclipse, Git, Amazon S3, Linux CLI, Matlab / Octave, R)
● Development Experience: mobile apps, Linux applications, data analysis, computing system simulation, performance analysis and tuning
● Current Interests: include machine learning techniques (regression, clustering, classification, recommendation), discrete optimization, NoSQL databases, and statistics
Software Engineer (mobile applications) @ ● Lead successful Android development projects from requirements to completion for multiple clients ranging from medium to large-scale corporations
● Developed Android applications and libraries using RESTful APIs, XML, JSON, Proguard, SSL, Retrofit and native HTTP, push notifications (via GCM), native maps (Google Maps) with geographical data
● Used Object-Orientation and Design Patterns in traditional and AGILE app development life cycles From September 2014 to Present (1 year 2 months) Post-doctoral researcher @ ● Used Python to analyze x86 instruction usage over several years and automatically generate processor decoders in Verilog, based on different instruction removal policies. I evaluated decoder power consumption, critical-path performance, and area using Cadence’s Encounter RTL compiler with the FreePDK design kit
● Collaborated in modeling error-correction techniques for new memory technologies
● Publication of research in journals and conferences
● Presentation of technical research in workshops and courses From April 2013 to August 2014 (1 year 5 months) Campinas Area, BrazilPost-doctoral researcher @ ● Set up a cloud infrastructure (OpenNebula+Xen and OpenStack+KVM), developed management scripts in BASH, and created Linux-based virtual-machine images running Java, Hadoop, and Mahout
● Facilitated a course on Algorithms and Data Structures II using the C language From March 2012 to February 2013 (1 year) Belo Horizonte Area, BrazilResearch Assistant @ ● Collaborated in open-source temperature emulation suite for datacenters in C, BASH, AWK, for Linux
● Developed software-based policies for handling thermal emergencies in data centers by leveraging predictive models, load-balancing, admission control, and DVFS (C, for Linux)
● Developed hybrid memory architectures (DRAM / Phase-Change Memory) for servers and cooperative caches in collaboration with an Intel Corp researcher
● Developed a detailed memory simulation tool (C++ for Linux) and modified the M5 simulator (C++ and Python, for Linux) to evaluate the proposed architectures From August 2005 to December 2011 (6 years 5 months) Greater New York City AreaSoftware Engineering Graduate Intern @ ● Developed tool (in C and Java) leveraging the company's Dominion power meter to reduce energy consumption (by concentrating load and powering off idle servers) and predict energy cost reduction.
● Extended and experimented with our temperature emulation suite at the company's datacenter From June 2008 to August 2008 (3 months) Greater New York City AreaMaster of Science Fellow @ ● Collaborated in developing an open-source multi-platform and event-oriented simulation library (Java) and an open-source cluster computing simulator (Java+XML)
● Proposed MPI functions that adapted to the network topology
● Developed parallel and concurrent applications for image processing and machine learning (C, with WinThread and PVM)
● Developed of a performance analysis tool for parallel and sequential applications (C++, for Windows) From August 2002 to July 2005 (3 years) Belo Horizonte Area, Brazil
PhD, Computer Science @ Rutgers, The State University of New Jersey-New Brunswick From 2005 to 2012 M.Sc., Electrical Engineering @ Pontifícia Universidade Católica de Minas Gerais From 2002 to 2004 B.Sc., Computer Science @ Pontifícia Universidade Católica de Minas Gerais From 1998 to 2002 Luiz Ramos is skilled in: Algorithms, Computer Science, C++, Programming, Java, Linux, Distributed Systems, Simulations, Data Mining, MySQL, Cloud Computing, High Performance..., Computer Architecture, Matlab, R, Python, C, PHP, Software Development, Hadoop, Software Engineering, Perl, Machine Learning, Architectures, Artificial Intelligence, Image Processing, Architecture, Xen, LaTeX, Android Development, Statistical Data...