Daniel Angel Muñoz Trejo

Daniel Angel Muñoz Trejo

Seattle, WA, United States
Hire Daniel
Scroll To View More
Daniel Angel Muñoz Trejo

Daniel Angel Muñoz Trejo

Seattle, WA, United States
Member since September 21, 2013
Daniel has a proven talent for creating high performance applications in C++ for large companies such as Dreamworks Animation SKG. He has developed C++ applications with the Intel Threading Building Blocks framework, Boost C++ libraries, and Qt libraries. He also excels with C and ASM (x86).
Daniel is now available for hire
Portfolio
Experience
  • C++, 10 years
  • Windows, 4 years
  • Qt, 3 years
  • Git, 3 years
  • Algorithms & Data Structures, 3 years
  • Linux, 2 years
  • C, 2 years
  • Concurrent Programming, 1 year
Seattle, WA, United States
Availability
Part-time
Preferred Environment
Windows, Linux, QtCreator, Visual Studio, Git
The most amazing...
...code I've ever written is a file compressor implemented using the Huffman algorithm.
Employment
  • Software Development Engineer
    Amazon
    2017 - PRESENT
    • Contracted to develop software.
    Technologies: Java
  • Qt Developer
    MBLSFT
    2015 - 2017
    • Ported an Android Secure Messenger application to BlackBerry native.
    • Ported the crypto library from Java to C++.
    Technologies: C++, Qt, Blackberry
  • C++ Developer
    PulsePerfect
    2015 - 2015
    • Integrated the GiNaC library into a Qt project.
    • Integrated the Cuba library into a Qt project.
    • Created different callback functions for the Cuba integration function.
    • Created a parser for a Scene Definition File.
    • Created images from mathematical equations.
    Technologies: C++, GiNaC, Linux
  • C++ Developer
    MiddleMatter
    2014 - 2015
    • Created a project in C++ using Qt OpenGL support.
    • Developed a whistle recognition C++ library using Qt.
    • Removed the Qt dependencies from the whistle lib and compiled it with Android NDK.
    • Created an Android app that used the whistle lib as the back-end sound processing.
    • Implemented a fast SMQT (Successive Mean Transformation Transform) algorithm for the whistle processing which performs in O(N) instead of O(N*L), reducing processing time to 3% to 19% of the original time (depending on the number of samples).
    Technologies: C++, Qt, OpenGL, Android, Android NDK
  • C++ Desktop Programmer
    Slimware Utilities
    2014 - 2014
    • Improved the existing Stub Installer.
    • Created a multithreaded background process to manage downloads.
    • Created unit tests for the product.
    • Managed overlayed data inserted into the application image.
    • Fixed bugs.
    Technologies: C++, MFC, Networking, Multithreading
  • Senior C++ Developer
    Arris (formerly Motorola Mobility)
    2013 - 2014
    • Used the ObjectStore object oriented database.
    • Used CMake as the build system.
    • Developed new features and fixed bugs for a VideoFlow application.
    • Created a logging system to automatically log files, lines, functions, etc. using a preprocessor macro.
    • Fixed numerous C++ bugs.
    Technologies: C++, ObjectStore, Linux, Windows, Git, CMake
  • Senior C++ Developer
    Dreamworks Animation SKG
    2012 - 2013
    • Used parallel computing techniques with Intel TBB.
    • Created a unit test using googletest.
    • Fixed several Python-C++ interfaces.
    • Created mesh compare operators (one for each different kind of mesh) at the request of an artist.
    • Fixed bugs and made improvements to Dreamworks's proprietary software for creating 3D movies.
    Technologies: C++, Intel TBB, Boost C++, Qt, Linux
  • C++ Developer
    Motorola Solutions
    2012 - 2012
    • Found the source of bizarre errors that turned out to be related to template linking issues.
    • Created a lock screen UI (password prompt UI) for Windows Mobile 6.5 that interfaced with a data encryption card.
    • Suggested various improvements to the adopted system of generating log information.
    • Developed an Asynchronous Finite State Machine using boost::statechart.
    • Used the Qt Framework for the lock plugin UI.
    Technologies: Windows Mobile 6.5, Qt, Boost C++
  • Firmware Developer
    Controlnet S.A.
    2011 - 2011
    • Worked to allow different USB modes (mass storage, virtual serial port, input device, etc.) to work on an ARM7 development board.
    • Proposed, installed, and evaluated two different real-time operating systems (RTOS's) on an ARM7 development board.
    • Tested an ATM machine to find bugs.
    • Modified the firmware of an old Buss card system to add new functionality.
    • Worked under the ISO 9001 Quality standard.
    Technologies: C and C++ for Microcontrollers, real time operating systems, USB interface, Smart Contactless Cards
Experience
  • Codility Silver Award for the Carbo 2013 Challenge (Other amazing things)
    http://codility.com/cert/view/certC89A6K-H6JMRM23QQPUFZGJ/

    My successful solution to the Carbo 2013 Challenge.

  • How C++ Works: Understanding Compilation (Publication)
    Compilation and linking are two very fundamental processes that happen all the time during C++ software development. However, what happens during these processes? How does the compiler go from your neatly organized source code to a binary file that the machine understands? In this article, Toptal Freelance Software Engineer Daniel Trejo explains how a C++ compiler works with some of the basic language constructs to answer some common questions that are related to these processes.
  • Optimized Successive Mean Quantization Transform (Publication)
    Image processing algorithms are often very resource intensive due to fact that they process pixels on an image one at a time and often requires multiple passes. Successive Mean Quantization Transform (SMQT) is one such resource intensive algorithm that can process images taken in low-light conditions and reveal details from dark regions of the image. In this article, Toptal engineer Daniel Angel Munoz Trejo gives us some insight into how the SMQT algorithm works and walks us through a clever optimization technique to make the algorithm a viable option for handheld devices.
  • After All These Years, the World is Still Powered by C Programming (Publication)
    Despite the prevalence of higher-level languages, the C programming language continues to empower the world. There are plenty of reasons to believe that C programming will remain active for a long time. Here are some reasons that C is unbeatable, and almost mandatory, for certain applications.
Skills
  • Languages
    C, C++, Python, Java, Assembler x86
  • Frameworks
    Qt, Boost C++
  • Libraries/APIs
    Intel TBB
  • Tools
    Git, CMake, Android NDK
  • Paradigms
    Concurrent Programming, Object-oriented Programming (OOP)
  • Platforms
    Linux, Windows, BlackBerry 10, Android, Windows Mobile
  • Misc
    Algorithms & Data Structures, Cryptography
  • Storage
    MySQL
Education
  • Bachelor of Engineering degree in Electronic Engineering
    Universidad Tecnologica Nacional - Cordoba, Argentina
    2004 - 2015
I really like this profile
Share it with others