Principal Staff Software Engineer
Mitchell Martin
2024-11-05 13:38:12
Austin, Texas, United States
Job type: fulltime
Job industry: Education
Job description
Our clinet, is a full service business brokerage firm committed to providing big business results to small business clients is seeking for an Principal Staff Software Engineer
Location: Austin, TX, Grapevine, TX or Dallas, TX
Type: Perm/ Full-Time
Position Purpose
Staff Software Engineer serves as a technical leader within the engineering team, driving the design, development, and optimization of sophisticated software systems that are critical to the company's success.
This role involves a blend of hands-on coding, architectural design, and team leadership, ensuring that all software solutions are scalable, secure, and aligned with business objectives.
The Staff Software Engineer collaborates across teams, mentors junior engineers, and plays a key role in defining the technical direction of the company's software products.
As a Staff Software Engineer, you will be a technical leader responsible for architecting and building highly scalable serverless applications on AWS.
You will work closely with cross-functional teams to design, develop, and deploy solutions that leverage AWS services and serverless frameworks.
Your expertise in serverless architecture, along with your knowledge of programming languages like TypeScript, Go, or Python, will be crucial in driving the success of our projects.
Responsibilities
• Lead the design, development, and deployment of high-quality software solutions, ensuring they meet both technical and business requirements.
• Collaborate closely with product managers, architects, and other engineers to define the technical roadmap and ensure alignment with the company's long-term vision.
• Mentor and guide engineers across the team, fostering a culture of excellence, collaboration, and continuous learning.
• Drive technical discussions and decision-making processes, providing expertise on software architecture, design patterns, and best practices.
• Conduct thorough code reviews, ensuring adherence to coding standards and the delivery of maintainable, scalable code.
• Take ownership of complex systems and projects, ensuring timely delivery and proactively identifying potential risks or roadblocks.
• Stay informed of industry trends, emerging technologies, and best practices, and apply this knowledge to continuously improve the company's software offerings.
• Contribute to the evolution of the development process, introducing new tools, methodologies, and practices to enhance efficiency and quality.
• Collaborate with cross-functional teams to troubleshoot and resolve complex technical issues, ensuring high system reliability and performance.
• Champion client policies and procedures, uphold product quality and reputation, and consistently adhere to compliance and relevant initiatives by preserving the confidentiality of information, safeguarding organizational assets, and acting with integrity and ethics.
• Support the Solutions division by actively participating in pertinent projects and fulfilling other assigned duties.
• Architecture Design: Lead the design and implementation of serverless architectures using AWS services, ensuring scalability, reliability, and cost-efficiency.
• Serverless Frameworks: Utilize serverless frameworks like SST (Serverless Stack) and AWS CDK (Cloud Development Kit) to build and deploy infrastructure as code.
• CloudFront & S3: Design and implement secure and performant content delivery solutions using CloudFront and S3.
• Database Management: Architect and manage scalable data storage solutions using DynamoDB, including DynamoDB Streams for real-time processing.
• Search & Analytics: Implement search solutions using OpenSearch and design data pipelines and warehousing solutions with Redshift.
• Workflow Orchestration: Build and manage complex workflows using AWS Step Functions to coordinate microservices.
• Event-Driven Architecture: Develop event-driven applications using AWS EventBridge to facilitate seamless integration between services.
• Coding & Development: Write high-quality, maintainable code in TypeScript, Go, or Python, ensuring best practices in software engineering.
• Mentorship & Leadership: Provide technical guidance and mentorship to junior engineers, fostering a culture of continuous learning and improvement.
• Collaboration: Work closely with product managers, designers, and other engineers to deliver robust, production-ready solutions.
• Continuous Improvement: Stay up-to-date with the latest advancements in AWS technologies and advocate for their adoption where appropriate.
Desired Qualifications
• Proven track record of delivering high-quality, scalable software solutions, with a strong foundation in software architecture and design principles.
• Extensive experience in software development, with deep expertise in multiple programming languages such as Java, Python, C++, or Go.
• Strong problem-solving skills, with the ability to analyze complex technical challenges and devise innovative, effective solutions.
• Exceptional leadership and mentoring abilities, with experience guiding teams to achieve their full potential.
• Excellent communication skills, both verbal and written, with the ability to articulate technical concepts to both technical and non-technical stakeholders.
• Proficiency in cloud computing platforms (e.g., AWS, Azure, Google Cloud) and experience in designing cloud-native applications.
• Strong understanding of software security principles, with experience implementing secure coding practices and leading security-focused initiatives.
• Proven Experience: 7+ years of professional software engineering experience, with a focus on cloud-native and serverless applications.
• AWS Expertise: Deep understanding of AWS services, including Lambda, API Gateway, S3, DynamoDB, CloudFront, OpenSearch, Redshift, Step Functions, and EventBridge.
• Serverless Frameworks: Extensive experience with serverless frameworks like SST and AWS CDK for infrastructure as code.
• Programming Languages: Proficiency in TypeScript, Go, or Python, with a strong understanding of best practices in software development.
• Database & Storage: Experience with designing and managing NoSQL databases like DynamoDB and integrating with real-time data streams.
• Event-Driven Systems: Strong knowledge of event-driven architecture and experience building event-driven systems on AWS.
• Leadership: Proven track record of leading engineering teams, providing technical mentorship, and driving architectural decisions.
• Problem-Solving: Exceptional problem-solving skills with a keen eye for detail and a deep understanding of system design and architecture.
• Collaboration: Excellent communication skills, with the ability to collaborate effectively across teams and disciplines.
• Adaptability: Ability to thrive in a fast-paced, dynamic environment and quickly adapt to new technologies and approaches.
• Knowledge of CI/CD pipelines and DevOps practices.
• Contributions to open-source projects or relevant technical blogs/publications.
Desired Education and Experience
• Bachelor's Degree in Computer Science, Software Engineering, or a related field required, with a Master's degree preferred.
• 7+ years of professional experience in software development, with at least 3 years in a senior or staff engineering role, leading the design and delivery of large-scale systems.
• Documented experience leading or contributing to at least 5 major software projects, each resulting in measurable improvements in system performance, reliability, or user satisfaction.
• 3+ years of experience working with cloud computing platforms, including the deployment and management of cloud-based applications.
• 3+ years of experience with Agile or Scrum methodologies, with a proven ability to drive iterative development processes and deliver high-quality software.
Desired Hardware and Software Competency
• Mastery of software development tools and environments, such as IntelliJ, Visual Studio Code, or Eclipse, for efficient coding and debugging.
• Proficiency in version control systems, particularly Git, with extensive experience managing large, distributed codebases.
• Expertise in containerization and orchestration technologies, such as Docker, Kubernetes, and Helm, for deploying and managing scalable microservices.
• Strong experience with database technologies, both SQL (e.g., PostgreSQL, MySQL) and NoSQL (e.g., MongoDB, Redis), with a proven ability to design, optimize, and maintain complex data structures.
• Proficiency with CI/CD pipelines, using tools like Jenkins, GitLab CI, or CircleCI to automate software builds, testing, and deployments.
• Experience with cloud infrastructure, particularly AWS, Azure, or Google Cloud, including services such as EC2, S3, Lambda, and Kubernetes.
• Familiarity with monitoring and logging tools such as Prometheus, Grafana, and ELK stack, ensuring system reliability and performance.
Salary: $200K-$230K with a 5-10% bonus