Division and Unit Overview
The American Chemical Society is the world’s largest scientific membership association and one of the top ten scientific publishers in the world. Information Technology is responsible for providing services to programs that reach over 150,000 members. ACS publishes over 50 scientific journals, several Book Series and a weekly news magazine, and has an extensive IT network covering ACS’s global offices.
The IT Publications Support Group is responsible for the creation, maintenance and support of enterprise level information technology systems that produce publication-ready articles for the ACS Journals and weekly newsmagazine. The Software Engineering Group is responsible for the design, construction and maintenance of applications that assist the entire publication process, from author submission through peer review, editor acceptance, technical editing, graphics editing, page composition, delivery on web sites for Internet access.
Position Summary
The incumbent in this position must be able to analyze, develop, integrate, run, and support various applications across multiple technologies and architectures involving various technologies including Resin, JBoss, Oracle, MSSQL, Windows, and Linux Operating Systems. Familiarity with systems involving web delivery of content from a variety source files including XML, HTML, and HTML5, single sign on authentication systems including IP addresses, and other related applications would be an asset.
Position Accountabilities
- Work with technical services’ professionals that include Operating System (O/S), Network Administration, Storage Management, and Database teams to help define and determine specifications for required computing resources; deploying new releases of complex applications, to ensure high availability of applications.
- Work with business users and technical designers to assist in efficient application designs that meet business unit requirements involving integrations of various ACS technical systems and platforms.
- Work with management, project managers and other lead developers to design and develop software.
- Lead and participate in troubleshooting and fixing major system problems in core applications.
- Understand relationships between applications within the Software Engineering Department portfolio.
- Provide strong leadership and mentoring for less senior personnel in the areas of design, implementation, and professional development.
- Where required, effectively delegate tasks to development teams of Software Engineering, providing guidance and proper knowledge transfer to ensure that the work is completed successfully.
Required Experience
- Bachelor's degree or equivalent experience.
- 5+ years with proven results in design and implementation is required. Strong understanding of design patterns and J2EE design patterns and UNIX knowledge with a focus on tiered, large-scale systems.
- Experience with Python – develop, debug and deploy Python code, and familiar with common Python libraries.
- Experience with frameworks - Spring, Log4J, JUnit and Jakarta Common libraries and their respective practices.
- Experience with RESTful web services.
- Understand application architecture, system design and proven UML tools. Strong understanding of OO Design concepts and principles.
- Experience in JBoss, Apache and other Web server and Application server technologies.
- Working knowledge of XML in a Java and Python programming environment.
- Demonstrated ability to work closely with customers to complete projects that include understanding and articulation of Business Requirements, Functional Design, and complex coding complex modules.
- Experience with Software Development Life Cycle (SDLC) methodologies.
- Excellent written and oral communication skill.
- Experience of some or all the following technologies and tools preferred:
- Understanding of typical machine learning algorithms
- Familiar with web service API frameworks like Swagger
- Strong understandings of Oracle and MSSQL database tuning and performance issues with applications.
- Strong knowledge about access control systems including SSO, Application Security Best Practices, IP-based authentication, protocols such as OAuth and OpenID Connect.
EEO/Minority/Female/Disabled/Veteran