That's me 40 years ago at Xerox sitting at an IBM 360 terminal. Please see new History tab for an extended narrative of my career and how I got there.
Without Computer Science my life would have been vastly different. I probably would have remained a blue-collar worker given that I had a knack for fixing real world machines. There's nothing to be ashamed of being a good wrench-jockey/electrician, but I never would have embarked on the vast mental landscape that eventually led me to a PhD in Computer Science majoring in Systems (OS and networking) and minoring In Artificial Intelligence. That journey was very exciting and the work was extremely rewarding. I achieved three patents while at Xerox that are key components in rapid image processing to this day. Best of all I met and learned from incredibly brilliant co-workers. They nurtured my intellectual development, and without their help I would never have achieved my career success.
Software Development – Generating Code per a Documented Design or Proposed Prototype
Solutions Architecture – Designing and Documenting Multi-Component Systems & Integrations
Software Development Lifecycle and Artifacts – Requirements, Design, & Test
Reference Architecture – Design Patterns & Standards
Technology Innovation – Adapting Current Trends to the IT Landscape
Teamwork – Working with Project Teams & Vendors, Shepherding Contract Developers
Technology Portfolio Management – Rationalization, SOA
Architectural Governance & Road Mapping – Breaking the Silos, Planning the Future
Business Capability Mapping – Aligning IT to Business
Communicating Upward – Presentation Skills
Regulated Systems – Qualification, Validation, 21 CFR Part 11
Languages: C, C++, C#, Java, JavaScript, JQuery, Various Assembler
Operating Systems: MS Windows, Linux, Solaris(Unix)
Web Servers: Tomcat, IIS, Apache, Websphere
Virtual Machines: JRE, .NET, VMWare, Cloud(EC2)
Web Application Frameworks: Java JSP & Servlets, ASP.NET, ASP.NET MVC, Websphere
Web Services: SOAP/HTTP, REST, XML/HTTP
Databases: MS SQL Server, Oracle, MySQL
Network Protocols: 802.11, HDLC, UDP, TCP/IP, Sockets, Sensor Net Protocols
Security Protocols: AD/LDAP, Kerberos, HTTP Basic, PKI, Siteminder, SAML
Software Development Methodologies: RUP, Agile, Waterfall
Documentation: UML, ER Diagrams, Design Specs, Academic Publications
Device Drivers: Linux, Windows, Solaris
High Availability & DR: Clustering, Load Balancing, Replication
Big Data: IBM Content Analytics, Hadoop, HBase, GemFire
ETL & Data Virtualization: Informatica
Software Configuration: CVS, Sun Code Manager, SCCS
Development Utilities: SOAP UI, XML Spy, Toad, SQL Server Management Studio
Enterprise Service Bus: Various EAI Frameworks, BizTalk
EA/DB Tools: Sparx Enterprise Architect, Embarcadero ER Studio, MySQL Workbench
I worked for Xerox for 30 years in their heyday, when they invented the personal computer, the mouse, Ethernet, the graphical user interface, the laser printer, bit-map graphics, the MVC design pattern, and lots of other goodies that were ahead of their time. The government in it's infinite wisdom decided that Xerox was a monopoly and should sell off it's patents to it's competitors, which were primarily Asian companies; thus triggering the demise of a great American Engineering company. Today, sadly, Xerox is primarily a back-office outsourcing company, devoid of engineering. I began my software career with Xerox fixing bugs in assembler code and then graduated to developing applications for laser printers in assembler. I graduated to writing networking stacks, device drivers, and image processing code in C and C++. I led an OS Validation Task force from the technical side to select an operating system to replace the venerable Digital PDP-11 Kernel (with Solaris). I worked with PARC (Palo Alto Research Center) to create a working Solaris POC that became the replacement platform for all high-end printer line control software.I migrated numerous image processing algorithms (Scaling, JPEG, CST, GZIP) to firmware for acceleration. I achieved three patents related to image processing and concurrency in the Kernel. I finished up my career as a technical lead and solutions architect mentoring new hires.
After I retired from Xerox I was Recruited as a Solutions Architect embedded in large projects; responsible for technology/vendor selection, key design decisions, project design artifacts, and shepherding of tech leads and developers. Promoted to Principal Enterprise Architect with added responsibility for reference architecture, application portfolio management, road-mapping, and architectural governance. During my tenure at Amgen I wrote over 30 design specs and oversaw hundreds of millions of dollars in projects as the project architect. Sample projects were: Transition from ARIS-G to Oracle Argus Safety, which included twenty new interfaces and a new HA/DR design; Maximo Upgrade which involved adding 22 new interfaces to automate the transfer of transactional data via real-time messaging and master data via batch ETL with both in-house and cloud-based systems.
BARD: Bayesian-Assisted Resource Discovery In Sensor Networks. INFOCOM, Miami, March 2005.
RMST: Reliable Data Transport in Sensor Networks. IEEE International, Alaska, May 2003.
RBP: Robust Broadcast Propagation in Wireless Networks. ACM SenSys, Boulder, November 2006.
Privacy Sensitive Monitoring With a Mix of IR Sensors and Cameras. , ACM SenSys, Boston 2004.