B.S., Computer Science @
University of Hawaii at Manoa
I am an experienced software architect, designer and developer. I am one of those rare individuals who is able to operate at the visionary level and think in terms of the big picture, but then also be able to do a deep dive into the details and deliver tangible results. There is no hand waving here. I
I am an experienced software architect, designer and developer. I am one of those rare individuals who is able to operate at the visionary level and think in terms of the big picture, but then also be able to do a deep dive into the details and deliver tangible results. There is no hand waving here. I am very hands-on, and enjoy being that way. If I propose an architectural solution, I understand exactly what it will take to make it a reality. However, I am not just another techno-nerd. I also understand business needs and realities, and how to balance technology and business to get the best possible solution.
My greatest strengths are my flexibility and adaptability. My flexibility allows me to keep an open-mind to alternative technologies, solutions and/or approaches, not being stuck on any particular one. I am able to analyze the strengths and weaknesses of each technology and play to those strengths while managing around weaknesses. My adaptability enables me to adjust to ever-changing technologies and conditions. I am able to quickly grasp new technologies and understand how to incorporate them into architectural designs that meet the business needs.
My current area of interest is with Hadoop and Big Data. Big Data is in a nascent state, and everyone is still trying to figure out how to use it, but it will be BIG! Solutions that once were inconceivable are now within reach. The Cloud will be the enabling infrastructure, using all the variations: public, private and hybrid. As more and more data is collected and stored, the need to figure out what do with all that data will grow and grow. That is where someone like me comes in. My experience, with web technologies, data/event processing, service-oriented approaches, cloud technologies and the Hadoop suite of tools, gives me the right set of skills to do great things!
Specialties: Big Data, Hadoop Ecosystem, Cloud Computing, Web Services, Web Applications, High Quality Code
Sr. Software Engineer @ Designed and developed a system to design, create, deliver, track and report on mobile advertisement creatives. My primary responsibility was on the back-end with the tracking and reporting processing.
• Responsible for the maintenance and improvement of MapReduce Jobs that processed beacon/event tracking and session aggregation, engaged in multiple performance enhancements, advocated/participated in testing with MRUnit/MiniCluster, and used S3 as a Data Warehouse for raw data
• Designed and developed a Dimension Analysis Framework, using Oozie, Hive & Hue, used custom Hive UDFs, calculated unique cardinality with HyperLogLog, created reusable template workflows to perform generic processing which allowed for new dimensions to added quickly and easily
• AWS EMR cluster creation and management using the Java SDK, automated configuration using custom bootstrap scripts and configuration steps
• Designed and developed a Hive Script Testing Tool which allows HQL scripts to be unit tested without needing a full cluster, open sourced it on GitHub (https://github.com/bobfreitas/hiveunit-mr2)
• Maintained and enhanced a Reporting Framework, imported JSON files into MongoDB and provided REST web services for data retrieval
• Conducted research into Spark and performed a Proof of Concept
• Effectively worked with remote teams to coordinate and distribute project work From November 2014 to Present (1 year) San Francisco, CASr. Software Engineer/Data Engineer @ Designed and developed the back-end infrastructure on AWS, which was used to process and analyze usage data for customer churn detection. There were three main phases, using a combination of MapReduce jobs, Pig scripts, Hive scripts, and Java applications.
• First, there was the data ingestion, where validating, filtering, matching and initial inserting happened.
• Next, there was aggregating, where the raw data was rolled up for various reports.
• Finally, the raw data was normalized, ranked and scored to indicate trending patterns, and then exported to MongoDB.
Designed and developed an automation system using Oozie to schedule customer processing on regular intervals which used:
• Hue accounts and directory structures to separate and manage customer files and processing
• A set of template workflows which could be customized as needed
• A set of coordinators which could be customized as needed
Finally, exploratory and proof of concept work was done using machine level for the next level of analysis. From March 2014 to October 2014 (8 months) San Francisco CASenior Hadoop Software Engineer @ Worked on the design and development of the Kitenga Analytic Suite, an out of the box Hadoop solution that provides the ability to run complex map/reduce jobs by dragging & dropping widgets on a UI, with a large number of advanced analytic tools built-in. My specific accomplishments:
• Designed and implemented the integration of Pig
• Designed and implemented the integration of Hive
• Designed, planned, implemented and coordinated the conversion from Apache Hadoop to Cloudera
• Designed and implemented a network logging solution using Flume, Hive and Pig
• Designed and implemented a development testing framework using MiniCluster
• Designed and implemented a QA testing framework using REST services & a stand-alone app
• Performed a series of product enhancements to the GATE NLP offering
• Various product enhancements for Data Mining and Machine Learning using Weka and Mahout
• Designed, implemented and oversaw the overhaul of the source code and build system (SVN, Ant & Jenkins)
• Effectively worked with remote teams to coordinate and distribute project work From February 2013 to February 2014 (1 year 1 month) Santa Clara, CASenior Software Engineer @ Designed and developed cloud-based applications to provide disaster recovery services and manage VMware virtual infrastructure. My direct contributions:
• Member of architectural design team for infrastructure framework & customer portal
• Primary architect and lead developer for Server Replication service
• Design team and lead developer for VM Guest OS Automation service re-factoring
• Designer and lead for integration with billing system
• Designer and lead for back-end services used in customer portal
• Designer and lead for Hadoop log file processing effort
• Championed and lead the introduction of technologies and best practices, including but not limited to: a) IDEs & isolated dev environments, b) Automated testing and testing framework, c) Maven, d) Hibernate, e) Apache Shiro, f) Dependency Injection (Spring, Gin, Guice)
• Effectively worked with remote teams to coordinate and distribute project work From April 2011 to February 2013 (1 year 11 months) San Ramon, CASenior Software Engineer @ Rebuilt an existing Product Information Management system from a single monolithic application to allow for the introduction of Bloomingdales data and processing, with a focus upon maintainablity, scalability, and performance. My direct contributions:
• Responsible for the architecture and design of the data normalization and back-end components.
• Redesign and implementation of the service layer for maintainability and scalability
• Redesign and implementation of the build and release process for development, QA and production
• Redesign and implementation of the search engine with Solr and achieved performance gains.
• Designed, planned and completed POC for a replacement for workflow system using jBPM.
• Redesign and implementation of the ETL application, explored options with Hadoop, Spring Batch & PL/SQL
• Effectively worked with remote teams to coordinate and distribute project work From March 2010 to March 2011 (1 year 1 month) San Francisco, CASenior Software Engineer @ I was the primary architect for the redesign of the multi-tiered, web application infrastructure that uses Java, Struts2, Spring, Hibernate, Tomcat, and SQL Server. The primary goal was to allow the application to be scaled horizontally by using a combination of public and private virtualization options, commercial SaaS products, and re-designing the existing application with SOA principles.
At the start of the redesign, the applications were highly dependent upon each other, and everything ran on a single server in one JVM. Simple changes impacted every component in the system, thereby requiring everything to move in one monolithic step. The entire system needed to be redesigned from the data access layer and the supporting packages, all the way up to the presentation layer, introducing new technologies (SOA, Web Services, Maven, JBoss and Force.com) and creating distinct service layers that allowed access only through defined APIs.
Naturally, this massive undertaking was complicated by the need to coordinate with the day to day needs of the business. I devised an implementation plan to provide a realistic and manageable path on this arduous journey, and with my guidance the team has made significant progress. Intrax is well on its way to having a scalable and maintainable SOA system. From August 2009 to March 2010 (8 months) San Francisco, CASenior Software Engineer @ I supported and redesigned an existing SaaS application that provided an online energy management service. The application was entirely internet-based and built to scale using SOA principles. It received large number of frequent data samples and processed that data in a number of ways. I was directly responsible for a critical segment of the system. Major accomplishments were:
• Architected and implemented changes to the event management system to scale to any number of units of work by using multiple components and a JMS queue, which improved performance by 90%,
• Architected and implemented changes to an associated information retrieval sub-system to aggregate queries and use stored procedures in the appropriate cases, which improved performance by 125%,
• Designed and implemented new web services and enhanced existing ones to offer complex operations,
• Architected and implemented a testing framework that significantly reduced the number of release bugs From June 2008 to July 2009 (1 year 2 months) San Jose, CASenior Java Developer @ I was member of the architecture team and lead developer, where we designed and developed the billing and accounts receivable systems for Hotels.com to allow for Expedia data to be included in the processing. The volume of data would be more than doubling, but the processing time needed to remain constant. The new systems needed to operate within the existing Hotels.com IT framework without disrupting anything around them.
In this role, I needed to wear multiple hats. I needed to be the architect, coming up with big picture plan. I also needed to be a technical lead, providing leadership and guidance to junior members of the team. Finally, I needed to be a negotiator and strike a delicate balance between opposing objectives of the project managers and business users. From August 2007 to June 2008 (11 months) San Francisco, CASenior Software Enigneer @ After transitioning from my Micromuse project team, I joined the Packaged Solutions team in IBM. We were tasked with architecting, designing and developing out-of-the-box solutions. The major deliverable was a VoIP Solution targeted to service providers with an expected annual revenue of $2M. After considerable researching and prototyping, I arrived at a solution with a J2EE web application on the front-end, a data warehouse and ETL solution on the back-end, and various technologies to create data feeds to bring raw data into the system. This was a very large and complex solution that needed to address a breadth of possibilities. From March 2006 to June 2007 (1 year 4 months) Senior Software Engineer @ While at Micromuse, I filled a variety of different roles, using different technologies, as different business needs arose. I proved to be a dynamic and flexible asset, who was called upon to solve complex problems. Major accomplishments include the following:
• Served as OEM Development Manager at Cisco for an onsite team of four people plus staff augmentation,
• Designed and developed JSP/Servlet-based web applications,
• Designed and developed features for a product line that accounted for 20-25% of annual revenue,
• Designed and developed a new product that added the capability to bundle solutions allowing entry into new markets and significantly reducing the development/sales cycle,
• Designed and developed an automated testing framework that dramatically improved development efficiency and marketability of the core products,
• Redesigned a product line to address performance, scalability, and maintenance deficiencies,
• Coordinated efforts across various teams and departments, both domestically and globally,
• Trained and mentored junior team members (both OJT and structured courses), and
• Served as Technical Development Manager at ICG to implement a post-sales solution worth $11M. From April 2000 to March 2006 (6 years) Independent Consultant @ During this period, I owned and operated an independent, professional services organization, focusing on web application and network management solutions. I developed a solid understanding of and practical experience with what it takes to actually run a business and the difficult choices that need to be made. From June 1998 to March 2000 (1 year 10 months) Consultant @ I used this time to develop experience with a breadth of technologies and roles. It was an exciting time, and I was constantly challenged to deliver results with no training and short deadlines, while maintaining a very high standard. I was able to refine my skills, learn exactly what my strengths/weaknesses are, and outline a clearer career path for my future. From January 1995 to June 1998 (3 years 6 months)
Looking for a different
Get an email address for anyone on LinkedIn with the ContactOut Chrome extension