Your SlideShare is downloading. ×
T-Shaped Professional – What’s my T? or What distinguishes myself from being a pure generalist?
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

T-Shaped Professional – What’s my T? or What distinguishes myself from being a pure generalist?


Published on

  • Be the first to comment

  • Be the first to like this

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. Daniel S. Haischt – Advisory Software Development Engineer 08 03 2011T-Shaped Professional – Whats my T?Or: What distinguishes myself from being a pure generalist? © 2009 IBM Corporation
  • 2. T-Shaped Professional – Whats my T?Agenda ■ Motivation ■ Empirical Study – My Own Professional History – Deep-dive 1999 – Current: Java Enterprise Edition – Deep-dive 2000: Portal Technologies – Deep-dive 2003/2004: Weblogs & Social Networking – Deep-dive 2004: Centralized Mail Signing & Encryption – Deep-dive 2005: Zero Network Configuration – Deep-dive 2005/2006: Security Perimeter Appliances – Deep-dive 2007/2008: Compound, Personalized Document Composition – Deep-dive 2009/2010: SAP Metadata Extraction and ETL-based Cleansing ■ Exemplary Mockup of my Own T2 © 2011 Daniel S. Haischt
  • 3. T-Shaped Professional – Whats my T?Motivation ■ To overcome my own, possible blind spots ■ To get feedback from peers on how they would define my own distinct T ■ To actively identify my own distinct T according to an article written by Prof. Dr. Elisabeth Heinemann.German: © 2011 Daniel S. Haischt
  • 4. Empirical Study – My Own Professional HistoryDeep-dive 1999 – Current: Java Enterprise Edition ■ Motivation – Distributed software systems shouldnt be based on proprietary, self-crafted technologies – Instead use an implementation of a defined set of open standards and best practices – The only open standard available at that time was Java EE – The only way to learn such a open standard was creating its implementation – The only way to create such an implementation was participating in an OSS project ■ Accomplishments – Apache OpenEJB (OEJB) Committer – Completely re-created the build system after joining the project cause it was error-prone an proprietary. Introduced Apache Ant as a replacement – Ported the base OEJB infrastructure to a mobile platform (Java ME – CDC) – Started to implement a Message Driven Bean container based on CDC – Implemented Eclipse-tooling in support of creating OEJB-based apps – Implemented Web Service Security support ■ Retrospective – Java EE is complex and heavy-weight – This might change by supporting OSGi in app servers and profiles aka modularity as specified by the Java EE version 6 spec – Java EE or a reduced subset needs to be available on any platform to make Java EE apps portable – Java EE can be lightweight and thus can be run any platform – Security needs to be always built-into an app server if it should be run in enterprises4 © 2011 Daniel S. Haischt
  • 5. Empirical Study – My Own Professional HistoryDeep-dive 2000: Portal Technologies ■ Motivation – Enterprise web sites need to be based on open standards and need to be composed of re- usable, modularized assets ■ Accomplishments – Started to dig into Apache Jetspeed long before the Java portlet spec did exist – Published five articles focused on portal implementations and related technologies – Used the Liferay enterprise open source portal in several student projects – Used jBPM (now JBoss) to stage business processes into portal apps ■ Retrospective – Complex web sites to be deployed into enterprises need to be modularized and be based on a lightweight content management system – Content must not only be accessible through the browser → Usage of WebDAV or JCR – Where necessary complex workflows or business processes associated with a portal app need to be staged and implemented using a business process engine5 © 2011 Daniel S. Haischt
  • 6. Empirical Study – My Own Professional HistoryDeep-dive 2003/2004: Weblogs & Social Networking ■ Motivation – I dont want to fiddle with things such as HTML-programming if I want to take chronological notes about what I did multiple times a week or even multiple times a day just to publish them online ■ Accomplishments – Extensive evaluation and customization of almost every open source blogging engine such as WordPress and Movable Type – Implementation of several WordPress plug-ins such as BlogTimes and a Plazes geo-tagging plug-in – Extensive researches on blogging-related open standards such as RDF, Atom, FOAF etc. ■ Retrospective – A blog only becomes valuable to others if it not only provides content but metadata too that allows search engines and meta-blogging systems to lookup and mashup related information – You need to build an eco-system and a community around your blog to make it valuable and well recognized6 © 2011 Daniel S. Haischt
  • 7. Empirical Study – My Own Professional HistoryDeep-dive 2004: Centralized Mail Signing & Encryption ■ Motivation – As a geek I always had multiple computers and a network at home to educate myself on both computers and networking – Signing/Encrypting mail messages has always been cumbersome cause I had to distribute my PGP-keys to every computer at home – Instead I wanted mail messages to be transparently signed/encrypted by the mail server itself instead of using the mail client for such a purpose ■ Accomplishments – Setup of a complete mail server infrastructure accompanied by an LDAP-directory and GNU Anubis to sign/encrypt mail message while processing them – Setup of a complete public key infrastructure based on OpenCA to not only manage SSL- keys but PGP keys too – Multiple bug reports and C-based patch submissions for GNU Anubis – Did a research on competitive/commercial solutions and at that time I could barely find one – Published two articles covering GNU Anubis ■ Retrospective – As an end-user I dont want to care about stuff such as how to create PGP-keys or SSL-certs for the single purpose of signing/encrypting mail messages – Instead mail security has to be carried out by the server and needs to be transparent to users – Mail servers expose a security risk and thus need to be secured/hardened if they host public & private keys7 © 2011 Daniel S. Haischt
  • 8. Empirical Study – My Own Professional HistoryDeep-dive 2005: Zero Network Configuration ■ Motivation – Over time during the course of my many hobbyist researches, I did setup a very complex system of network devices and servers at my home network, both stationary & mobil. – Managing them became cumbersome cause you have to remember URLs and IP-addresses and provided services all the time – Instead I wanted each device to announce its existence and its services provided to the world ■ Accomplishments – Extensive researches on Zeroconf, UPnP and later on firewall piercing based on UPnP – Implementation of a C-based module for wzdftpd to announce FTP services and service data to the network – Several implementations of the Avahi client API for Gnome, PostgreSQL, OpenLDAP and other network servers – Published two articles covering Avahi ■ Retrospective – Home network configuration is way to complex where it shouldnt be to end-users – Home network devices and servers can configure themselves – Zero configuration may become more complex and non-trivial if you need to traverse boundaries such as a router/firewall or if you want to register devices and their services with a central DNS server on the internet8 © 2011 Daniel S. Haischt
  • 9. Empirical Study – My Own Professional HistoryDeep-dive 2005/2006: Security Perimeter Appliances ■ Motivation – Over time commercial routers/firewalls Ive been using at home showed that they are buggy, non-extensible and that bugs cant be fixed easily because they need to be fixed upstream by the manufacturer – I wanted to operate my own, self-crafted router/firewall appliances over which I would have full control – I wanted such a router/firewall to be extensible and host network security related services such as an anti SPAM-engine or an intrusion detection/prevention system – I wanted to make extensive use of VPN – Customers did request a self-contained security perimeter appliance ■ Accomplishments – Extensive contributions to m0n0wall, pfSense and FreeNAS – Established a test lab consisting of several WRAP, ALIX, Soekris and HP ProLiant appliances to stage OS images to platform specific test environments – The security perimeter operating system image could be generated and staged onto each of those devices – Completely re-wrote FreeNAS to be installed as a pfSense add-on – Started researching how SSL-traffic or statistical SPAM-analysis can be accelerated on the network level either using proprietary accelerators or accelerators implemented in FPGA – Started researching how Opcode such as Java or PHP Opcode can be accelerated using proprietary accelerators or accelerators implemented in FPGA – Started researching how to virtualize the hardware-based security perimeter solution using Xen or VMware ■ Retrospective – Implementing the just described security perimeter as an appliance within a single year is a 14h a day, 7 days a week job and requires much more than passion and dedication – Implementing the just described security perimeter as an appliance was cost-intensive because of the necessary hardware required to setup a test lab – This endeavor wouldnt have been impossible without a strong open source community and their help – I had to heavily switch between subjects and even had to learn technologies I never used before such as hardware acceleration based on FPGA9 – Acceleration and even implementing a silicon-based JVM can be done using FPGA © 2011 Daniel S. Haischt
  • 10. Empirical Study – My Own Professional HistoryDeep-dive 2007/2008: Compound, Personalized Document Composition ■ Motivation – Based on my past projects, my passion and dedication I learned that I could have a real impact on todays internet technologies if I would team-up with someone else sharing the same goals and visions – In 2007 I felt that I should join a large enterprise to be able to influence the emergence of today’s internet technologies with all the passion I demonstrated during my past projects – I as well learned if I would like to continue on tackling complex and cost-intensive projects, I really shouldnt do this as a one-man-show – I wanted to re-use the extensive document composition and generation knowledge (based on DocBook) I gained in the past to be able to apply it to different domains ■ Accomplishments – Completely re-factored the middle-tier of a compound, personalized document composition system to adhere to the Java 2 EE standard – Completely inspected and modified the code base of the compound, personalized document composition system to not violate any open source constraint and to be OSS license compliant – Successfully went through an OSS governance process to be able to use OSS components as part of the software system – Evaluated several XML-based document formats and proposed to use Lotus Symphony to implement an XML-based document composition system – Evaluated several workflow and business process engines and proposed to use ILOG to be able to annotate conditional semantics to personalized documents – Completely re-designed the proprietary web-based frontend to not only use open, semi-standard technologies such as AJAX but as well to not depend on browser-specific technologies or capabilities such as the Microsoft HTML-editing control or Internet Explorer specific XML-processing on the client side ■ Retrospective – Such a complex system being spread over many tiers and implementing a large amount of technologies can only stay competitive and vital if you solely rely on open standards, agile software engineering methodologies and a highly skilled and motivated team10 © 2011 Daniel S. Haischt
  • 11. Empirical Study – My Own Professional HistoryDeep-dive 2009/2010: SAP Metadata Extraction and ETL-based Cleansing ■ Motivation – I wanted to broaden & resurrect my previously, in the past gained SAP skills – I wanted to be part of a team that engineers a complete new solution from zero to its final, productized implementation ■ Accomplishments – Implemented several Eclipse-based clients to extract, model and manipulate metadata from an SAP system – Implemented several installers to provision the Eclipse-based client onto client systems – Completely inspected and modified the code base of the system to not violate any open source constraint nor 3rd-party intellectual property and to be OSS license compliant – Successfully went through an OSS governance process to be able to use OSS components as part of the software system – Completely implemented a continuous integration system that allows to generate an installable image of the system at any time at your finger tips ■ Retrospective – To be competitive you not only need to protect your own IP, you as well need to treat the IP of others appropriately and dont violate it – Treating IP appropriately cant be enforced onto employees. Instead you have to have a coach per team that is able to constantly coach the team on IP and OSS related matters – The OSS and IP related governance process should be transparently built into development tools as much as possible to be able to identify IP and license violations ahead of time long before releasing a product – A product that cant be installed very early in the product development cycle by QA or the customer is worth nothing – The source code associated with a product already rolled out should always be restorable at any time to be able to fix bugs based on such a source code snapshot – You should be able to produce a stable, installable build at any time – Implementing a CI-system requires resources and time and thus should be part of the project schedule11 © 2011 Daniel S. Haischt
  • 12. Exemplary Mockup of my Own TExemplary Mockup of my Own T12 © 2011 Daniel S. Haischt
  • 13. Exemplary Mockup of my Own TExemplary Mockup of my Own T – Radar Chart PM 10 SW-Eng Indystry Knowledge 5 Secure SW-Eng 0 Inuition & Empathy Thats Me Java Open Source Tech-Junkie13 © 2011 Daniel S. Haischt
  • 14. Exemplary Mockup of my Own T – Project Management ■ Solid understanding of traditional & agile software release engineering ■ Extensive knowledge on productizing solutions based on manufacturing security perimeter appliances as a free lancing software engineer ■ Extensive knowledge on intellectual property related governance processes such as those required to identify and govern open source ■ Good understanding on timeline and scope management ■ Certified Professional Scrum Master ■ Potential PMI Agile Certification Candidate ■ Good understanding of the Project Management Body of Knowledge ■ Question: Would an M.B.A. strengthen my product management & project management skills?14 © 2011 Daniel S. Haischt
  • 15. Exemplary Mockup of my Own T – SW-Engineering Methodologies ■ Solid understanding of traditional & agile software engineering best practices such as unit testing, using mock objects, functional testing etc. ■ Solid understanding of requirements definition & management, requirements traceability and requirements test coverage management ■ Extensive knowledge of the Unified Modelling Language and its underlying meta model ■ Good understanding of internationalization/globalization best practices and its implementation in software systems ■ Good understanding of packaging and installer systems to install a product on many platforms ■ Extensive knowledge of traditional and modern distributed SCMs ■ Solid knowledge of defect management and defect workflows ■ Extensive knowledge on how to implement a continuous integration system15 © 2011 Daniel S. Haischt
  • 16. Exemplary Mockup of my Own T – Secure SW-Engineering ■ Solid understanding of asymmetric cryptography to secure communication channels in software systems ■ Solid understanding on how to build audibility and data privacy into software systems ■ Solid knowledge on how to protect networks from threads such as malware, viruses, DOS attacks and SPAM ■ Solid understanding of how to interconnect networks using VPN-based technologies16 © 2011 Daniel S. Haischt
  • 17. Exemplary Mockup of my Own T – Java Platforms ■ Over 10 years of experience in every Java platform including pseudo Java- like platforms ■ Solid experience in many Java frameworks, libraries and tools including most Apache projects ■ Good understanding on how to interconnect Java with software systems written in other languages using either standardized communication protocols, JNI or similar techniques such as pipes ■ Questions: Would a formal Oracle Certified Master (OCM), Java SE6 Developer & Oracle Certified Master (OCM), Java EE 5 Enterprise Architect strengthen this key skill?17 © 2011 Daniel S. Haischt
  • 18. Exemplary Mockup of my Own T – Open Source Affinity ■ OSS Committer in four OSS projects including ASF projects ■ OSS Contributor in four OSS projects including ASF projects ■ OSS User/Consumer/Collaborator of appr. four ASF projects ■ OSS software engineering knowledge gained within more than a decade ■ My involvement in the apache software foundation gives me strong insights into many OSS governance processes including legal aspects ■ My continuous participation in many diverse OSS projects is a proof of my diverse IT technology skills and abilities ■ Peers from the OSS community I am working with certify my knowledge in the OSS domain ■ Project proposals I did for the ASF prove that I have the potential to see the big picture required to implement new software solutions from scratch ■ Everything mentioned before contributes to my reputation as a professional OSS engineer ■ Question: Would an academia study strengthen my OSS governance and -legal skills?18 © 2011 Daniel S. Haischt
  • 19. Exemplary Mockup of my Own T – Intuition, Empathy, Communication Skill ■ Bold Statement: My idealist Keirsey temperament and counselor (INFJ) Meyer Briggs type proofs that ■ A more modest statement: The feedback I am getting from peers proofs that ■ Working on many open source projects for over ten years not only proofs communication and inter-personal skills but proven empathy for working with people from many cultures too19 © 2011 Daniel S. Haischt
  • 20. Exemplary Mockup of my Own T – Industry Knowledge ■ Did plenty of projects in the banking, insurance, automotive, construction, information technology and media publishing industry20 © 2011 Daniel S. Haischt
  • 21. Feedback I got from others so far & what I learned about it ■ Most think its not common to think about yourself and your professional career that way – To me it was a creative process writing all this down – I think its a strength to be able to collect data this way and try to assert information from it – I think the Why and How I did this says something about my Self-acquaintance and the level of personal agility ■ Some asked whether the reason why I did this might be cause I want to get appreciation for my accomplishments? – I learned doing this increased my personal level of self-appreciation ■ Some told me that what I synthesized so far isnt a T-Shape by any means – Well accuracy wasnt the intent behind doing this. The intent was rather to learn something about myself – I probably think that my SW Engineering skills are much stronger and that I only put it that way cause I didnt want to cripple the T-Shape ■ Many were not aware of the diverse projects I already did – Guess if I want to change that, I should start talking about my past projects and my many hobbyist projects ■ Some would not have seen me as a IT technology junkie – Most stating this were outside my area of influence – Maybe I should finally get myself an iPhone, an iPad or another stylish Gizmo to21 change that :) © 2011 Daniel S. Haischt
  • 22. T-Shaped Professional – Whats my T?What is my T based on the provided information? Feedback Welcome! ?22 © 2011 Daniel S. Haischt