Position Purpose
Aspira’s 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 Aspira 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.
General Physical Demands
The physical demands described here are representative of those that must be met satisfactorily to successfully perform the essential functions of this job. If requested, reasonable accommodation will be made to enable incumbents with disabilities to perform the essential function absent undue hardship, as this position requires:
- Stationary work, frequent moving to access resources and complete tasks, and positioning self to move in a manner that can be described as bending, stooping, kneeling, reaching, the occasional ascension/descension of a ladder, and/or climbing, with general coordination and balance necessary for safety of movement, manual dexterity to operate office equipment such as phones, computers, copiers, and faxes, as well as the ability to move, transport, position, push /pull materials and objects weighing up to 25 pounds.
- Daily determination, at a level suitable for safety and awareness within a warehouse environment, obtained through an ability to visually detect, perceive, identify, recognize, and inspect, at a far and close range, with the ability to differentiate colors, is required in tandem with the ability to verbally communicate, converse, discern, convey, and exchange information.
- Frequent operation of a computer and other office productivity machinery, such as a calculator, printer, etc.,
- Scheduled hours, such as weekend, evening, or holiday shifts may occur as required by the business.
•
Last updated on Aug 20, 2024