Description & Requirements
The Principal Software Engineer must have the ability to execute systems development projects with minimal technical direction. The Principal Software Engineer must be able to produce high-quality, high-performance software that meets company’s software development standards. Needs to be actively involved, as required, to meet schedules and resolve problems.
A Day in The Life Typically Includes:
Leads and/or participates in design, estimation and planning activities, development and execution of new features and enhancements during development life cycle. Provides architectural blueprints and technical leadership to software development team.
- Evaluate technology solutions, recommend tools, platforms and processes to ensure the highest quality product / platform as well as able to provide cost-benefit analysis
- Leads design, estimation and planning activities for new features and enhancements during development life cycle
- Design, develop and execute software solutions and or new software features to address business issues
- Performs product functionality enhancements, defect verification, development implementations, and quality support for single and multiple product modules or sub-systems
- Prepares technical documentation of new features and enhancements for the product modules or sub-systems that may require automation support for quality assurance
- Develops and conducts unit, integration, functional, performance, and integration testing for functionalities and quality control. Responsibility typically extends to the technical management of the design, testing and integration of other engineers work in related areas
- Leads in reviewing deliverables with system stakeholders such as product managers, business analyst, development, quality assurance, and implementations team. This includes review of designs, test plans, and documentation that are needed to help identify and resolve gaps between requirements and testing plans of the system
- Research new developments in technology & software methodology and may function as the go-to person for technology, software methodology or other area of expertise
What You Will Need:
Basic Qualifications:
- Bachelor's degree or similar in software engineering, computer science, or information technology.
- At least 7-10 years of technical experience in product design, programming / software product development environment, software development methodologies, implementation, and quality control
- Strong technical leadership and experience in large scalable distributed systems and/or SaaS solutions, software development work on Cloud and/or Mobile platforms
- Solid experience on mobile and / or backend development using any of the following:
- .NET technologies (C#, .NET framework, .NET core)
- XSLT
- REST API / JSON
- SOAP / XML
- HTML / CSS
- SQL, DSV (data Source view), ND-JSON
- Swagger
- Security / SSO / AUTH methods (SAML2.0, etc)
Preferred Qualifications:
- Python
- Java, Nodejs (BaaS-back end as a service)
- Angular / React
- Infor OS - Data Fabric, ION API Gateway, App/Widget Building (Mongoose or App Designer), AI - previous project experience
- APIs and Integration projects
- Security e.g. OWASP, Security Scans, Pen Testing, authentication (e.g. SSO/SLO)
- Postman & Swagger (API gateways, documentation, testing)
- Data Modelling, classification algorithms
- EDMS - Electronic Document Management Systems
- GIS / Spatial Systems - e.g. ESRI, Google Maps
- Any previous Pathway and ePathway knowledge
- Cloud knowledge - AWS and/or Azure. (e.g. concepts S3, ACL, IDAP, Kinesis)
- UAP - User Adoption Platform