- A day in the life of a Senior Software Engineer at Karthik Consulting
- You will approach projects as a critical thinker and a creative problem solver with a can-do attitude to create a world-class product in a start-up environment.
- You will influence the team by identifying and clearly articulating technical solutions that are elegant and sustainable.
- You will focus on the technical aspects of the product, but you will also contribute to business aspects such as: Sprint planning and other agile ceremonies; product roadmaps; market analyses; customer demos and discussions.
- What you will be doing (essential duties)
- Design, modify, and test Product solutions, in accordance with Agile and DevSecOps practices. Continually research emerging technologies to determine feasibility and (when desired) an implementation path. Evaluate and propose changes where needed. Conduct research spikes and document architectural specifications.
- Establish software development patterns and help teammates understand and apply those patterns. Review designs and code to ensure compliance with those patterns.
- Establish, enforce, and tweak CI/CD pipelines to process solutions through the full lifecycle (across non-Production and Production environments). Review CI/CD artifacts to troubleshoot issues, then define and implement corresponding solutions.
- Assist with product demos (internal or external) and help review/create product literature.
- Implement microservices facilitated by asynchronous message-driven architectures.
- Develop cloud-based solutions in AWS and/or similar CSPs, including serverless computing, cloud storage technologies, cloud monitoring techniques, and other core cloud services.
- Write effective and scalable object-oriented Python code; build efficient back-end features in Python; design and implement low-latency, high-availability, and performant applications; participate in code reviews to ensure code quality and distribute knowledge.
- Leverage your experience with containerization (Docker and Kubernetes) including firsthand technical expertise in a variety of configuration automation and CI/CD technologies (Helm, Kubernetes, Harbor, Nexus, and Ansible, etc.). Demonstrate experience with container tools, including Docker, Kubernetes, or Rancher. Demonstrate experience with deploying Kubernetes on-prem or in the cloud (AWS, Azure, and/or GCP).
- Support and troubleshoot infrastructure software including Docker, OpenShift, Kubernetes, ServiceMesh, CertManager, CyberArk, Hashicorp, and SpringBoot.
- Leverage your knowledge of Python frameworks such as Django, Flask, CherryPy, etc.
- Experience
- 3+ years of hands-on application development experience with:
- Python
- Agile software development methodologies
- Software Development Life Cycle Management and Systems Engineering
- DevSecOps, including CI/CD tools, controls, and processes
- Cloud-based application development
- Usage of a DevSecOps platform (GitLab or similar)
- Building and deploying applications and infrastructure with technologies such as Ansible, Puppet, Terraform, or others
- Understanding of front-end technologies, such as JavaScript, HTML5, and CSS3
- Preferred but not required:
- US Citizen able to obtain a clearance
- Federal contracting experience
- AWS Certification
- Security+ certification
- 3+ years of hands-on application development experience with:
- What we offer
- Offers a comprehensive, competitive, and inclusive set of health, financial and other benefits that support your total well-being.
Job Category: Development - Engineer
Job Type: Full Time
Job Location: Remote
Clearance: Able to obtain a clearance