Summary of Position: The Principal Software Engineer will lead the engineering team's best practices for software development to achieve the highest quality and solve difficult problems where the root cause seems elusive. This role will be working with Azure Cloud/IoT services, evaluating and adopting new technologies, along with best practices to solve problems. Essential Functions:
Hands-on development and problem resolution, writing clean, maintainable code, and mentor others to do the same
Lead software design, and develop features and solutions with high quality
Identification, implementation, and maintenance of Key Performance Indicators (KPIs)
Lead the development efforts for cloud-based applications and infrastructure
Create development standards/guidelines for application teams
Translate business and functional requirements into documented technical specifications
Develop support documentation for acceptance of systems changes into production
Participate in code reviews and walkthroughs of technical specifications with other members of the technical team
Engage in the application of systems analysis techniques and procedures, including consulting with users, to determine hardware, software, or system functional specifications
Implement requirements of the API layer like security, custom analytics, throttling, caching, logging, monetization, request and response modifications
Develop backend APIs for a variety of internal and customer-facing projects
Design solutions and work with challenging Azure Cloud/IoT services
Review log files to determine root cause analysis
Walkthrough developer code, identify issues, and script to fix in order to eliminate the issues
Review and update code to ensure quality, organization, and automation
Create frameworks and set systematic checks in place to ensure good code coverage, test automation, and adherence to development standards Communicate design, requirements, functionality, and limitations of systems/applications
Utilize departmental agile software development methodologies as a guide for development activities
Meet project schedules by providing accurate estimates of effort required for development deliverables
Communicate updates on project progress to development and project management.
Escalate issues that may affect project success to management
Maintain technical skills and expertise through continuing education and training
Collaborate with other teams including Business, Enterprise Testing, Release Management, Project Management and Application Support for the successful delivery of systems enhancements
Work with multiple Lead Engineers, Architects, Product Managers, and Testers as a connector to build and deliver the capabilities and features
Demonstrate ownership and execution of projects delivered by your team and department
Competencies:
Ensures Accountability
Tech Savvy
Communicates Effectively
Values Differences
Customer Focus
Resourcefulness
Drives Results
Plans and Prioritizes
Decision Quality
Self-Development
Work Environment: This job operates in a professional office environment. This role routinely uses standard office equipment such as computers, phones, photocopiers, filing cabinets, and fax machines. Physical Demands: The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. While performing the duties of this job, the employee in this position frequently communicates with other co-workers/clients who have inquiries about the various projects and other needs. Must be able to exchange accurate information in these situations. The employee must be able to remain in a stationary position 75% of the time. The employee in this position needs to occasionally move about inside the office to access file cabinets, office machinery, etc. Constantly operate a computer and office machinery such as a calculator, keyboard, copy machine, and printer. Frequently moves boxes with equipment weighing up to 25lbs across the building and/or to other offsite buildings for various project needs. Required Education and Experience:
Bachelor’s Degree in Computer Science or related field
8+ years of experience
Qualifications:
8+ years of overall industry experience with minimum 6+ years on application development, 5+ on cloud platform technologies (AWS/Azure/Google Cloud Platform)
Experience in database technologies – both relational and NoSQL with proficiency in at least 1 of each type
Expert in at least two of the following domains: Kubernetes, public cloud (AWS/Azure), server-side web dev, client-side web dev, REST/web services, MS SQL / NoSQL database, Spark / Databricks
Highly competent in at least two languages including but not limited to: Go, Python, C#, JavaScript, GraphQL, SQL
Experience with AWS and/or Azure cloud technologies
Demonstrate experiences with software testing methods, such as functional testing, stress testing performance testing, system resiliency testing, and failure injection
Strong understanding of technical engineering concepts of applications infrastructure requirements, understanding of cloud requirements for engineering capacity, and ability to partner cross-organizationally
Experience in developing and implementing code-based automation to simplify processes in public cloud environments
Experience writing code using cloud provider APIs
Ability to extract and analyze complex datasets using well-optimized SQL queries and define/implement dashboards and reports
Self-driven, work well in a team, have great communication skills
Expert knowledge of design principles and best practices
Hands-on experience in developing maintainable, scalable, and reusable software
Perform with minimal direction and work independently in a fast-paced environment
Solid understanding of RESTful APIs
Strong software design and programming fundamentals of REST Architecture
AAP/EEO Statement: 3MD Inc. is an equal opportunity employer and does not discriminate based on gender, sex, age, race and color, religion, marital status, national origin, disability, sexual orientation, gender identity or expression, veteran status, or any other category that is protected by applicable law. Other Duties: Please note this job description is not designed to cover or contain a comprehensive listing of activities, duties, or responsibilities that are required of the employee for this job. Duties, responsibilities, and activities may change at any time with or without notice.