Kaiser Permanente Principal Software Engineer / Staff Software Engineer (Java Developer / NLP and Coding exper. preferred) in San Diego, California
This is a position in an interdisciplinary agile Medical Informatics group developing novel applications/solutions for a large healthcare organization. A principal software engineer also provides management & leadership to the Medical Informatics functional group w/in SSD, as well as performs as an expert technical resource in all phases of medical informatics systems & development. They are responsible for the development of applications, tools & scripts to facilitate the business activity of informatics physicians, scientists, & other team members, & help implement/deploy solutions to the internal/external clients of the Medical Informatics team. A principal software engineer maximizes technical expertise, project leadership, business savvy, & industry knowledge, combines broad innovative vision w/the proven ability to achieve results, & spans project & discipline boundaries to positively impact the company's success.
Leads across-Dept effort to improve engineering efficiency & quality.
Uses internal or external experts, indirect influence strategies, &/or builds coalitions/behind-the-scenes support.
Leverage is expected at the Dept &/or company level.
Possible examples include: developing lower level engineers in technical or leadership skills; assisting w/the development of demonstrations &/or business cases for innovative products; developing & implementing a new system level product concept or invention; transferring domain expertise in a particular area into multiple development groups w/in the company; analyzing whether to design engineering tools internally or purchase them from an external source.
Works w/incomplete, ambiguous or conflicting requirements.
Drives cross functional solutions to complex issues.
Establishes organizational processes & procedures that mitigate technical obstacles for current & future projects.
Anticipates & prepares for long-term opportunities or problems that are not obvious to others.
Able to work effectively w/out specified assignments or requirements.
Independently identifies innovative & strategic technology areas, & prepares proposals for research &/or development.
Empowers others to make decisions as appropriate.
Invites & considers input from others in the decision-making process but does not hide behind consensus.
Consistently exercises sound judgment in prioritizing tasks to effectively utilize resources.
Makes effective trade off decisions based on business needs.
Designs plans to meet quality, execution, & financial goals.
Brings group conflict into the open & facilitates beneficial resolutions.
Establishes & maintains professional relationships throughout company.
Functions as a technical & professional resource for the Dept that effectively leverages knowledge & experience to contribute to the success of multiple projects.
Serves as a role model for the Dept.
Leads project teams & ensures necessary resources are available (staff, time, funds, information).
Represents team's interests to the organization or external groups.
Develops & shares talent across the organization by aligning people's strengths to business goals.
Builds trusting coaching relationships, e.g. pushes others to excel, provides candid feedback, stands up for employees.
Delegates responsibility to an individual ready to develop in a particular area; makes special assignments available.
Creates open channels of communication across organizational levels, functions, Depts, &/or geographies.
Effectively communicates among cross-functional engineering teams & business groups.
This job description is not all encompassing.
- Minimum twelve (12) years of work experience in software development or related field.
- M.S. in computer science, informatics, physics, mathematics, engineering or in directly related fields.
License, Certification, Registration
A strong understanding of multiple technical areas and significant experience in various project phases related to these areas.
Widely recognized as a technical leader and sought out to make critical decisions and determine feasibility of major project concepts or technology.
Understands virtually all stages in a system within primary discipline(s), and can offer detailed analysis and practical solutions.
Understands department or company level vision and drives its implementation through words and actions.
Widely respected technical ability that is very broad, deep, and applied in a core technology.
Master multiple programming languages.
Able to choose advanced programming techniques properly according to the problems/constraints.
Extensive knowledge of grammar, syntax, compilers, and programming languages.
Expert in designing complex database schema and performing optimization of queries/stored procedures and database administration.
Able to lead the team in applying TDD principles to software development projects, breaking large software development projects to small TDD iterations with limited help, and refactoring legacy code into TDD independently.
Thorough knowledge outside of development and understanding of how production works and how systems are administered.
Knowledge and experience in designing deployment process and leading support staff in deployment and maintenance.
Must be able to work in a Labor/Management Partnership environment.
Five (5) years- experience architecting, designing, and implementing enterprise-scale, high volume, high availability systems.
Five (5) years- experience establishing and documenting standards, guidelines, and best practices.
Five (5) years application/solution architecture experience, translating solution requirements into technical application requirements.
Four (4) years in technical leadership role with direct reports.
Four (4) years JAVA software developer/individual contributor.
Three (3) years information security experience.
Three (3) years- experience working with large corporate or enterprise business systems, capturing and generating system and software models.
Three (3) years- experience working with emerging technologies related to architecture.
One (1) year experience working with machine learning/NLP technologies.
At least 3 previous positions with 3 or more years each including full system/software life-cycle experience.
We are also open tohiringat the level of Staff Software Engineer.
Envisions, designs, and implements new features/functionalities for software solutions in clinical natural language processing, data mining, and decision support.
Leads the efforts of a small to medium sized team.
Provides team with prioritization and direction that is in line with the project's goals.
Develops and mentors team members along their career paths.
B.S./M.S. in Computer Science, Informatics, Physics, Mathematics, Engineering or in directly related fields.
Minimum six (6) years of Java experience.
Recognized as a technical leader on project teams.
Master's degree in Business Administration, Computer Science, CIS, or related field / PhD with eight (8) yearsof experience.
TITLE: Principal Software Engineer / Staff Software Engineer (Java Developer / NLP and Coding exper. preferred)
LOCATION: San Diego, California
External hires must pass a background check/drug screen. Qualified applicants with arrest and/or conviction records will be considered for employment in a manner consistent with Federal, state and local laws, including but not limited to the San Francisco Fair Chance Ordinance. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, protected veteran, or disability status.