Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply



Published on

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Dan Lynn 2738 Beth Circle • Palm Harbor, FL 34684 Cell 727-637-4723 • Email TECH LEAD • SENIOR DEVELOPER Tech lead and senior developer which employs communication and technical skills to build and lead teams in designing and implementing web apps, enterprise services, and desktop apps. Builds solutions using both proven technologies such as J2EE and emerging languages and frameworks like Ruby on Rails. Extensive experience working with distributed remote teams on government projects, private contracts, and open source projects. PROFESSIONAL PROFILE Experience Summary - Extensive experience as a professional applications developer - Strong business communication skills - Skilled in entire development cycle - Proven leadership and mentorship capabilities - Experienced last 5 years successfully working distributed remote teams - Contributor to open source projects (Mephisto, CodeRay plugin, Robocode, …) Languages Java (12 years – since 1.0.2) Ruby (3 years) / JRuby C++ C JavaScript Pascal Basic Cobol Prolog Assembler Web Technologies Struts JSP JSF Ruby on Rails (3 years) HTML CSS Java Applets WAP/WML AJAX Prototype JavaScript lib jQuery Enterprise Technologies J2EE Web Services (SOAP/WSDL) RESTful Web Services XML / XSLT / XPath EJBs Spring Hibernate Oracle / MySQL / Sybase JMS HL7 (Health Industry XML) Application Servers Weblogic 8 Orion JBoss Oracle 10g (OC4J) WebSphere iPlanet Glassfish Database Client/Server Oracle 10g Sybase 10 Informix Microsoft SQLServer MySQL SQLite3 CacheDB InstantDB JdataStore Interbase PowerBuilder DBS SmartStream DBArtisan Microsoft Access FileMaker Administration Linux OSX Sybase DBA Gitosis (Git public repo) Subversion (SVN) CVS Capistrano Amazon EC2 Virtual Hosts Operating Systems Linux Solaris OSX FreeBSD Windows VMS RSX 11M+ IBM 4381-OS Development Tools Eclipse NetBeans (Java / Ruby) JBuilder X Jdeveloper ANT Rational Tool Set YourKit Java Profiler JProbe ClearCase ClearQuest StarTeam RubyMine (Rails IDE) Graphic Design Photoshop Pixelmator AutoCAD Illustrator FrameMaker PageMaker Media 100 (video editing) OmniGraffle Updated 2/20/09 Page 1 of 12
  • 2. Dan Lynn Tech Lead • Senior Developer WORK HISTORY Mephisto Rails Content Management System Nov, 2008-Present St Petersburg, FL Contributor • Mephisto ( is a Rails-based open source content management system (CMS). The main push since late November was to bring the code-base up to Rails 2.2 standards and perform a security audit and harden the code against XSS exploits using such tools as the Safe-ERB plugin. Additionally, I contributed changes to the colored syntax highlighting plugin adding flexible layout support (CSS rework), and a retro-fit of colored syntax highlighting to legacy themes which do not natively support them via some rather interesting JS wrangling. Ruby & Agile Technologies Blog 2006-Present St Petersburg, FL Designer and Content Creator • This is my personal blog ( I recently switched to the Mephisto CMS and have so far only migrated some of my more popular articles in. These articles are a good demonstration of the depth of my ruby knowledge as well as my communication skills. I created the entire site theme from the ground up and, therefore, it is a good demonstration of my design / HTML / CSS / JavaScript skills. This site is currently running on Apache 2 + Passenger on my staging server while I await some changes on my hosting service. Deployment is handled via Capistrano. And of course all source control is handled via Git. • The blog is currently being migrated away from the Mephisto CMS to BrowserCMS ( I continue to contribute to the Mephisto project. However, BrowserCMS is a much cleaner code design with far superior browser-based administration. I have just started to interact with the core team and will be contributing modules and portlets shortly. Furthermore, a security audit seems to be a good idea based on some initial inspection of the code. Open Source Contributions 2006-Present St Petersburg, FL Contributor • In the past 3 years as I have been involved in the ruby and ruby on rails community, I have identified defects and often provided fixes for many open source projects such as SOAP4R. Fixed time-out issues and provided profiling features for SOAP requests. • Created TextMate-based IDE for managing Rails development servers and tools to assist in development. It added a palette to TextMate which featured scriptaculous eye-candy transitions as you navigated through the features. This was before any other IDEs were available in the Rails-space. The project was abandoned after really great Rails IDEs like NetBeans were made available. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 2 of 12
  • 3. Dan Lynn Tech Lead • Senior Developer State Farm Banking Aug, 2007-Present St Petersburg, FL Tech Lead • State Farm Banking app PCI Compliance Project. PCI compliance is required in order to meet credit card industry guidelines regarding the secure handling of personal and credit card information. A security audit identified possible cross-site-scripting (XSS) issues. When I was tapped for this project, I performed extensive code analysis of the application components exposed to XSS attacks. A significant number of additional XSS issues were identified which were missed by the security auditing firm which identified the initial PCI compliance issues. I lead a remotely distributed team which included both US and India resources that made design and code corrections on a very compressed schedule. The schedule was short due to the schedules of other projects which had a PCI compliance dependency on the banking app. • JRE 1.6 migration project for State Farm Banking. The customer asked for me to take on this project as the tech lead responsible for migrating their large banking app from JRE 1.4.2 to JRE 1.6. The project will allow State Farm to automatically switch from a JRE 1.4 code base over to a 1.6 code base as JRE 1.6 is rolled out in phases to the desktops in their enterprise in early 2009. The project consisted of two major phases: discovery and construction. During the discovery phase, I directed the team to perform source code analysis and extensive regression testing using guidelines that I produced based on probable migration issues for both JREs 1.5 and 1.6. The main deliverable of the discovery phase was a plan and estimate for the construction phase based upon the issues discovered. The construction phase consisted of correcting all the issues found during discovery and then performing a lengthy full regression debug cycle. Significant hurdles presented themselves during the course of the project such as being forced to convert hundreds of test scripts over from WinRunner to QTP due to JRE 1.6 compatibility issues with WinRunner. These hurdles were overcome and the project was successfully migrated to production on time and within budget. • JVM project for State Farm Banking. This project consisted of migrating a large banking application over from running as an applet under the Microsoft JVM to Sun JRE 1.4.2. The application contained hundreds of screens and was used by State Farm in their call centers and by their agents to handle all customer interactions regarding their accounts. I joined this project late in the development cycle to take over as the tech lead to help bring this project’s dashboard status from red back to green. There were some technical and architectural missteps made early on in the project that lead to an alarming number of defects. Through code analysis and the use of custom source analysis tools, I was able to track most of the problems back to threading issues and mistakes made when converting the GUI over from AWT to Swing. After significant changes to the thread design and Swing implementation, we were able to eliminate most of the issues. After a round of performance and memory profiling using a variety of tools, we were then able to improve the quality, performance, and reliability of the app to the point that it improved call time handling for the customer to a level that surpassed their historical average. This success helped to significantly reduce costs in the customer’s call centers and contributed to winning the follow-on project of migrating the app from JRE 1.4.2 to JRE 1.6. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 3 of 12
  • 4. Dan Lynn Tech Lead • Senior Developer Veterans Health Administration Aug, 2003-Aug, 2007 Bay Pines, FL 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 4 of 12
  • 5. Dan Lynn Tech Lead • Senior Developer Senior Programmer / Tech Lead • The Organization Service project is a SOA service that models, manages, and supports the querying of organizational structures. The service models everything from teams within hospitals within divisions, to bedpans within rooms within hospitals. This J2EE service is critical for such business tasks as resource scheduling and billing. The organization data is managed with a webapp built using Ruby on Rails. This management webapp features AJAX auto-complete fields and organization diagram images generated on the fly on a background AJAX request once each detail page is displayed. The Rails-based admin webapp communicates with the J2EE service via a web service when ran within the native ruby interpreter. If the webapp is instead deployed as a J2EE WAR file via JRuby then it sheds the web service and calls the J2EE service directly via JNDI RMI. The Rails webapp is able to switch between web service, JNDI RMI, and even file-based persistence because I wrote my own persistence layer that maps on top of ActiveRecord which allows me to easily provide alternative persistence plugins for the ActiveRecord models. The J2EE service leverages technologies such as Hibernate and Spring. I served the roles of senior developer and interim-tech lead for this project. This project (as all VA projects below) featured geographically distributed teams. Thus, I am quite familiar and comfortable with the challenges that such an arrangement presents. • The Application Preferences project is an enterprise repository for application configuration and user preferences that featured centralized administration. The system facilitates the querying of prefs associated with a context of entities. The query is processed by first returning any pref associated with that specific context and then if none is found traversing the context’s parent hierarchy in order to inherit the pref. For example, an application may request the prefs which hold saved searches for the current user of the CPRS app. The result is a list containing the searches that this user has saved, some that are associated with the team that he belongs to, and several default searches for that specific application. The prefs service is designed with one national repository and multiple geographically dispersed tiers underneath it. These tiers are designed to keep the prefs data near its point of use and to synchronize with a journaling mechanism that is tolerant of faults in the network. After completion of the initial developer release, I spent 6 weeks of intense profiling and optimization of the code that resulted in more than 100x increase in performance. I promoted the need for this enterprise service to the customer and successfully won funding and resources. I designed the project, tech lead the efforts of 2 developers, and received the Spirit of Greatness Award for my work. • Conceptualized, designed and implemented the DynamicFilters subproject. It was created in order to allow the Person Service Lookup service to be customized by our clients without the intervention or resources of the Person Service Lookup team. It is a generically applicable query tool that facilitates arbitrary queries against distributed sources of data. It is made up of a client GUI (both Swing and JSP) and a server side component. The server side component takes the request from the client and breaks it up and forwards it on to other remote instances of the server side component which would then collect data from local databases, legacy systems, etc. then process the results (joins, etc) and return the data upstream where it would again be processed and finally returned for display in the client. Both the client and the server components were design to be extended with plugins that customized the search screens and server side components. I directed the activities of 4 developers to complete this project. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 5 of 12
  • 6. Dan Lynn Tech Lead • Senior Developer • Person Service Lookup Project Release 5. I was responsible for this major redesign of the existing project. The existing project was updated to make use of the DynamicFilters project for all searching and the Application Preferences project for enabling saved searches and user preferences. This project is made up of several J2EE services, a Struts webapp, and server-side DynamicFilter plugins that make RPC calls to legacy Vista M data retrieval procedures. I directed the efforts of 4 developers to complete this release of the project. Openwave Systems July-Aug, 2003 Overland Park, KS Lead Architect / Senior Programmer • Developed large Swing (JFC) application that graphically designs and customizes websites. It allows you to build websites by dragging components such as text fields and buttons onto a page then resize, move, and adjust their properties. The text, buttons, labels, and help can be localized for any number of languages. Actions can be associated with the various buttons and components that allow the website to interact with back-end systems via SOAP. The site can then be published to a Struts-based JSP webapp. This was a really fun project. It incorporates such technologies as XML, XSLT, SOAP, JDBC, JSP, Struts, TagLibs, J2EE, resource localization, Websphere 5, Oracle9i, Axis, Swing (JFC), JDK 1.4 XML Serialization, Regular Serialization, JDK 1.4 Drag-n-Drop. Look and Feel New Media Jan-Jun, 2003 Kansas City, MO Consultant • Developed e-commerce infrastructure for the ISP that builds and hosts the websites for large non-profit organizations such as the Girl Scouts, Campfire Girls, etc. This system was unusual in that they needed to store credit card info locally for use in manual credit card processing by some customers – yet make the credit card data completely inaccessible even if the server becomes compromised. The solution was to implement a public/private key system where the credit card data info was stored using a public key that could only be decrypted on the clients computer using the corresponding private key. The encrypted fields were decrypted and displayed in the client’s browser using tiny 60k applets that performed the RSA/Blowfish decryption. The encryption library and packages developed for this project are also applicable in a MIDP (3G cell phone) environment. This project was Java-based and used such technologies as SSL, the Java Cryptography Extension (JCE), JAAS, and JSP on Weblogic 6. • Assimilated a custom web app framework for developing web forms and enhanced it adding new capabilities to the apps that used this framework. • Developed some small form based web apps on a very tight schedule by leveraging my own PageBean web app framework (described below). 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 6 of 12
  • 7. Dan Lynn Tech Lead • Senior Developer Sprint PCS July-Dec, 2002 Lenexa, KS Senior Developer • Senior developer for the Network Inventory and Design System (NIDS) project. The NIDS project is a very large endeavor to integrate the Objectel 2.6 inventory and design system with the Metasolv OMS 2.0.1 workflow system via a custom middleware message execution solution. All user interaction with the system is through a streamlined web interface. • The Objectel server is a C++ app running on Solaris. The OMS workflow server is an EJB application running within Weblogic 6 on Solaris. The middleware message execution engine (Mexe) is a custom Java server that ties together all the distributed parts via JMS messaging and performs all business logic. • Recruited to join the NIDS group based upon my ability to quickly assimilate complex frameworks and become productive. The project had just been given approval to scale-up in order to meet a constricted time-line. • Initially, I was responsible for implementing telcom connection business processes via Mexe handlers. This lead to the development of re-usable Mexe components and refactoring of the Mexe middleware server adding such features as distributed transaction support and automated transformation of XML messages between the various servers via XSLT. • Extended the functionality of the Objectel server by creating numerous customizations via the Objectel C++ Extensions API. One of these feature enhancements included the ability to unextend facilities (a capability that Objectel claimed could not be done). Many of these enhancements were driven by the requirement that all actions performed through the web app had to be able to be undone (Undo). • Performed rigorous testing and debugging of the Jakarta Struts-based web-app. I was essentially the only member of the team that had extensive experience across the entire breadth of the NIDS system. Sprint April-July, 2002 Kansas City, MO Senior Developer • Worked on the Project Watch team designing and building a web-based project management solution that is currently used throughout and in the process of being extended for use by other divisions of Sprint. Project watch is implemented using J2EE technologies such as JSP, XML, and XSLT running on Weblogic 6 application servers. • Responsible for helping to straighten out their custom web-app architecture through a series of phased refactorings while continuing new feature development. Created many new re-usable components for use throughout the system. • Developed XML Schema/XSLT-based data synchronization with legacy systems making use of Castor to simplify binding of XML data to Java objects. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 7 of 12
  • 8. Dan Lynn Tech Lead • Senior Developer • Update ANT build scripts used in nightly source validation and builds. Helped manage and educate team in use of CVS version management system Look and Feel New Media March, 2002 Kansas City, MO Expert Analyst / Trouble-shooter • Trouble-shoot a migration of a web app from MS SQL Server to Oracle. The client had developed a totally custom web application framework that needed to be assimilated and extended on a highly time-critical schedule without the benefit of the original authors of the framework. The migration was completed ahead of schedule and I added the additional ability to perform fuzzy and stemming searches. The customers were very pleased and the trouble-shooting project was a great success. Developer Forge LLC 2001-2002 Lenexa, KS Founder / Lead Architect and Technologist • Setup software development consulting firm. Responsible for acquiring business, negotiating contracts, then leading teams in the design and construction of projects using J2EE technologies. • Designed and lead a team in implementing a highly sophisticated online subscription management system for a major data warehousing company. This project was implemented using EJB and JSP technologies running under IBM Websphere 4.0 Advanced Edition. • Recruited team of mostly high-level software developers from contacts and relationships forged during the past 5 years in the Kansas City business community. • Managed a team of developers working remotely in pairs or alone on the tasks that I assigned them based on their skills and motivation. Maintained focus, design consistency, and a sense of community through the use of online collaborative technologies such as instant messaging and screen sharing. • Built reusable J2EE framework that sped the development of the team’s web applications. This framework simplifies many tasks that are common to nearly all web applications. Some of these features include: custom declarative and application-level authentication and authorization policies, JSP page history functionality, and entry form validation. The most useful feature is that the framework automatically binds the buttons and fields of a JSP page to the page beans so that form data can be automatically validated, persisted, and button actions performed. This framework is a strategic asset that allows the Developer Forge team to more rapidly develop web applications than our competitors. • Designed and built the Robocode Repository website ( It is a partner site to the IBM Alphaworks Robocode site ( Robocode is a tool being used in schools and colleges around the world as a tool for teaching Java programming. Robocode Repository gets between 10,000 and 25,000 hits per day and has been referenced on such sites as 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 8 of 12
  • 9. Dan Lynn Tech Lead • Senior Developer Peripheral Vision Infosystems 2000-2001 Overland Park, KS Senior Team Lead of External Development Projects • Setup design guidelines and procedures for the external applications development team focusing on J2EE technologies. This also included choices of tool selection for such categories as integrated development environments, UML modeling tools, version control, preferred application servers, and testing. • Built a successful development team through recruitment and mentorship. Used techniques and contacts built and refined over the past four years of leading software development teams. • Performed a technical sales support role to give prospective clients confidence in the skill level and expertise of our development team. This involved a great deal of direct interaction with clients and on-the-fly brainstorming of solutions in conjunction with our hardware and services experts. • Responsible for developing level of effort estimates for quoting the software development parts of new projects. This included gathering requirements, developing an initial design, creating a draft project plan, and allocating resources. Then, if the project was landed, a second and far more complete iteration of this process was performed. • Identified and arranged a partnership with a wireless web development company that helped expand the range of services that Peripheral Vision Infosystems was able to offer. In return our company provided the wireless company with web hosting and application server expertise. • Designed and co-developed a reusable online news site and news management system. This system was made up of several different tools and technologies. The news management system that the editors used to organize and approve news stories was a JSP based web application. The tool used by the journalists to write and submit the stories was a hybrid tool that combined the sophisticated web page GUI of DreamWeaver with a series of our own DreamWeaver extensions and servlets. This tool allowed the journalists to write their stories with a full-featured GUI tool then manage and submit them using a customized palette that was fully integrated into the DreamWeaver GUI. • As part of a community outreach program, I made presentations and developed workshops on internet and web technologies to local Explorer’s Post members. Explorer’s Post is a youth program for promoting leadership and community responsibility traits. Sprint 1997-1999 Overland Park, KS Software Engineer IV - Java/Web Technology Consultant • Provided mentorship and guidance for other Java Developers at Sprint by aggressively promoting a mentorship program and by producing Sprint’s Java Center of Excellence web site. These activities helped build the TCS group into a magnet for the most talented software engineers at Sprint. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 9 of 12
  • 10. Dan Lynn Tech Lead • Senior Developer • Purposefully explored new technologies and applied them towards the technical consulting and strategic vision of new projects. Some examples of these technologies would be: J2EE, JSP, Servlets, Java Foundation Classes. • Lead a team of 8 programmers in designing and building one of the largest early Java projects at Sprint, the Navigen project. Navigen is a large Java client application that provides patient information, lab reports, and referral information for the healthcare industry. This project began very early in the JDK 1.1 life-cycle. Demonstrated the foresight to select technologies such as Java Foundation Classes (Swing), Java Cryptography Extension, and JavaMail while they were still in a very early pre-release stage. These technologies matured into defacto standards as the project reached completion. The early adoption of these technologies gave the application a strategic advantage compared to its competitors. We also developed our own secure web-start technology for use with this application years ahead of Sun’s own web-start technology. • Lead a team in designing a large scale online training system for Sprint’s University of Excellence. This project consists of three parts. The first sub-project is a large Java/COM application which allows course content developers to create both online and instructor-lead course materials. The second sub-project is an EJB/JSP system that facilitates online course delivery and assessments through a web browser. The third project consists of a performance support system (EPSS). The EPSS provides M&Ps, job aids, client application support, and call center support. • Created an ASP/JSP-type dynamic web site product for Sprint called LiveFeed. This system was first implemented about a year and a half before Servlets or JSP existed. It featured a pluggable interface for providing access to new sources of data such as JDBC, web site mining, and file system feeds. LiveFeed’s document object model allowed it to automatically thread all the data sources on each page. It also has the unique ability to be able to write the action code that responds to each button on a web page in the source of that same page. This greatly simplified the execution flow design of the dynamic pages so that web-masters who don’t have any specific programming knowledge are able to produce fairly complex web applications. Several of the high- profile intranet sites at Sprint are built on this technology. Owens-Illinois 1988-1997 Toledo, OH Systems Analyst / Programmer • Designed project management system for Closure Division. This system featured workflow, project history logs, and email based notification linking together mainframe, RDBMS, and multiple client platforms. • Helped develop a custom CAD package used for rapid design of plastic bottles. Primarily responsible for correcting and optimizing the mathematics and algorithms involved in the 3-D ray-tracing package. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 10 of 12
  • 11. Dan Lynn Tech Lead • Senior Developer • Designed database server monitoring system. This multi-threaded system runs in the background on the Operations Supervisor's desktop computer. It simultaneously monitors every database server on the network and reports any changes in status with either an entry into an on-screen log or an audible alert based on the severity of the situation. The server-based portion of the software automatically handles nightly processing, backups, and automatic crash recovery. The monitor-based portion of the software allows remote administration of these tasks as well as configuring and distributing upgrades of this system. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 11 of 12
  • 12. Dan Lynn Tech Lead • Senior Developer Multi Service Corp 1988 Overland Park, KS Programmer • Debugged the Multi-Mac large scale integrated freight management system for Multi- Service Corporation. The system managed truck maintenance, shipping schedules, and truck routing. Successfully reduced the number of overnight trouble calls from an average of 4 per night at the beginning of the project down to a total of 3 calls in the entire last month of the project. 661-INFO – The Information Line 1986-1988 Overland Park, KS Programmer • Set up and supervised the Database Maintenance and Research department. Responsible for managing and delegating workload to a team of 2 to 5 research and data entry personnel which kept a database of over 50 thousand businesses up to date. EDUCATION 1985-1987 Johnson County Community College Overland Park, KS 1987-1997 University of Toledo Toledo, OH 1997-1998 University of Missouri, Kansas City (UMKC) Kansas City, MO • The National Merit Foundation – National Honor Roll (top 2-3%) • Phi Theta Kappa – Honorary Fraternity • University of Toledo Undergraduate Graduating Award 1994 • Phi Kappa Phi Scholastic Honor Society – Inducted 1994 • Golden Key National Honor Society INTERESTS Mountain biking, racquetball, kayaking, windsurfing, Ruby on Rails, contributing to open source projects REFERENCES References are available upon request. 2738 Beth Circle • Palm Harbor, Florida 34684 Updated 2/20/09 CELL (727) 637-4723 • EMAIL Page 12 of 12