Steven S. Morgan, Developer in Heathrow, FL, United States

Steven S. Morgan

Multithreading Developer

Location
Heathrow, FL, United States
Toptal Member Since
July 9, 2013

Steven is an expert Java architect and freelance developer with extensive experience in distributed architectures, scalable solutions, and flexible and maintainable designs. He is a team player with a knack for interacting well with diversity. He leads via his expertise and by the example he sets.

Steven is available for hire
Hire Steven

Experience

Java - 20 yearsMultithreading - 20 yearsJava EE - 18 yearsDesign Patterns - 18 yearsConcurrent Programming - 17 yearsAsynchronous Programming - 16 yearsSpring - 13 yearsREST - 9 years

Location

Heathrow, FL, United States

Availability

Part-time

Preferred Environment

Bugzilla, Jira, Git, Subversion (SVN), Emacs, Eclipse

The most amazing...

...success I've had was in proving and working around the root cause of an intermittent yet critical bug in a high-stress situation.

Work Experience

2006 - PRESENT

President & CEO

Morgan Ventures, Dealings, and Holdings, Inc.
  • Formed Morgan Ventures, Dealings, and Holdings, Inc. in 2006 to allow me to pursue my multiple passions and varied interests as a business professional. Clientele and revenues supported full-time employment for myself beginning in 2014.
  • Engaged in software engineering, Java development, full software development life cycle, and technical documentation. Clientele includes Apple as a subcontractor of Catapult Consulting. Contributed to the iTunes Connect application used by content creators to manage and sell their products and services via iTunes.
  • Did hypnosis and neurolinguistic programming for weight loss, smoking cessation, fear reduction, pain management, emotional conflict resolution, behavior modification, group sessions, seminars, spiritual exploration, education, training, and entertainment.
  • Designed and hosted websites, including static and dynamic web page design, integration with third-party services, dedicated hosting on virtual servers, and domain management.
  • Repaired computers and trained people, installing and configuring hardware and software, cleaning and optimizing existing systems, and backing up/restoring data.
Technologies: Eclipse, Java
2013 - 2014

Senior Enterprise Architect

MGM Resorts International
  • Designed and implemented a REST (Representational State Transfer) interface to our in-house Mlife database. In order to address scalability limitations of the existing implementation, the new design utilized Hypermedia As The Engine Of Application State (HATEOAS) to model Java Persistence API (JPA) relationships. The use of Spring, JUnit, introspection, and naming conventions allowed for an implementation with minimal code, easy extensibility, and integrated validation for future additions and modifications.
Technologies: Java
2011 - 2013

Senior Principal Software Engineer / Software Architect

CA Technologies
  • Developed and maintained the LISA testing platform including the LISA Workstation, the Virtual Service Environment, and the web front-end consoles, all implemented in Java.
  • Developed processes focused with heavy emphasis on Agile Scrum development in two-week sprints. Technology and challenges involved SSL, Apache's HttpClient, Google Web Toolkit (GWT), internationalization (i18n) and localization (l10n), automated testing, concurrent processing, and the very large and complex codebase that comprises the LISA product line.
  • Pursued better real-time collaboration with co-workers, which proved to be very helpful as we had a geographically diverse team.
  • Emphasized better communication and retention via issue tracking.
Technologies: Java
2010 - 2011

Senior Software Engineer

Voxeo
  • Brought together skills and expertise in Java along with recent experience with voice technologies.
  • Designed, developed, and maintained the Tropo product. Tropo allows developers to create their own voice applications in languages they already know including JavaScript, Ruby, Python, PHP, and Groovy. Voxeo hosts Tropo applications as well as allows on-site installations, so a variety of deployment strategies were required to be understood and maintained. At beginning, Tropo was emerging from incubation and job was to help shepherd it to maturation.
  • Implemented the eventing mechanism allowing voice applications to signal interrupts to their code.
Technologies: Ruby, Groovy, PHP, Python, JavaScript, Java
2005 - 2010

Engineer IV/Staff Engineer

Convergys/Intervoice
  • Implemented a pure-Java engine implementing the State Chart XML (SCXML) specification. This was a challenge particularly because the specification was still being developed, therefore predictions about the future course of the specification had to be made. High scalability and availability were important non-functional requirements as were maintainability and schedule. The implementation included integration with the Eclipse IDE, notably including integration with the Eclipse debugger. Integration of the engine with the other pieces of the Voice Portal architecture was also key, particularly the CCXML and VXML implementations.
  • Received strong commendations for my ability to interact and communicate effectively while accomplishing the requirements for the project, although the team members were located in Dallas while I remained in Florida.
Technologies: SCXML, Java
2002 - 2010

Adjunct Instructor

Seminole State College
  • Presented and lectured to aspiring Java programmers at the local community college, drawing on experiences in Toastmasters and in college. Goal in doing so was to improve the understanding and the quality of Java developers.
  • Taught the fundamentals of Java syntax, object-oriented programming concepts, the Java virtual machine, Swing, and applets in the basic Java course.
  • Taught an Advanced Java course as well, delving into network communications, multithreading, synchronization, and multimedia, and the many more complicated issues associated with them.
  • Taught the syntax of the language in a C++ course as well as the theory and application of object-oriented design.
Technologies: C++, Java
2004 - 2005

Software Engineer Consultant

Robert Half Technology/Starwood Vacation Ownership
  • Analyzed an external vendor's J2EE implementations of customer-facing web sites as a consultant to Starwood Vacation Ownership. Analysis required learning and using IBM WebSphere as well as Oracle 8i.
  • Adapted the applications' build processes to use Ant in order to standardize and automate the build, deployment, and testing processes as well as to eliminate the dependency on the costly IBM Websphere AppServer System Developer (WSAD) product.
  • Extended an existing application with a customized email client and server to support customer support and marketing efforts.
  • Helped to introduce software engineering processes and concepts including Extreme Programming (XP) concepts, unit tests, automation, object-oriented development, and intimate understandings of non-functional requirements and the way they dictate design decisions.
Technologies: Java
2001 - 2004

Technical Specialist

AAA
  • Deployed a Java 2 Enterprise Edition (J2EE) and Oracle-based solution to the Tourbook data repository data-entry application. Hundreds of Java Server Pages, servlets, and Enterprise Java Beans, both session and entity, coordinated in this solution with Oracle Application Server 10g as the target environment.
  • Implemented source code control, issue tracking, and build management using CVS, Bugzilla, and Ant. JUnit and extreme programming methodologies produced a unit testing framework that Ant could also drive as an autonomous regression test.
  • Implemented Java extensions to the Epic editor, stylesheet extensions, and a smaller web application consisting of JSPs and servlets deployed to Oracle Containers for J2EE. Swing, JDBC, JAXP, and the DOM model were prominently featured. I also conducted training and orientation sessions for our in-house Bugzilla implementation.
Technologies: XSLT, XML, Java
1998 - 2001

Team Lead / Staff Engineer

Objectspace
  • Led technical and managerial oversight of the critically acclaimed Voyager ORB. Many powerful and novel technologies underlay Voyager including distributed programming, dynamic code generation, multi-protocol remote proxies, mobile agents, and facets. Many of these technologies led to patent applications, which I was asked to help file. Along with proprietary methods, Voyager could simultaneously interact with CORBA and RMI, even using security and transaction services. The Voyager ORB also underpinned the implementation of the Voyager Application Server, one of the first to support the entity beans specifications.
  • Contributed, as a software architect and engineer as well as a troubleshooter, to things that led to several high-profile customer-site visits, including OnStar in Detroit.
  • Insisted, despite external pressures, on utilizing the proper application of object-oriented analysis and design methodologies and sufficient quality controls including unit testing and regression testing.
Technologies: CORBA, Java
1998 - 1998

Senior Software Programmer

OAO Services/InSys Group
  • Spent 6 months working from home on two 3-month contracts for InSys in Paris, France. For each contract, InSys gave me a set of requirements with a reasonable deadline, and I was responsible for the rest. The requirements were based on InSys' pure-Java web browser-based document and workflow management system. The initial project utilized JDK 1.1, the Abstract Windows Toolkit (AWT), complex data structures, and serialization.
  • Upgraded the first project to the 1.2 platform, the Java Foundation Classes (JFC, or Swing), and the Java Naming Directory Interface (JNDI).
Technologies: Java
1996 - 1998

Senior Software Engineer

Harris Corporation
  • Became a key developer on the Harris Network Management product line. In particular, I was the specialist in Simple Network Management Protocol (SNMP) and Telecommunications Network Management standards.
  • Implemented C/C++-to-Java communications via sockets and from that built a Java applet as a front-end to our monitoring system when asked what Java could add. The aesthetic appearance of the applet proved to be more popular than the original C application on which it was modeled. Further interest in Java development led to me becoming the in-house expert on Java and suggesting ways to integrate with our existing products.
Technologies: C++, C, Java

Experience

SCXML Working Group

http://www.w3.org/TR/scxml/
As the developer of Intervoice's SCXML engine, I was asked to sit on the SCXML Working Group when Intervoice joined the Voice Browser Working Group. I participated from 2007 to 2010. I was not given any byline credit since my proposals were not included in any of the drafts, however the SCXML engine I did design for Intervoice was fully compliant with the first three proposed drafts of SCXML. Since Intervoice only used the engine internally, we were not in position to drive the specification.
Image of Anti-Patterns in Telecommuting publication
Publication

Anti-Patterns in Telecommuting

https://www.toptal.com/remote/anti-patterns-in-telecommuting

Skills

Languages

XML/XSLT, XML, Java, SCXML, Java 8, SQL, Groovy, Python, Ruby, XSLT, C, JavaScript, C++, PHP, Perl, JRuby, Jython

Frameworks

Swing, JUnit, JavaBeans, Spring, JavaServer Pages (JSP)

Libraries/APIs

AWT, Java Servlets, JDBC, JNDI, JMS

Tools

Apache Tomcat, Apache Ant, Eclipse IDE, Subversion (SVN), JConsole, Bugzilla, Jira, Emacs, CVS, Apache Maven, GitHub, Git

Paradigms

Distributed Computing, Parallel Computing, Concurrent Programming, Design Patterns, Object-oriented Programming (OOP), Asynchronous Programming, Incremental Development, Unit Testing, Distributed Programming, REST, Agile Software Development, Spiral Development, Waterfall Development, Inversion of Control, Dependency Injection, Continuous Integration (CI), Event-driven Programming, Test Automation, Test-driven Development (TDD), Extreme Programming, Scrum

Platforms

JSE, J2SE, Java EE, Linux, Red Hat Linux, Unix, Eclipse, MacOS, Oracle, Windows, JBoss

Other

WebSockets, Multithreading, Architecture, Mathematics, log4j, Unix Shell Scripting, Web Standards, TCP/IP, TCP, Enterprise Java Beans (EJB), CORBA, Ajax, Regular Expressions, SOAP, UDP, Web Server Development, Web Services, XMPP

Storage

JSON, MySQL

Education

1994 - 1997

Master of Science Degree in Computer Engineering

University of Florida - Gainesville, FL

1989 - 1994

Bachelor of Science Degree in Engineering Science

University of Florida - Gainesville, FL