Software Architect Resume
San Diego, CaliforniA
OBJECTIVE:
Challenging Big Data/Analytics position using complete software life - cycle skills (architecture, design, implementation, testing, tuning) with Scala (next-gen functional JVM language), Apache Spark with Big Data/analytics/algorithms/math and concurrency/multi-threading.
PROFESSIONAL SUMMARY:
- Complete software lifecycle experience including product conceptualization, requirements, customer/vendor interaction, architecture, design, implementation, documentation & quality assurance.
- Extensive, broad software engineering skills with Master’s Degree in Computer Science and extensive experience in application areas of enterprise & framework development, Functional Programming, multi-threading, Big Data, analytic model development, OOA/D, real-time, imaging, test equipment/system development, GUI, web development, database, protocols, engineering and telephony.
- Extraordinary problem solving skills - root cause analysis, algorithm development, creative brainstorming, functional programming, crisp OO modeling & solution simplification.
- Superb technical skills - broad theoretical & practical knowledge base engenders minimal, efficient and high-quality implementations that have low bug densities, easily satisfy customer requirements and are well documented.
- Keeps up with industry trends (Big Data, Spark, Visualization, NoSQL, Functional Languages, Queueing (Kafka)), TDD…)
- Highly productive - able to effectively multi-task, design & code accurately & rapidly.
- Unusually strong communication & interpersonal skills - in large/small group or individual settings. White paper author.
- Customer interaction skills - targeted presentations, purchase rationale or solution prototype development.
TECHNICAL SKILLS:
Languages: Scala, Java 8, Groovy, (Visual) C/C++, (J)Ruby, *UX shells, FORTRAN, 68K Assembly, SQL
Development Techniques/Frameworks: OOP/OOA/OOD, Spark, Spring (extensive), Grails, Design Patterns, UML, Webservers (Tomcat, Jetty, WebLogic, JBoss, BEA), Apache, Jetty, JDBC, HTTPS/SSL/certificates (security)
Operating Systems: Win7/WinXP/2000/NT, *UX (on HP, Dell, Solaris, SGI, Dec, IBM), Linux, Real-Time (PSOS)
Databases/O-R Mapping Tools: Cassandra, Hive2, No-SQL (Mongo), Oracle, HSQLDB, MS-SQL, mySQL, Posgres & Hibernate/iBatis experience.
SOA/Web Services: SOAP/REST (Spring) Web Services, Java 6 JAX-WS, JAXB & Axis2, HTTPS/SOAP security, XPath
Methodologies: Scrum (Agile), TDD/TFD, Extreme Programming (XP), UML, Evolutionary & Waterfall, Real-Time CASE
Source control: Git, Subversion (SVN), CVS, ClearCase, Microsoft VSS, RCS, MKS
Build/testing tools: SBT, Maven, Ant, JUnit, JIRA, QualityCenter
Other: Servlets, HTML/XML/CSS, Java/POSIX/Microsoft threads, I8N, ICE (hardware emulators), reading electronic circuit schematics.
PROFESSIONAL EXPERIENCE:
Confidential, San Diego, California
Software Architect
Responsibilities:
- Performed Apache Spark configuration/setup, ETL/sample data file ingestion and integration of Spark-Cassandra connector. Configured Hive2 Thrift Server and Spark tables (RDD’s) for high throughput (efficient data pipeline) and JDBC access via visualization tools.
- Lead team that analyzed 20 UI vendors/solutions for suitability as our AdHoc reporting & dashboard visualization solution, scoped staged tasks for evaluating vendors and hosted implementation phone/webex sessions to prove vendor’s solutions meet Confidential ’s needs.
- One of designers of AdHoc Reporting MicroServices involving rapid data ingestion using Kafka, record assembly and query engine for Spark which will be driven by a customer-focused UI that allows semi-arbitrary queries.
- Team lead on new ground-breaking Event Sentry project involving NoSQL DB, multi-threading, CAP Protocol and Geo location. Scoped stories for team, architected and documented design and implemented critical server-side (complex) algorithms.
- New ScriptCache threading design for messaging core that utilizes weak references and is mostly lock-free, which should result in significantly improved throughput in the core event server.
Confidential, Carlsbad, California
Software Architect
Responsibilities:
- Architected/Designed/Implemented multiple projects simultaneously on my own or in small teams, including analytics models (Rental Amount, Disposition, LendOptix, FraudmarkA/B, WatchSuite), model-backing file generation & aggregation system, Logging Service & associated database schemas. One of “goto guys” for algorithms, threading tuning, & hard problems.
- Scala evangelist and one of local language “experts.” Led a language “run-off” complete with benchmarking that was used to select Scala as our language of choice. Then, two of us learned, developed and propagated the language throughout the organization.
- Proposed Modeling Framework “Meta-Architecture”: investigated, documented and implemented new streamlined approach to model development using Scala. Projects that formerly had hundreds of source files and took 3-6 months to develop are now done with roughly 10 source files in 2-4 weeks Some of these time/file reductions were due to the establishing of enabling conventions and parallel analytics development. A new project template is sketched in a Maven archetype and exploded for a new project, also saving time. These improvements accelerated Confidential development cycles, beating schedules & reducing time to market.
- Greatly streamlined model/file validation process from multiple weeks down to days using innovative search/compute/join and automation/match techniques on big datasets, thereby saving time, conserving budgets & eliminating numerous headaches.
- Significantly improved overall analytics model throughput by introducing reliable multi-threading. Designed & coded multi-threaded, Web-enabled test harness to validate.
- One of organization-wide leaders in documentation via MediaWiki. Served on numerous committees (Collaboration, Architecture, Documentation Standards). One of leading contributors to architectural standards committee and led or co-led numerous brown-bags on Scala, our internal Scala framework, the Wiki or architectural topics.
- FraudmarkUK product (team lead): came up with overall architecture & build structure, implemented innovative “Flat POJO persistence framework” that afforded tremendous flexibility & ease of use.
- WatchSuite product (team lead): understood & modeled current “patched together” analytics suite for mortgage fraud detection. Proposed top level architecture & schema; interacted with multiple divisions & data sources. Project now generates over $1M annual revenue.
- Designed, implemented & tested flexible, meta-data-driven database extractor that composes Java-friendly data structure given fairly arbitrary database schema/table/column structures, satisfying multiple product needs, especially those for feeding analytic fraud models.
Confidential, San Diego, California
Sr. Software Architect
Responsibilities:
- Data retention service: large set of stored procedures that implemented periodic database cleanup.
- Trip Management Project: converted project to standardized POM’s / DM Server deployment and eased XSD parsing by introducing XPath solution. Took end-to-end responsibility for Trip Import feature (architecture/design/impl), including vendor interaction, fixed/CSV/XML adapter design & WS implementation.
- Project lead on GIS accounting project. Converted unreliable, partially manual to fully automated, database-centric solution that is 100% automated and delivers easy-to-read Excel spreadsheet to business owners monthly.
- Became a local expert on Spring DM Server 2.0 (OSGI-compatible) for media delivery mobile product.
- Extensive Maven build / deploy responsibility for dev/integration/staging environments including Hudson, ended up suggesting standardized way to setup POM’s for maximum flexibility / maintainability.
Confidential, San Diego, California
Software Architect / Sr. Application Developer
Responsibilities:
- Created logical software architectural stack which is now Confidential standard. Created numerous software architecture, design, implementation, testing and process documents which are now on the DEV Wiki and assisted in rapidly developing performant and low-bug-density applications.
- Led design & implementation of the Confidential Persistence Framework. The TPF is a DISA-compliant ORM tool that uses JavaBean concepts & conventions to succinctly map to CRUD stored procedures and ad hoc queries without XML mapping files. It may result in Confidential IP.
- Led Architectural Committee whose charter is to produce the technical roadmap for the company, solve pressing problems and provide a forum for discussion for all types of technical issues.
- Functioned as TechDevLead for one project, contributed implementation skills on another, and primary technical interviewer for many new developers. Recommended optimal development tool suite.
- Recommended Groovy/Grails as next development platform by presenting business case, fit for organization as well as technical merits & advantages.
- Rapidly proposed, designed & implemented lightweight Groovy-based solution for web services integration project. Because of this technology choice and rapid implementation skills, was basically able to reduce project personnel by one. Also, quickly implemented maintenance/admin. application in Grails.
- Rapidly developed internal Opportunity Management application using Grails. Realized large productivity gains across entire application (database, middle-tier & front-end). Chose jQuery for Web2.0 look & feel.
Confidential, Point Loma, California
Architect / Sr. Software Engineer
Responsibilities:
- Co-architected overall architecture for next version. Introduced well-received UML diagrams & processes.
- Redeployed secure Confidential (Transportation Optimization) web service using Java 6/Spring Web Services. Included FTP getter, XSLT transform and refresh of old web service technologies. Security was implemented using HTTPS and mutual authentication using digital certificates, and web service was deployed on Java 6 embedded HTTP server. Met project schedule deadlines.
- Wrote various white papers: advantages of a lightweight SOA approach (Spring HttpInvoke), software tools, Java marshalling technologies, Spring-WS vs. Axis2 WS, selecting open source software.
- Implemented jar conflict detector and CSV to POJO converter in spare time.
Confidential, Rancho Bernardo, California
Java/J2EE Software Engineer
Responsibilities:
- Researched, designed, implemented & tested Interface A client for inclusion in company’s laser monitoring system, which included extensive work with Java 6 Web Services (annotations), WSDL and SEMI specifications and security using HTTPS and mutual authentication using digital certificates.
- Co-architected integration of Interface A client into the COL monitoring system using UML diagrams. Balanced retrofit of legacy code, project timelines and a solid OO model that resulted in an efficient implementation given SOAP security & payload overhead.
- Suggested tool improvements that resulted in greater productivity and higher quality code across the project.
Confidential, Carlsbad, California
Sr. Software Developer
Responsibilities:
- Co-architected and wrote most of a clusterable J2EE security service (authentication & authorization) in an evolutionary manner. In conceptual phases considered JAAS, Acegi and Terracotta frameworks, but ended up writing a custom solution that relied heavily on Spring, as well as other 24-Hour Fitness architecture components. The design comprised UML diagrams, the implementation conformed to company standards and PMD rules-checking, and the implementation was extensively tested with JUnit. The resulting solution is powerful, lightweight and has tremendous design clarity, allowing easy refactoring as further requirements arrive.
- Simultaneously, was lead developer on MSO web project for a month before funding was reduced. Specified succinct and consistent top-level integration services/API’s and Security Service additions using UML.
Confidential, San Diego, California
Java Software Engineer
Responsibilities:
- Developed two J2EE applications within a common Java framework using the Command and Chain of Responsibility Design patterns, each specified by a common Spring configuration file. The first application integrated a legacy COBOL application with an FTP file interface on one side and a Web Service on the other.
- The other application read/updated records from a database using MS-SQL, calling a web service in between. Both applications heavily utilized an XML binding framework (JAXB).
Confidential, San Diego, California
Java QA Software Engineer
Responsibilities:
- Developed an innovative scheme for checking date-based subscription code running in an SOA architecture utilizing JBoss and IBM’s mPower. This design achieved the highest level of QA automation possible (Model Driven Design) using innovative State-Machine description as one of N possible Test Dimensions, and then auto-generated Test Cases to run via an execution engine. The design was flexible enough to specify the levels of needed test thoroughness (e.g. exhaustive, coverage or simple).
- Developed a Test Case Execution Engine that executed the auto-generated Test Cases. This innovative engine was Spring-based and performed a parallelized simulation, greatly compressing the time in which the code needed to verify the production date-based subscription & renewal software.
Confidential, San Diego, California
Senior Java Engineer
Responsibilities:
- Designed, implemented & tested (JUnit) Java code for an extremely complex XML-based workflow engine that implements the company’s new Health Care Claim Fraud Detection solution. This project is the company’s largest and most complex to date. Code is very OO, configurable, parallelizable and distributed, utilizing J2EE components such as JMS. Working environment was very fast paced, so productivity and accuracy were very important.
- Helped articulate design in specification document and found some critical bugs that improved overall quality.
Confidential, San Diego, California
J2EE Architect
Responsibilities:
- Proposed powerful unified JRuby scripting environment that would enable the development of four new products that could result in significant time and money savings as well as improve R&D efforts. Also proposed major “componentization” of current application products that would result in greater flexibility, reuse and reliability of two products.
- Reworked and enhanced web-based Laser monitoring system using J2EE and a lightweight framework (Spring). Responsible for framework choice, justifications, services architecture, configuration, implementation & testing tasks, as well as SECS-GEM external interface design, implementation & testing.
- In addition to integrating two 3rd party software tools, wrote automated test tool that allowed us to breeze through QA, as well as aggressively ensure better quality of the final product in the field.
Confidential, San Diego, California
Sr. Web Engineer
Responsibilities:
- Involved in architecting, designing, documenting, implementing, testing and debugging new flagship Bid Application for keyword/outlet management. Features include SOAP portal management, real-time, complex database schema, Hibernate, intense Java coding with threads in a real-time, fault-tolerant, parallel processing architecture.
Confidential, San Diego, California
Lead GUI Engineer
Responsibilities:
- Architect, design, implement, test and debug new & existing GUI features for an Enterprise GUI that manages real time alerts for a complex network of CBRN sensors and repeaters using BEA WebLogic/JBoss J2EE application servers, SOAP Web Services, Struts, JSP, JavaScript, Swing & DAO objects with Oracle/HSQLDB.
