Position Summary: We are looking for a senior software engineer to help define and build the next generation of our external web presence. Our primary technology stack is Java/Tomcat using the Liferay DXP framework. We are in the process of rolling several externally facing web properties into a more unified presence that will allow our organization to better serve the government and ecommunity.
This position participates in the full lifecycle of application development. Key responsibilities include collaborating with stakeholders to understand business processes, designing and implementing systems that meet those requirements, mentoring other team members, and shepherding the system throughout its lifecycle with other IT groups.
Minimum Qualifications and Requirements:
Education/Training: Bachelor's degree in information systems or computer science, or equivalent combination of training and experience.
- Five years of Java development experience
- Three years of experience with web application development, preferably with Java frameworks such as Spring, Struts, Hibernate, etc.
- Three years of experience coding applications that include an SQL-based database component
- Three years of experience writing test cases, test scripts, and performing unit, functional, and integration testing
- Experience with a modern source code control system (Git, SVN, Mercurial) and familiarity with modern code management concepts such as branching and merging.
- One year of experience with a modern query and/or data interchange formats such as JSON, NoSQL-based technologies, and XML.
Skills/Abilities: Ability to work effectively on a small but dynamic team, prioritizing work on multiple simultaneous efforts with limited daily tasking from a supervisor. Must be able to clearly communicate information to technical and non-technical stakeholders. Must be a self-starter to research and learn new concepts and technologies to solve challenges.
Physical Mobility: Sedentary in an office setting with some mobility. Daily foot travel between buildings in and around the CMU campus. Infrequent business travel required, usually to the SEI offices in Arlington, VA (approx. 2 times/year).
Environmental Conditions: Ability to use a computer keyboard and computer display for extended periods of time
Mental: Pay close attention to detail, meet inflexible deadlines, balance multiple tasks, remain calm during difficult situations, work under pressure, and work with frequent interruptions. Highly disciplined in terms of time-management and genuine positive attitude with a passion for the work and ability to project same to influence others.
Deal collaboratively, diplomatically, and successfully with partners, co-workers, and other professional colleagues, managers, and staff; develop and communicate innovative ideas; quickly learn new procedures, techniques, and approaches. Strong information organization skills as well as good oral and written communication skills are required.
Other: Candidates will be subject to a background check and must be eligible to obtain and maintain a Department of Defense security clearance.
Preferred Qualifications and Requirements:
Education/Training: Master’s degree or equivalent in area of expertise
- Three years of development using the Liferay Platform
- Experience developing applications for Liferay DXP
- Three years of experience with collaboration/tracking tools like JIRA, Confluence, and Stash
- Three years of experience researching, identifying, evaluating, and recommending technical solutions to solve business problems
- Experience using application building blocks such as Node.js or AngularJS
- Shell scripting in Unix/Linux
- Domain knowledge of enterprise content management and portal-based systems
- System administration in Unix/Linux
- Experience with infrastructure provisioning tools such as Puppet
- Experience with Microsoft SQL databases
- Experience providing effective technical leadership on impactful projects involving customers / sponsor stakeholders
Accountability: Employee is accountable for describing, developing, implementing and/or maintaining, and providing support for enterprise applications and technology solutions supported by the Web Services development team. Employee is accountable for working collaboratively and strengthening relationships with internal customers to develop and implement technical solutions that solve critical enterprise and communication challenges.
Direction: Employee will be expected to work under minimum supervision within the defined scope of authority and in accordance with departmental and university procedures and policies. Difficult or unique situations are referred to the supervisor.
Decisions: Under management direction, the employee will decide the appropriate configuration for production applications and services supported by the Web Services Application Development team. Employee will communicate with team members and other IT groups on how best to allocate and/or acquire resources necessary to implement and evolve external-facing applications. Employee will determine the cause of problems in applications supported by the Web Services Application Development team and take corrective action in a timely fashion when a system/service fails or becomes unavailable. Employee will describe the appropriate procedures to configure and maintain applications supported by the Web Services Application Development team.
Supervisory Responsibilities: Employee may, at the manager or team leader’s discretion, task/supervise other employees in completion of specific tasks. Employee may be required to coach and mentor junior developers and/or direct activities of temporary / staff or contractors.
Job Functions or Responsibilities:
50% Application Development - Design, develop, test, and implement technical solutions that support the enterprise architecture and knowledge management platform. Collaborate with business teams, architects, and developers to understand high-level requirements and convert them into low-level specifications and system design plans. Design and develop applications in adherence with standards for code, design, performance, quality, security, and corporate policies. Define, conduct, and participate in testing including development walkthroughs. Assist in developing recommendations for future development, releases, and enhancements.
20% Maintenance and Support – Troubleshoot and resolve problems with vendor products or in-house development applications. Adhere to change management practices and communicate changes and impact to those affected. Share knowledge and information with others and perform customer outreach to increase user adoption and collect feedback. Respond to outages and develop relationships with customers to accelerate user adoption and collect feedback.
30% Technical Leadership – Take accountability for your own commitments, team deliverables, and overall team success. Recognize and escalate quality, deadline, or deliverables issues/ Provide technical leadership in the adoption and development of software engineering procedures, standards, and methods. Partner with internal teams to improve internal business processes. Participate in knowledge sharing activities with peers to increase knowledge of software development practices.
100% TOTAL EFFORT
Organizational Chart: SEI < Chief Information Officer < Web Services Lead < Senior Software Engineer
Carnegie Mellon University is an EEO/Affirmative Action Employer – M/F/Disability/Veteran