Senior FullStack Engineer

Western Governors UniversitySalt Lake City, UT
12d

About The Position

The Senior FullStack Engineer is responsible for researching, designing, developing, analyzing, testing, and implementing software for operating or application systems. They communicate project information to the client, the project manager, or other design personnel involved in the project. They maintain good working relationships with clients and staff. They write and maintain complete documentation. They support team members and ensure established goals and deadlines are met. They keep management informed of status and significant problems. Acts as an expert in assigned areas of software engineering. Mentors more junior engineers to enhance their effectiveness in their roles. Maintains accountability for quality of services in their assigned area and the success of assigned projects for on-time, on-budget, and on-scope delivery. Contributes as a lead or consultant for at least one team. May be a ‘go-to’ person in a particular sub-discipline or application area. Contributes formally and informally to the team's effectiveness through both formal and informal mentoring and guidance during team meetings and problem-solving sessions. Communicates effectively and regularly with other disciplines to identify and resolve problems and contribute to organizational success. Leads teams or cross-functional groups in identifying and transferring knowledge through formal and informal means (formal presentations, internal white-papers, etc). Acts as a planning consultant for the team or portfolio when identifying technical risks and dependencies. Identifies potential problems and solutions far in advance, and mentors other engineers in risk management. Speaks authoritatively and accurately with respect to questions related to their area of ownership or the platform as a whole. Contributes directly and leads others in the rapid identification of system problems, thereby minimizing the time to restore services. Assists engineering management in identifying opportunities for improvement within the team, including training, technical feedback, emerging problems, etc. Applies strategies and tools to plan and execute testing strategies to find the ‘sweet spot’ that maximizes quality while minimizing costs. Demonstrates the ‘good enough’ principle that balances quality and time to implement. Interprets functional, non-functional, and implied requirements into designs and code that meet those specifications. Identifies gaps, risks, and deficiencies in such requirements and proposes solutions. Guides more junior engineers on how to plan and execute on requirements delivery. Performs other job-related duties as assigned.

Requirements

  • Understanding of the processes associated with software development, including Planning, Measurement, Coding, Testing, Reuse, Tools, Abstraction, Algorithms, and Complexity, Security, and basic system understanding.
  • Ability to employ the tools and techniques related to an engineering discipline, such as database management, user interface development, inter-process communications, etc.
  • Ability to create designs that can be realized in code that achieve functional and non-functional requirements for an application or at the system level. Appropriately uses design patterns, system decomposition, security, and fault tolerance.
  • A demonstrated capability in one or more design methodologies, such as Object-oriented design, Function-oriented design, data-centered design, and the notations appropriate for each.
  • Ability to understand differences, strengths, and weaknesses of various Software Development Life Cycle models, and practical considerations of options
  • Understands implications of Software as a Service in the creation of software systems. Thinks of and designs for scale, reliability, and cost in a public cloud environment. Uses data and metrics to analyze Key Performance Indicators.
  • Ability to explain the basic value of a system and its subsystems to users and how the various subsystems interoperate to provide features. Able to act as a partner with Operations in solving problems at a system level. Knows what the system can and cannot do.
  • Ability to demonstrate a sense of urgency when looking for solutions to problems
  • Understands the general higher education landscape, particularly with online higher education, including competitive landscape, opportunities, and feature gaps. Ability to identify innovative ideas or technologies that represent opportunities to advance the capabilities of the university education platform, our efficiencies in improving our platform, or both. Can leverage change management processes to drive adoption.
  • Ability to make the team stronger and more cohesive
  • Strong communication skills with the ability to engage others at the right level at the right time. Communicates effectively in group settings by understanding the audience, listening attentively, and responding thoughtfully. Presents solutions, not just problems, and effectively manages expectations.
  • Ability to identify, mitigate, or avoid risks and works closely with leads or managers to make sure that such risks and dependencies are understood, accounted for, and planned for through an appropriate strategy.
  • Bachelor's Degree in Computer Science, Information Technology, or related field
  • 6 years of experience in software development, pioneering new approaches and technologies in engineering
  • 3 years of experience in UI web technologies such as Angular or React
  • Experience in web-based applications and web services using Java, REST, ServiceNow, and other web technologies, including experience interfacing with databases and integrating third-party products with existing infrastructure.
  • Equivalent relevant experience performing the essential functions of this job may substitute for the education degree requirements. Generally, equivalent relevant experience is defined as 1 year of experience for 1 year of education and is the discretion of the hiring manager.

Nice To Haves

  • Master's Degree or PhD in Computer Science, Information Technology, or related field
  • Experience with IntelliJ/VS Code, JIRA, Git
  • Experience with Agile/Scrum Project Development
  • Experience with Java or a similar Object-oriented language
  • Experience with IDM/OSSO, Hibernate/Seam, Banner
  • Experience with Application Integration with legacy systems
  • Experience with Cloud-Native Development, and/or Porting/Refactoring of On-Site to Cloud (preferably AWS)
  • Experience with J2EE, Java EE, JavaScript, and SQL
  • Technical Certifications

Responsibilities

  • Researching, designing, developing, analyzing, testing, and implementing software for operating or application systems.
  • Communicating project information to the client, the project manager, or other design personnel involved in the project.
  • Maintaining good working relationships with clients and staff.
  • Writing and maintaining complete documentation.
  • Supporting team members and ensuring established goals and deadlines are met.
  • Keeping management informed of status and significant problems.
  • Acting as an expert in assigned areas of software engineering.
  • Mentoring more junior engineers to enhance their effectiveness in their roles.
  • Maintaining accountability for quality of services in their assigned area and the success of assigned projects for on-time, on-budget, and on-scope delivery.
  • Contributing as a lead or consultant for at least one team.
  • Contributing formally and informally to the team's effectiveness through both formal and informal mentoring and guidance during team meetings and problem-solving sessions.
  • Communicating effectively and regularly with other disciplines to identify and resolve problems and contribute to organizational success.
  • Leading teams or cross-functional groups in identifying and transferring knowledge through formal and informal means (formal presentations, internal white-papers, etc).
  • Acting as a planning consultant for the team or portfolio when identifying technical risks and dependencies.
  • Identifying potential problems and solutions far in advance, and mentors other engineers in risk management.
  • Speaking authoritatively and accurately with respect to questions related to their area of ownership or the platform as a whole.
  • Contributing directly and leads others in the rapid identification of system problems, thereby minimizing the time to restore services.
  • Assisting engineering management in identifying opportunities for improvement within the team, including training, technical feedback, emerging problems, etc.
  • Applying strategies and tools to plan and execute testing strategies to find the ‘sweet spot’ that maximizes quality while minimizing costs.
  • Demonstrates the ‘good enough’ principle that balances quality and time to implement.
  • Interpreting functional, non-functional, and implied requirements into designs and code that meet those specifications.
  • Identifying gaps, risks, and deficiencies in such requirements and proposes solutions.
  • Guiding more junior engineers on how to plan and execute on requirements delivery.
  • Performing other job-related duties as assigned.

Benefits

  • medical, dental, vision, telehealth and mental healthcare
  • health savings account and flexible spending account
  • basic and voluntary life insurance
  • disability coverage
  • accident, critical illness and hospital indemnity supplemental coverages
  • legal and identity theft coverage
  • retirement savings plan
  • wellbeing program
  • discounted WGU tuition
  • flexible paid time off for rest and relaxation with no need for accrual, flexible paid sick time with no need for accrual, 11 paid holidays, and other paid leaves, including up to 12 weeks of parental leave
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service