

Principal Software Engineer
Job Description
The right person for this role is passionate about generative AI, automation, large language models, and building optimized systems for scalability, performance, reusability, and reliability. The right candidate will be well versed in designing, building, and supporting API’s, machine learning services and frameworks, LLMs, langchain, as well as foundational database technologies.
Responsibilities
Develops technical strategy and foundational engineering platforms in the cutting-edge generative AI and large language model (LLM) space.
Identify game-changing business opportunities through data analysis, AI/ML, and strategic use case prioritization. Deep industry knowledge and awareness of the technical landscape is critical.
Define core foundations that will play a pivotal role in shaping the future of AI at NBCU (in partnership with the engineering team and senior leadership)
You'll leverage your expertise to design and develop secure systems and approaches across the team so that others may learn from and improve on them.
Leads and ideates new engineering efforts, provides guidance and vision, and helps build a team of outstanding software engineers and technical leaders.
Mentors and actively drives the technical skills of the immediate or extended team with consideration of their career stage and personal trajectory.
Requires planning and organizational skills, problem-solving, communication, presentation, analytical, leadership, negotiation, relationship building, accuracy and detail orientation skills.
Experience in software security, cyber security, and/or privacy by design
Significant knowledge and experience working with serverless and event-driven architecture design patterns
Track record of inspiring others & positive change in solution design, technical delivery, and process improvement
Passion for learning new technologies, patterns, and practices.
Excellent verbal and written communication and collaboration skills to effectively connect with both business and technical teams
Job Requirements
10+ years of experience in backend or fullstack software engineering, and has a passion for engineering cultural transformation and embodying a mindset of continuous learning.
Experience in developing AI, and ML solutions, with a focus on Generative AI and LLMs.
Programming proficiency in Python, with a deep understanding of machine learning algorithms, deep learning, and generative models
Experience in building scalable applications powered by LLMs, utilizing cutting-edge frameworks like LangChain and LlamaIndex
Understanding off-the-shelf LLM services (like Azure OpenAI) to seamlessly incorporate LLM capabilities in future architectures
Ability to leverage cloud computing expertise to design robust architectures.
Ability to think critically about problems, decipher user preferences versus requirements, and effectively use online and onsite resources to find appropriate solutions.
Understanding of backend technologies and RESTful services, with experience in integrating, developing and consuming APIs.
Experience in helping build out of an engineering culture that is rooted in cloud-native architectures, “actions over words”, edge APIs, web services, serverless event-driven architectures, familiarity with relevant design principles and patterns.
Sharp eye for quality team contribution; ability to assess team members work product at scale.
Expert in full SDLC and secure coding practices and frameworks.
Experience with building “cloud native” engineering that’s rooted in “security and privacy by design”, and an understanding in developing/architecting workflows with significant exposure to Open-Source solutions
A strong knowledge in modern software technologies, including, but not limited to Python, Go, HTML, CSS, JavaScript.
Expertise working on a team with motivated cross-functional individuals focused on a common goal of delivering innovative solutions to meet aggressive business demands in an ever-changing environment to achieve on-time and on budget completion of projects.
Ability to visualize architecture of a proposed system or service, draw it out, socialize it, and build it.