Daniel Sabin is a creative and highly motivated software engineer. His unique combinations of theoretical and practical skills allow Dan to work on projects, ranging from designing and developing software systems to conducting research studies on new technologies. Regardless of whether he works as part of a team or independently, Daniel shines in a dynamic, fast paced environment, where team collaboration, problem solving, and risk mitigation are critical to success. Daniel’s leadership capabilities help keep his organization moving forward even through challenging roadblocks.
Specialties: Object-Oriented Programming (OOP), Web App Development, Agile Software Development Practices, Test Driven Development(TDD), Behavior Driven Development (BDD)
Full Stack Software Engineer @ From August 2014 to Present (1 year 5 months) Full Stack Software Developer @ Joined the team as a Full Stack Software Engineer working on the web applications that powered Beats Music. These applications covered account registration, media playback, playlist and music curation, and social media post pages. Took over responsibilities for automation and code quality. Created a testing framework around the web applications using Ruby, Cucumber and Selenium which was responsible for testing the application during all stages of development from PRs through to production against all supported browsers. Helped the rest of the team by implementing a cross-browser unit test framework. Bundled each of the web applications into separate packages in order to cut down on deploy time and the human element of releasing software. Worked with the DevOps team to finish the complete pipeline from PRs to production using the same bytes of code during the whole process for more consistent deploys. From March 2014 to July 2014 (5 months) San Francisco Bay AreaSenior Software Engineer @ Joined the team as a Ruby on Rails engineer responsibly for migrating UpCounsel website from .NET. Built a custom API wrapper in place of ActiveRecord since the databases were abstracted behind a NodeJS service. Used the same annotations that powered the wrapper to an admin interface followed by the rest of the website from marketing pages to user profiles and hiring. From November 2013 to March 2014 (5 months) San Francisco Bay AreaSoftware Developer @ • Refactored Java API to resolve addresses world wide (validation and auto-complete for UK,
US, CA IN, MX, AU)
• Refactored over 300k lines of code and migrated API to run on Jackson 1.92 and Jersey 1.17
using POJOs instead of JAXB
• Started a migration of Glassfish 4.0 Java 7 EE and Jackson + Jersey 2.0
• Worked and mentored a colleague to develop Ant Driven TestNG Unit Test Suite
• Streamlined Ant Dependencies to roll out the re-factored API
• Built out Vagrant VM for locally running API to match production environment and avoid
dependency issues
• Worked to move the teams to an Agile Development Cycle relying on Automated Testing
and two-week sprints. From January 2013 to November 2013 (11 months) Software Developer @ • Designed and Developed a prototype Windows Phone 8 App for searching and booking hotels
• Released Expedia.com on mobile platforms worldwide (Summer 2012)
• Develop the Java back-end using Spring and Java live on 30+ Points of Sale and supported in 18 languages
• Develop front-end views using FTL and JS.
• Maintain and add new unit tests to new features using EasyMock and JUnit 4.x
• Help Q/A with development of Cucumber scenarios and Ruby (1.9.2) step definitions
• Develop code over two week sprints and commit code to CI servers running automation with Jenkins
• Release multiple stories per sprint driving conversion up
• Work with an agile team of 7 teammates doing regular stand-ups, card walls and Feature-Driven development From March 2012 to January 2013 (11 months) Software Engineer @ - Developed C++ drivers for headphone jack and USB card Swipers with an additional C external library
- Co-Developed a C to Ruby binding to allow web applications to directly control the credit card readers
- Developed a lightweight web app to process and respond to requests using RabbitMQ and Sinatra
- Designed a PCI compliant solution to process credit cards on a tablet
- Ported a dynamic Ruby Site to a nanoc (a ruby static site generator) From December 2011 to February 2012 (3 months) Software Developer @ - Sustain work of an enterprise web-application.
- Work included enhancements and new features as well as bug fixes to old features.
- The application uses Java, Javascript, JSTL, and SQL.
- The application revolves around a rule engine utilizing several thousand user created rules.
- The application provides all the tools necessary to manage both the rule engine and the rules to create various execution patterns.
- The application is 10+years old through various companies. It involves both new and legacy code all which is maintained by myself and my co-worker.
- Worked on creating the UI for the application using HTML, CSS, and JSTL.
- The Java backend used the same technologies as the previous system, a combination of Java and SQL with some web-services for communication with other systems.
- Both systems work with other networked systems developed by other companies including software by SAP.
- All work was done on site for Allison Transmission in Indianapolis. From July 2011 to December 2011 (6 months) Indianapolis, Indiana AreaSoftware Engineer @ - Worked in both C (bug fixes / new features) and SQL (database design / live demos).
- Joined a team (at the end of the development lifecycle) responsible for the development of a C/Java/Linux, multithreaded, centralized data processing system that transfers streaming, real-time data to terminals and edge-devices via various protocols such as TCP/IP, sockets, and serial connections.
- Responsible for code to increase the robustness of one of the edge-devices, which was suffering from intermittent operation due to miscommunication with the device. Refined the server side code for the algorithm that controlled movement of the device.
- Fixed all the problems with the device (which could be handled at a software level) and delivered and tested the fix on time.
- Worked with the same team for a complete redesign of the system starting from the documentation phase.
- Proposed the use of new technologies to the team in order to prevent major implementation issues, which occurred during the development of the first release and were never fully resolved even upon delivery.
- Convinced the team to use the new technologies through the use of live software demos during team meetings and eventually convinced the project manager the increased amount of redesign would make our system more extensible.
- Responsible for the design of a process that aggregates all middle-ware message traffic in real-time into one place where it would be later used for analysis; to facilitate this the design features a SQL database.
- Responsible for the design of a process that analyzes data in real time from radar sources and publishes the processed data via a middleware to the rest of the system.
- Responsible for specifying message structure in IDL for the messages transmitted by both processes via the middleware.
- Heavily rely on Design Patterns specific to IPC and network communiations done using the DDS middleware. From June 2010 to July 2011 (1 year 2 months) College Intern @ Developed on a tool used to visually display probability distributions
Researched new standards in probability distribution generation
Contacted a professor at Stanford University to learn more about a new industry standard
Worked remotely with the professor in order to find a way to implement the new standard into MDMs current simulations From June 2009 to August 2009 (3 months) Global Studies Research Project @ Worked on an international projects with students in Sweden
Member of the report team tasked with writing a white paper to submit to the EU and EC
Participated in weekly project meetings with teams in Sweden via teleconference
Traveled to Sweden for two, week-long, face to face meetings
Prepared a 45 minute presentation for Swedish doctors and potential clients
Worked with 22 Swedish students and 6 RHIT students From September 2008 to December 2008 (4 months) College Intern @ Worked in Q/A testing two different Release Builds
Learned how to use Cisco’s Equivalent of “Bugzilla”
Reported 18 bugs across three separate projects
Attended weekly status meetings and kept up with a demanding test schedule
Helped train a new full-time replacement employee
Offered opportunity to return for similar work in Winter 2008 From June 2007 to August 2007 (3 months)
Bachelors, Computer Science @ Rose-Hulman Institute of Technology From 2006 to 2010 Computer Science, 4.0 @ The University of Aizu From 2008 to 2008 Dan S. is skilled in: Java, Software Development, JavaScript, Software Design, Software Engineering, C++, SQL, C, Ruby, Web Applications, Databases, Agile Methodologies, HTML, REST, Database Design
Websites:
http://freethinking.it