Mark Horton



Mark Horton



mark@

+1 (678) 999-4639

Professional Experience

IBM

Global Technology Services Division

April 2011 – Present

Atlanta, Georgia, USA • Goiania, Goias, Brazil

Senior Software Engineer

Key accomplishments:

Designed a new web based architecture for IBM's worldwide Security Operations Center (SOC). The SOC monitors and manages tens of thousands of security devices, such as firewalls, for IBM's external customers in over 100 countries.

This architecture utilized the Spring Framework, Hibernate, JPA, MySQL, and Tomcat on the backend, while ExtJS was used on the frontend. JSON based REST controllers were used to handle the browser/server interaction.

The main Spring Framework components utilized: MVC, Security, JPA, JDBC Templates, and Scheduling.

Created numerous web applications to help the SOC streamline their tasks. These applications saved thousands of man hours annually compared to previous procedures.

Designed and implemented a concurrent device communication API used in several internal projects. This API dramatically improved the speed and accuracy at which security devices could be queried, updated, and audited.

Created an experimental distributed data analysis system. This system uses lock-free queues for each cpu core. Each queue has a single producer and single consumer which eliminates contention. This allows a high level of parallel processing across the cluster. Inter-node communication is handled via non-blocking IO channels so that a large number of nodes can communicate efficiently.

Improved the team's software development process by introducing Agile methodologies. Tools such as Jira, Confluence, and Git were also introduced.

Under contract with Intalio

February 2008 – April 2011

Palo Alto, California, USA • Goiania, Goias, Brazil

Senior Software Engineer

Key accomplishments:

Developed a non-blocking socket communication service for Intalio Cloud. This service was designed to handle a high volume of messages while also providing fast response times. It used non-blocking socket IO channels to efficiently handle over 10,000 simultaneous connections.

This service operated in either encrypted SSL or plain text mode, both of which were implemented using Java NIO.

Integrated Tibco's General Interface into Intalio's Designer application. This involved updating the General Interface JavaScript source code and creating our own set of Ajax enabled drag and drop widgets.

Implemented automated provisioning tools to help integrate Intalio Cloud with Amazon Web Services.

Created several WSDL based components for Intalio's BPMN product.

Implemented a private key password encryption module using the Java Cryptography APIs.

Lancope

May 2007 – December 2007

Atlanta, Georgia, USA

Senior Software Engineer

Key accomplishments:

Developed Swing based components for Lancope's security analysis product. My primary task was to create a chart panel using the Java 2D API.

This chart panel displayed a real-time graph of data flowing from the server. The user could interact with the charts by making notations and marking important points. This helped the user correlate critical security events.

Nostromo

April 2006 – May 2007

Goiania, Goias, Brazil

Senior Software Engineer

Key accomplishments:

Created a Swing based trading application for use with Dukascopy's JForex API.

Implemented proprietary trading algorithms for automated currency trading.

Under contract with Sprint/Nextel

March 2003 – April 2006

Atlanta, Georgia, USA

Senior Software Engineer

Key accomplishments:

Implemented a high performance multithreaded middleware server in Java. This server was used to provision telco devices for Sprint’s 20+ million wireless customers. It accepted data via TCP/IP socket connection, XML-RPC, JSP, and SOAP interfaces.

Created telco device software emulators used for development and testing.

Provided feedback and review of technical specifications and APIs.

Created internal documentation for end users of the IT provisioning software.

Under contract with GuardedNet

September 2002 – March 2003

Atlanta, Georgia, USA

Software Engineer

Key accomplishments:

Created a multithreaded client-server security event collection module in Java.

Implemented SSL communication modules in C++ and Java.

Created a set of JNI wrappers to execute PERL from within Java.

CBeyond

October 2001 – September 2002

Atlanta, Georgia, USA

Software Engineer

Key accomplishments:

Designed and implemented a voice over IP call detail analysis system in Java using an Oracle RDBMS. This multithreaded system processed data concurrently which allowed it to scale well across cpu cores.

The analysis was very important to capacity planning and telco trunk group analysis. It allowed us to see, for example, peak usage at any given moment. It generated important summary statistics such as how many calls were placed between any two cities.

This system also generated Tivoli Netcool alarms, in near real-time, when errors or failures occurred during a call.

Created web based tools used for telco trunk group analysis and reporting.

MindSpring/Earthlink

October 1996 – October 2001

Atlanta, Georgia, USA

Software Developer

Key accomplishments:

Designed and implemented a multithreaded data processing and analysis system using Java and MySQL. This system computed statistics from a large amount of data utilizing a multi-core Linux server. These calculations analyzed customer usage patterns and were critical to providing improved services to our customers.

This system replaced proprietary software saving the company over $500,000 per year in licensing costs, while also providing faster query response times.

Designed and implemented Earthlink's external customer account management and new customer sign-up web pages. The sign-up pages accounted for 25% of all new customers brought into the company.

Created a very successful internal web based ticketing system using PHP and MySQL.

Key Skills

High performance concurrent and parallel programming

Asynchronous and non-blocking IO programming

Object oriented design and implementation

Agile software development methodologies

Web application development

Application performance tuning

Virtualization and cloud computing

TCP/IP network programming

Client-server programming

Network security and cryptographic related programming

Key Technologies

Spring Framework

Tomcat, Jetty, JBoss

JQuery, AngularJS, ExtJS

IntelliJ, Eclipse

Git, Svn, CVS

Ant, Maven, Gradle

Jenkins, Hudson, JUnit

XML, JSON, HTML, CSS

MySQL, PostgreSQL, Oracle

Hibernate, JPA, JDBC

Cassandra, MongoDB

Amazon Web Services, VMware

RHEL, Ubuntu, Solaris

JDK 8 Streams and Lambdas

NIO Buffers, Channels, Selectors

Swing, AWT

Primary Languages

Java (15 years) • SQL (12 years) • JavaScript (6 years) • Ruby (3 years) • PHP (5 years) • Perl (5 years) • Python (2 years) • C/C++ (2 years) • Unix/Linux shell scripting (10 years)

Education

Loyola University

New Orleans, Louisiana, USA

Bachelor of Arts • Mass Communications

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download