The Temple Portfolio of The Church of Jesus Christ of Latter-Day Saints is seeking a skilled and motivated professional to work as a software engineer developing web applications for temples and priesthood leaders worldwide.
Our engineering teams work in an agile development environment with multi-disciplined teams to develop and deliver web applications which are used in temples throughout the world. These applications assist patrons, priesthood leaders, temple workers, and temple presidencies to conduct and participate in sacred temple ordinances. We need a software engineer who is excited and passionate about leveraging innovative technologies and contributing their talents to the work of the Church in temples. This will be a unique opportunity to develop and maintain high quality multi-language web applications in temples and to apply your technical skills to a work which aligns to core gospel beliefs.
This is an expert, professional-level position that requires vast knowledge of industry practices, organizational policies and good judgment in selecting methods and techniques for designing, defining, developing, testing, purchasing, implementing, and analyzing of technical products and systems of diverse scope. This position recommends system purchases for high value projects. This position is expected to participate fully as a leader of each engineering team and will lead in such areas as project planning activities, work break-down of tasks, and engineering peer reviews. This position is responsible for technical leadership in architecture, design, implementation, and on-going engineering support of the organization’s technology applications.
This individual works with divine guidance to provide or support technology that furthers the mission of the Church and reflects the eternal impact of the gospel.
- Develop source code and unit tests according to the technical designs
- As a member of a software engineering team, participating in team meetings, team planning sessions, setting team goals, and all other team activities
- Lead one or more teams in the design and development of assigned software development tasks
- Work with the technical lead in the establishment of architectures, standards, and best-practices
- Estimate the time to develop and deliver features as defined by product management
- Participate in peer reviews of project software design and coding
- Self-directed or classroom instructed in the areas of Church software development processes, industry best practices, and new technologies being adopted for the organization
- Provide formal training, mentoring, or pair programming with other less experienced engineers
Bachelor’s degree in computer science or related field Master’s degree preferred.
- Work experience:
- 8+ years of industry recognized, progressive and relevant professional experience
- 3+ years of specialized experience in the technologies and methodologies of the product platform processes
- Prior experience in a software developer leadership role, leading a team (4+) through the first and subsequent releases of several (3+) successful products, and at least one of which must be a large-scale enterprise application
Desired Tools & Technologies
- Object-oriented development
- Java EE application development
- IDEs (IntelliJ, Eclipse, etc.)
- Relational database - Oracle a plus
- Front-end frameworks (such as AngularJS) a plus
Demonstrated Skills & Abilities
- Experience with complex, large-scale systems is preferred; strong experience in the tools, methodologies, and technologies the role supports is a plus
- Excellent Communication skills including: must be able to create, communicate, and direct work toward accomplishing an overall technical vision
- Ability to direct the work in defining logic and algorithms to create programming solutions and designing modules and implementing them within the overall architecture
- Must have significant engineering experience (multiple major releases) in the primary areas of an n-tier enterprise system, e.g. interface, domain logic and database layers
- Must have expert-level skills in engineering/programming, analytical/diagnostic/troubleshooting, web technology, and programming methodology.
- Must be able to architect entire systems and subsystems
- Must be able to provide the highest level of skill, quality, and timeliness of work while keeping abreast of changes in the related fields of technology and software development
- Sufficient knowledge of applicable software, computer languages, and code to perform the responsibilities of the role
- Must be able to interact effectively with customers and present solutions
- This job operates in a professional office environment
- To successfully perform the essential functions of the job there may be physical requirements which need to be met such as sitting for long periods of time and using computer monitors/equipment