James M. Slocum
Objective:
To advance my career in software engineering as a key team member of a software development organization that relies on problem solving skills and experience to achieve objectives.
Education:
Master of Science, Computer Science, 2011
New Jersey Institute of Technology, Newark N.J.
Concentration: Data Mining
Bachelor of Science, Computer Engineering, 2008
New Jersey Institute of Technology, Newark N.J.
Concentration: Processor Design
Computer Skills:
Programming Languages: Rust, C, C++, Java, Bash, Nodejs, Python, Gawk, Dart, Golang
Operating Systems: Linux, FreeBSD, OSX, Windows
Revision Control: Git, Subversion
Database: PostgreSQL, MongoDB, sqlite3, redis
AWS: DynamoDB, Elasticsearch, S3, Lambda, ECS, EC2
Publications:
Slocum, James M. "Dart: A New Web Programming Experience". Linux Journal 1 Mar. 2013: 96-108. Web.
Slocum, James M. "Introducing Dart (video course)". PACKT Publishing 30 Jul. 2015, ISBN-13: 9781784399399. Web.
Slocum, James M. "C++ Standard Template Library in Practice (video course)". PACKT Publishing 17, Oct. 2019, ISBN-13: 9781788834995. Web.
Experience:
Staff Enginner July 2021 - Current
Beyond Identity, New York City, NY
- Technical lead of the AuthN team. Focusing on the design of the authentication and authorization server software. My main focus was on the scalability of our software, as well as the correctness and integration of our proprietary passwordless authentication protocol with well established authorization and security protocol specifications.
- Implemented several public RFC standard protocols including OAuth2, OIDC, PKCE, JWT, and JWK.
- Designed and implemented the version 2 of our proprietary authentication protocol. Working across several teams I was able to get a more concise, policy driven authentication protocol accepted by leadership and implemented.
- Frequently met and collaborated with other tech leads and principal engineers to design and plan for upcoming features, and roadmap our product several quarters into the future.
Sr. Software Development Engineer II September 2015 - July 2021
Audible.com, Newark, N.J.
- Full stack developer on the Player and Library team. I have implemented various features and bug fixes on the backend library services and front end JSP pages.
- Designed a new Library service from the ground up. I defined the new API, lead the architecture design, and prepared and performed the data backfill to support the new infrastructure.
- Designed and implemented the Collections service. A service that backs the most user requested feature of our product, the ability for users to create folders and group books however they want.
- Member of the Library 24 hour on-call rotation. For one week every two months I am the main on-call for any issues with pages or services owned by the PAL Team. My duties include tracking down the source of any errors, informing the proper channels, making emergency fixes if necessary, and patching production level code.
- Former member of the Checkout Experience web team, where I was heavily involved in the transition from our deprecated web platform to a new Spring MVC based platform. During this migration I re-wrote several key pages, including the checkout page, buy box, thank you page, and how to listen page.
- Worked with dozens of proprietary Amazon (AWS) services and technologies.
Sr. Software Engineer April 2011 - September 2015
Telvue Corporation, Mt. Laurel, N.J.
- Design and write streaming video delivery software and realtime MPEG2 and AVC video decoders that are deployed by local and hyperlocal broadcasters.
- Implement software standards such as MPEG2 Transport stream, RTP, SCTE 30, SCTE 35, and HLS.
- Design and program various internal tools for monitoring and testing our products.
- Implement various communication protocols via rs232, and TCP/IP to allow remote control of video routing switches from our flagship product, the HyperCaster.
Adjunct Professor Dec 2009 - May 2014
Mercer County Community College, West Windsor, N.J.
- Taught various computer science and programming courses including
- COS-101 - Introduction to Computer Science
- IST-137 - Introduction to Java Programming
- COS-102 - Computer Science 1: Algorithms and Programming
- IST-238 - Intermediate Java Programming
- IST-239 - Advanced Java Programming
Math Developer II Jun 2008 - April 2011
Gaming Laboratories International, Lakewood, N.J.
- Used Java and C to write statistical modeling programs when the game math was too complex to be solved in a spreadsheet.
- Wrote distributed system software to combine over 130 computers into a single computing cluster, compressing a 5.2 year runtime into 39 days.
- Wrote a custom software package called the RNG Test Suite that allows for more efficient testing of RNG data. Designed a custom virtual memory system, a plug-in API that allowed any user to add new features, and an automatic update system.
- Performed corporate training in Linux, to ensure the proficiency of the engineers in the operating system.