at Advantage Solutions in Chicago, Illinois, United States
Job Description
Summary
Principal Software Engineer
A successful Principal Engineer @ Advantage Solutions manifests holistic wisdom of up- and down-stream impacts of technology solutions and trends to guide the development of future products and patterns. With that, a Principal Engineer @ Advantage Solutions is a top-tier engineer – a visionary leader and a hands-on builder – with experience making high-level design choices, framing technical standards, and re-enforcing frameworks, patterns, and principles, including tools, software, and engineering execution standards.
To be effective, a Principal Engineer @ Advantage Solutions develops expertise within their domain (understanding capabilities, strong problem-solving skills, etc.), creates a roadmap for their systems, and communicates that plan to others within the organization. However, more than technical knowledge is required, as a Principal Engineer @ Advantage Solutions must also have the soft skills to manage and positively influence projects and people.
The focus area for this role will be Advantage Commercial, with a hyper-focus on Consumer packaged goods (CPG) Execution, including all actions a brand takes to get to the final step of the buyer’s journey: purchase .
What we offer:
+ Full-Time Benefits (Medical, Dental, Vision, Life)
+ 401(k) with company match
+ Training and Career Development
+ Generous Paid Time-Off
Responsibilities:
+ Primary Responsibilities:
+ Collaborating with various stakeholders to determine application requirements
+ Play a central role in technical, business, and organizational contributions affecting the sub-department/department
+ Creating high-level product specifications and design documents (conceptual and physical diagrams)
+ Exert technical influence over multiple teams, increasing their productivity and effectiveness by sharing your deep knowledge and experience
+ Providing the development team with architectural blueprints to follow
+ Ensure the security of all applications/software systems
+ Meet financial objectivesby forecasting requirements, preparing budgets, schedulingexpenditures, analyzing variances, and initiating corrective actions
+ Actively seek ways to improve business applications/software processes and interactions
+ Enhance our cloud capability by creating and implementing cloud application patterns
+ Work closely with lead architects and engineers to create and maintain architectural templates, build/operational documents, and automation playbooks
+ Define API features, expected security setup, scalability, and monetization.
+ Secondary Responsibilities:
+ Research and properly evaluate sources of information to determine possible limitations in reliability or usability
+ Help other development and engineering teams resolve application-to-platform integration issues for Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) services
+ Maintain domain knowledge by participating in educational opportunities, reading professional publications, and participating in professional organizations
+ Coach and mentor engineering teams to raise collective technical expertise
+ Testing the final product to ensure it is entirely functional and meets requirements
+ Use a proactive approach to common challenges and continually researching best practices in coding
Qualifications:
+ Outstanding collaboration and communication skills are essential
+ 10+ years of hands-on experience in architecting and designing solutions using at least three disciplines: cloud architecture, software development, data platform integration, business processes and capabilities, focusing on scalability, security, performance, and cost to serve
+ 10+ years of experience in applying architecture patterns that cover application, data, events, and API-led design concepts enabling transaction flow for scenarios such as application to application, business to business (B2B), direct to consumer (B2C), digital integration, devices, and things
+ 10+ yrs. Experience working on large-scale application projects
+ 10+ yrs. Exposure to cloud-managed services, serverless technology, and microservices like Function-as-a-Service, Containers, and managed databases
+ 10+ yrs. Experience developing applications/software utilizing various coding languages, including Python, .Net, Java, JavaScript/React, and more
+ 10+ yrs. Experience overseeing customized development of processes for multiple projects simultaneously
+ 10+ yrs. Experience designing secure applications systems based upon industry specifications
+ Demonstrated deep knowledge of web applications, webhook and API development, cybersecurity, and open-source technologies
+ Demonstrate a track record of leading within complex organizations requiring strong influence management skills – the ability to work cooperatively at all levels in a matrix environment
Job Will Remain Open Until Filled
Responsibilities
The Company is one of North America’s leading sales and marketing agencies specializing in outsourced sales, merchandising, category management and marketing services to manufacturers, suppliers and producers of food products and consumer packaged goods. The Company services a variety of trade channels including grocery, mass merchandise, specialty, convenience, drug, dollar, club, hardware, consumer electronics and home centers. We bridge the gap between manufacturers and retailers, providing consumers access to the best products available in the marketplace today.
Essential Job Duties and Responsibilities
Requirements Gathering & Planning
+ Regularly meet with stakeholders and users to determine requirements and demo development progress. Create wireframes and mockups, architect systems and data models, and plan a development roadmap.
Software Development
+ Code back-end services, controllers, and APIs; front-end views and components; and data models that meet the project’s requirements. Advance the codebase by removing technical debt.
Testing and QA
+ Incorporate and improve unit test coverage and generate UI tests to automate testing. Smoke test as needed and perform code reviews to ensure the accuracy and clarity of code.
Customer Service & Support
+ Provide post-release training, troubleshooting, and ad-hoc bug fixes. Write and keep technical documents up-to-date.
Personal & Team Growth
+ Adopt and advance the team’s best practices and actively contribute new ideas and concepts. Maintain understanding of current technologies and programming practices through continuous education, reading, workshops, and/or groups. Train new software engineers.
Supervisory Responsibilities
Direct Reports
- This position does not have supervisory responsibilities for direct reports
Indirect Reports
- May delegate work of others and provide guidance, direction and mentoring to indirect reports
Travel and/or Driving Requirements
- Travel and Driving are not essential duties or functions of this job
Minimum Qualifications
The following are the minimum job-related qualifications which an individual needs in order to successfully perform the essential duties and responsibilities of the job
Education Level: (Required): Bachelor’s Degree or equivalent experience
Field of Study/Area of Experience: Computer Science or other related discipline
10 or more years of experience:
+ .NET, C#, HTML, JavaScript, CSS, T-SQL, MVC
Additional experience a plus:
- AngularJS, Azure, Bootstrap, jQuery, REST, SCSS, Visual Studio, Visual Studio Team Services
Skills, Knowledge and Abilities
+ Motivated to learn, experiment, and use the latest technologies
+ Positive attitude with a desire to solve problems
+ Familiar with the stages of the software development lifecycle
+ Knowledge of security best practices
+ Te