The Principal Software Engineer will act as both an architect and advanced level software engineer who serves as a subject matter expert in the design and execution of solutions for company Technology Operations & Development team.
Position based in Charlotte, North Carolina.
The right person for this role will be highly technical and analytical, often acting as a designer, developer, and communicator.
The ideal candidate is equally obsessed with delivering the best possible customer experiences and leading and building strong relationships within the team which includes engineers, partners, leaders, and a broad set of stakeholders.
This informal leader will be able to think long-term, advocate for strong engineering excellence, and bring forth their own software development best practices.
MAIN DUTIES & RESPONSIBILITIES
- Oversee and perform software design decisions, define enterprise software architecture strategies & support end-to-end product development.
- Translate business requirements into functional actionable items by acting as the link that connects the development team, the end user and the product.
- Identify any potential hurdles and assess the current & future state of our solutions.
- Create functional requirement documents, wireframes or initial system sketches and mockups to understand the framework and visually assess whether all use cases and functionalities are covered.
- Create application programming interfaces (APIs), databases, and research new technologies.
- Lead by example by overtaking complex tasks, sharing knowledge, ensuring understanding and establishing clear milestones for the team.
Day to day tasks may include writing code, pseudocode & auxiliary diagrams.
- Production support of distributed systems, including database architecture.
- Other duties may be assigned.
MINIMUM REQUIREMENTS
- Bachelor s degree in computer science, engineering, mathematics, or related field required.
- Ten (10) years of software development experience required.
- Minimum education and experience required can be substituted with the equivalent combination of education, training and experience that provides the required knowledge skills and abilities.
- Deep & robust understanding of the software development lifecycle.
- Knowledge of professional software engineering best practices for the full software development life cycle, including but not limited to coding standards, code reviews, source control management, build processes, testing, and operations.
- Able to seamlessly architect new end-to-end solutions.
- Deep hands-on technical expertise and prior experience as a software developer required. Software development management experience preferred.
- Solid software development background including design patterns, data structures, test driven development required.
- In-depth working knowledge in a technology domain such as distributed internet-scale web applications, DevOps, Serverless, Big Data, Machine Learning, high-performance databases (SQL and / or NoSQL), complex networking implementations, highly secured workloads
- Specific Tech Stack knowledge in : Java, Spring Framework, Node.js, CSS, HTML5, React.js, Material UI & AWS Solution Architecture Full Stack.
PREFERRED QUALIFICATIONS
- Master s or higher degree in Computer Science, Engineering, Mathematics, or related field highly desirable.
- Deep knowledge of Infrastructure Security, Security Compliance and Operations.
- Deep Knowledge of distributed systems, solutions, and database architecture
The Principal Software Engineer will act as both an architect and advanced level software engineer who serves as a subject matter expert in the design and execution of solutions for company Technology Operations & Development team.
Position based in Charlotte, North Carolina.
The right person for this role will be highly technical and analytical, often acting as a designer, developer, and communicator.
The ideal candidate is equally obsessed with delivering the best possible customer experiences and leading and building strong relationships within the team which includes engineers, partners, leaders, and a broad set of stakeholders.
This informal leader will be able to think long-term, advocate for strong engineering excellence, and bring forth their own software development best practices.
MAIN DUTIES & RESPONSIBILITIES
MAIN DUTIES & RESPONSIBILITIES
- Oversee and perform software design decisions, define enterprise software architecture strategies & support end-to-end product development.
- Translate business requirements into functional actionable items by acting as the link that connects the development team, the end user and the product.
- Identify any potential hurdles and assess the current & future state of our solutions.
- Create functional requirement documents, wireframes or initial system sketches and mockups to understand the framework and visually assess whether all use cases and functionalities are covered.
- Create application programming interfaces (APIs), databases, and research new technologies.
- Lead by example by overtaking complex tasks, sharing knowledge, ensuring understanding and establishing clear milestones for the team.
Day to day tasks may include writing code, pseudocode & auxiliary diagrams.
- Production support of distributed systems, including database architecture.
- Other duties may be assigned.
Oversee and perform software design decisions, define enterprise software architecture strategies & support end-to-end product development.
Translate business requirements into functional actionable items by acting as the link that connects the development team, the end user and the product.
Identify any potential hurdles and assess the current & future state of our solutions.
Create functional requirement documents, wireframes or initial system sketches and mockups to understand the framework and visually assess whether all use cases and functionalities are covered.
Create application programming interfaces (APIs), databases, and research new technologies.
Lead by example by overtaking complex tasks, sharing knowledge, ensuring understanding and establishing clear milestones for the team.
Day to day tasks may include writing code, pseudocode & auxiliary diagrams.
Production support of distributed systems, including database architecture.
Other duties may be assigned.
MINIMUM REQUIREMENTS
MINIMUM REQUIREMENTS
- Bachelor s degree in computer science, engineering, mathematics, or related field required.
- Ten (10) years of software development experience required.
- Minimum education and experience required can be substituted with the equivalent combination of education, training and experience that provides the required knowledge skills and abilities.
- Deep & robust understanding of the software development lifecycle.
- Knowledge of professional software engineering best practices for the full software development life cycle, including but not limited to coding standards, code reviews, source control management, build processes, testing, and operations.
- Able to seamlessly architect new end-to-end solutions.
- Deep hands-on technical expertise and prior experience as a software developer required. Software development management experience preferred.
- Solid software development background including design patterns, data structures, test driven development required.
- In-depth working knowledge in a technology domain such as distributed internet-scale web applications, DevOps, Serverless, Big Data, Machine Learning, high-performance databases (SQL and / or NoSQL), complex networking implementations, highly secured workloads
- Specific Tech Stack knowledge in : Java, Spring Framework, Node.js, CSS, HTML5, React.js, Material UI & AWS Solution Architecture Full Stack.
Bachelor s degree in computer science, engineering, mathematics, or related field required.
Ten (10) years of software development experience required.
Minimum education and experience required can be substituted with the equivalent combination of education, training and experience that provides the required knowledge skills and abilities.
Deep & robust understanding of the software development lifecycle.
Knowledge of professional software engineering best practices for the full software development life cycle, including but not limited to coding standards, code reviews, source control management, build processes, testing, and operations.
Able to seamlessly architect new end-to-end solutions.
Deep hands-on technical expertise and prior experience as a software developer required. Software development management experience preferred.
Solid software development background including design patterns, data structures, test driven development required.
In-depth working knowledge in a technology domain such as distributed internet-scale web applications, DevOps, Serverless, Big Data, Machine Learning, high-performance databases (SQL and / or NoSQL), complex networking implementations, highly secured workloads
Specific Tech Stack knowledge in : Java, Spring Framework, Node.js, CSS, HTML5, React.js, Material UI & AWS Solution Architecture Full Stack.
PREFERRED QUALIFICATIONS
PREFERRED QUALIFICATIONS
- Master s or higher degree in Computer Science, Engineering, Mathematics, or related field highly desirable.
- Deep knowledge of Infrastructure Security, Security Compliance and Operations.
- Deep Knowledge of distributed systems, solutions, and database architecture
Master s or higher degree in Computer Science, Engineering, Mathematics, or related field highly desirable.
Deep knowledge of Infrastructure Security, Security Compliance and Operations.
Deep Knowledge of distributed systems, solutions, and database architecture