Roseland, NJ

MinistryPlatform Principal Software Engineer, Backend (Remote)



Job Description


Skip to end of metadata

Go to start of metadata


Title:

Ministry Platform Principal Software Engineer, Back End

Department(s):

Ministry Platform

Typically reports to:

Manager/Sr. Manager/Director, Ministry Platform

Job Summary

The Software Engineer, Principal - Back End (SEPBE) specializes in producing, maintaining, and improving quality and performance of code, while serving as an SME and mentoring and guiding the team. The SEPBE serves as a technical subject matter expert for the team, solving high level, complex back-end issues related to architecture, security/authentication, and performance with the ability to assess relational impact of the team’s output to other teams.. The SEPBE also possesses the ability to influence team direction and outcomes without direct supervisory authority. The SEPBE must be able to work with a team to create robust, maintainable, and scalable software architectures that meet or exceed business requirements. The position works closely with the Principal Architect and R&D Manager to ensure the stability and future of our products.

Summary of Essential Job Functions
  • Authors new applications and application features.
  • Works through assigned issues in Jira and communicates questions/blockers/suggestions in a timely and clear manner to other members of the team.
  • Identifies bottlenecks and bugs, and devise solutions to mitigate and address these issues
  • Designs, develops, modifies, implements, and supports software components anywhere in the product suite.
  • Determines root cause for the most complex software issues and develops practical, efficient, and permanent technical solutions.
  • Ensures the best possible quality and performance across various server configurations and high data volume.
  • Cooperates and collaborates with front-end developers and quality assurance engineers.
  • Assists in sprint planning and estimation by researching and advising on technical approach to new features.
  • Provides appropriate internal technical documentation for new features and fixes as part of completing the issue to equip and support QA.
  • Helps maintain code quality, organization, and patterns by establishing best practices and patterns for models, classes, etc.
  • Follows and enforces best practices through peer code review patterns, practices and conventions established in existing code.
  • Remains current on new technologies and available vendor packages; evaluates and makes recommendations as necessary.
  • Determines process improvements, best practices, and develops new processes.
  • Mentors less experienced developers to allow for skill/knowledge development through advice, coaching, and training opportunities.
  • Attends and actively participates in sprint stand-up meetings.
  • Attends and actively participates in code review meetings.
  • Leads ACST Tech forums to help educate.
  • Maintains professional and technical knowledge by attending educational workshops; reviewing professional publications; establishing personal networks; benchmarking state-of-the-art practices; participating in professional societies.
  • Sets/Drives/Recommends strategies, policies, and procedures by evaluating organization outcomes; identifying problems; evaluating trends; anticipating requirements.
  • Performs other duties not otherwise listed as required by the company.


Qualifications

  • Bachelor's degree in Computer Science or related with 8-10+ years of experience in software development, or an equivalent combination of education and experience
  • Strong communication skills, ability to present multiple approaches for solving problems, willingness to pair program and tutor junior programmers.
  • Demonstrated ability to lead through influence..
  • Advanced knowledge of SQL Server queries, stored procedures, indexes and tuning.
  • Advanced development skills using .NET, C#, ASP.NET (Core).
  • Advanced knowledge of OAuth/OpenID Connect flows for authentication/authorization.
  • Advanced knowledge of HTTP protocol including headers, verbs, content types, media types, bearer tokens, etc.
  • Experience with front-end programming languages including JavaScript.
  • Knowledge of system frameworks including .NET and source control (GIT).
  • Broad experience designing, programming, implementing, and maintaining databases.
  • Experience with Webpack, Babel, and WebAPI.
  • Proficiency using ASP.NET MVC and ASP.NET Core 2.2+ using C#.
  • Proficiency of .NET MVC and SaaS application structures and methodologies.
  • Experience working with Agile development technologies.
  • Experience with source control branching strategies and best practices.
  • Experience with agile/scrum management tools such as Jira.
  • Good interpersonal skills.
  • Ability to provide in-depth evaluation and analysis of unique complex technological issues.
  • Ability to establish and enforce technical standards across all applications in the product suite.
  • Excellent analytical and problem-solving skills.
  • Excellent organization and time management skills.
  • Excellent, professional, and precise written and verbal communication skills.
  • Ability to exercise discretion and independent judgment in the performance of duties including asking for help/direction when needed.
Abilities Required

In the given role, the employee is expected to be physically able to perform the following activities for these periods of time:

PROLONGED

OCCASIONALLY

RARELY

NEVER

Type

Walk

Sit

Reach with hands

Talk/communicate

Stoop

Use close vision

Handle

Reach with arms


Disclaimer

This job summary is intended to describe the general nature and level of work expected to be performed. It is not an exhaustive list of all responsibilities, duties and skills required.

Recommended Skills

  • .Net Framework
  • Asp.Net Mvc Framework
  • Agile Methodology
  • Analytical
  • Architecture
  • Asp.Net Core
Browse other jobs