USC Careers – Senior Software Engineer

University of Southern California

The University of Southern California (USC ), founded in 1880, is located in the heart of downtown L.A. and is the largest private employer in the City of Los Angeles. As an employee of USC, you will be a part of a world-class research university and a member of the “Trojan Family,” which is comprised of the faculty, students and staff that make the university a great place to work.

We are currently seeking a Senior Software Engineer to join the Digital Repository department within the USC Libraries. The position will be responsible for designing, developing and maintaining software solutions and frameworks, and supports the determination of operational feasibility (e.g., evaluating analyses, defining problems, developing solutions). The Senior Software Engineer will implement digital preservation software solutions, prioritize information needs and collaborate with a broad range of customers, partners, and key stakeholders. This involves managing multiple projects at a time and directly supervising all assigned subordinate staff.



Qualifications:


  • Must have a Bachelor’s degree in Computer Programming, Computer Science, or a related field
  • Must possess a minimum of 5 years of experience with programming and documentation procedures, methods and operator instructions.
  • Must have experience conducting unit/performance tests, systems integration and user acceptance, including familiarity with UI/UX CSS implementation
  • Must have demonstrated experience with one or more relevant programming languages and applications ( NET, C#, Asp.Net, MVC, Web services, Entity Framework, Windows Forms and Windows Services) and front end development frameworks like Angular.
  • Must have in-depth knowledge of Software Development Life Cycle, Systems Analysis and Design concepts and associated tools
  • Must have strong MS SQL development skills
  • Must have Linux/Unix knowledge.
  • Must be familiar with Media Assess Management workflows
  • Must have experience developing and deploying prototypes to scalable pipelines and applying software development lifecycle principles.
  • Must have demonstrated ability to interpret and apply scalability, reliability, and software engineering best practices (e.g., version control, testing, developer and end-user documentation).
  • Must have excellent organization, planning, analytical and problem-solving skills.
  • Must have proven ability to provide technical expertise and creative solutions while aligned to organizational objectives and customer needs.
  • Must have experience weighing economic costs and values objectively, supporting coworkers on a project basis, and contributing to discussions in a civil manner.
  • Must have excellent written and oral communication skills, able to provide both detailed information as well as summaries to varied audiences.
  • Must have substantial knowledge of security concepts, familiarity with secure code development techniques, and understanding of scalable and automated solutions.
  • Must have the ability to build strong, positive working relationships and rapport with diverse groups of team members.



Job Accountabilities:


  • Writes, edits and updates production-ready software application code that’s easily testable and performs upon implementation. Evaluates and applies various algorithms, methodologies, and tools (e.g., .Angular, NET, C#, Asp.Net, MVC, Web services, Entity Framework, Windows Forms and Windows Services) to determine available solutions and associated risks and benefits. Ensures code is maintainable, supportable, and scalable with business growth.
  • Architects services and systems using design patterns allowing for iterative, autonomous development and future scaling. Utilizes abstractions and code isolation, actively working with relevant security stakeholders to search for vulnerabilities. Drives change efforts, fostering a culture of prioritization in alignment with organizational strategy. Anticipates future use cases and makes design decisions that minimize costs for future changes.
  • Utilizes an automation framework to design and implement tests of the efficiency, responsiveness, and regulation compliance of web applications. Uses quality metrics to identify gaps, writing and performing unit tests in accordance with testing pyramid, and employing systematic approaches for debugging all issues within designated scope. Ensures integrity of code by peer review.
  • Manages work activities against the software development lifecycle. Stays current with technology, industry standards and best practices. Facilitates innovation and the creation and initiation of continuous process improvements. Leverages the latest technology and anticipates impact on departmental/university software services.
  • Develops and prioritizes realistic, customer-focused solutions, leveraging insights on customer pain points and needs. Independently handles risk and change, following team/project philosophies, operational data, and engineering strategies in uncertain situations. Builds and maintains effective customer and stakeholder relationships. Handles and routes requests to appropriate parties for tracking and resolution, providing timely follow-ups and feedback.
  • Promotes an environment that fosters inclusive relationships and creates unbiased opportunities for contributions through ideas, words, and actions that uphold principles of the USC Code of Ethics. Builds relationships with fellow engineers, helping resolve each other’s problems when requested, and seeking mentorship or guiding junior staff. Contributes to university compliance and security governance policies by embedding standards, procedures, and quality measures into work plans and workflows.
  • Performs other duties as assigned or requested. The university reserves the right to add or change duties at any time.


The University of Southern California values diversity and is committed to equal opportunity in employment.


The annual base salary range for this position is $134,202.74 -$147,349.44 . When extending an offer of employment, the University of Southern California considers factors such as (but not limited to) the scope and responsibilities of the position, the candidate’s work experience, education/training, key skills, internal peer equity, federal, state and local laws, contractual stipulations, grant funding, as well as external market and organizational considerations.

Minimum Education: Bachelor’s degree Addtional Education Requirements Combined experience/education as substitute for minimum education Minimum Experience: 5 years Minimum Skills: Five years’ experience with programming and documentation procedures, methods and operator instructions. Experience conducting unit/performance tests, systems integration and user acceptance. Demonstrated experience with one or more relevant programming languages, able to gain needed contexts for domains. Experience developing and deploying prototypes to scalable pipelines and applying software development lifecycle principles. Demonstrated ability to interpret and apply scalability, reliability, and software engineering best practices (e.g., version control, testing, developer and end-user documentation). Excellent organization, planning, analytical and problem-solving skills. Proven ability to provide technical expertise and creative solutions while aligned to organizational objectives and customer needs. Experience weighing economic costs and values objectively, supporting coworkers on a project basis, and contributing to discussions in a civil manner. Excellent written and oral communication skills, able to provide both detailed information as well as summaries to varied audiences. Substantial knowledge of security concepts, familiarity with secure code development techniques, and understanding of scalable and automated solutions. Ability to build strong, positive working relationships and rapport with diverse groups of team members. Preferred Education: Bachelor’s degree Or Bachelor’s degree Or Bachelor’s degree Preferred Experience: 8 years Preferred Skills: Eight years’ experience in IT/programming. Proficiency with Python, Javascript, C/C++, Java, Ruby and/or other advanced programming languages. Experience with Unix/Linux programming and/or administration. Experience in higher education.

Job Details:

Company: University of Southern California

Job Type: Full Time

Job Location: Los Angeles, CA

Leave a Comment