We are looking for a Senior Software/DevOps Engineer that will develop information systems by studying operations; designing, developing, and installing software solutions; support and develop software team. The Senior Software/DevOps Engineer will lead a team of developers responsible for building new and support existing Softwares.
Responsibilities:
- Consulting; Technical Leads are part of the senior team that manages the client and is called upon to facilitate user requirements sessions, design technical specifications, and manage the development of documentation to meet client expectations. In conjunction with a Project Manager, Technical Leads are expected to provide both technical and solution expertise for clients and client engagements.
- Solution Development; Technical Leads design solutions for various client needs. TLs support the analysis of client processes and recommend new business models, workflows, or solutions to best meet client needs.
- Technical Leadership; Technical Leads manage all technical aspects of the project and also contribute directly by writing code, managing builds, and performing other hands-on tasks. TLs have the ability to exercise independent judgment in methods, techniques, and evaluation criteria for obtaining results.
- Team Management; Technical Leads may manage small teams to successfully deliver agreed-upon solutions of the highest quality, exceeding customer expectations. They mentor and guide less experienced consultants. They are expected to be role models for best practices and to provide technical knowledge sharing.
- Expertly implement designs using modern programming practices, Participate in the architecture and design of systems.
- Perform code reviews and ensure exceptional code quality.
- Functionally decompose complex problems into simple, straightforward solutions, Serve as a technical lead on our most demanding, cross-functional projects.
- Fully and completely understand system interdependencies and limitations, Possess expert knowledge in performance, scalability, enterprise system architecture, and engineering best practices.
- Assist in the career development of others, actively mentoring individuals on advanced technical issues, and helping managers guide the career growth of their team members.
- Exert technical influence over multiple teams, increasing their productivity and effectiveness by sharing your deep knowledge and experience.
Qualifications/Experience
- Minimum of 8yrs software development experience and 3-5yrs real management of the engineering team, experience in a project-based consulting environment.
- Expertise architecting and designing software solutions for various problem types.
- Extensive knowledge in the areas of custom software development: OO Design Patterns; microservices, middleware, etc.
- Strong proficiency with at least one server-side language (Node.js and/or Python preferred), Strong proficiency with vanilla JavaScript.
- Strong Object Oriented Programming skills
- Deep understanding of at least one modern JavaScript framework (React, Angular, Meteor, etc.)
- Understanding of data security compliance and security best practices
- Experience in profiling, debugging and troubleshooting systems
- Solid understanding of databases and data modeling/design techniques; data interface protocols; database deployment and scalability; database tuning.
- Extensive experience with designing systems for scale and reuse, source code management strategies, and release management.
- Strong and effective verbal and written communication skills; as well as strong and effective presentation and facilitation skills.
- Willingness to travel to client locations and collaborate with distributed delivery teams as needed.
- Solid knowledge of system administration and software and hardware configuration and production system deployments; ability to make informed recommendations to customer IT staff.
- Ability to troubleshoot pre- and post-production implementations including security and load balancing & performance issues.
- Cloud DevOps experience strongly preferred
- Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform
- Experience with video technologies preferred but not required.
- Experience working in an Agile development environment.
- Experience working on teams with a heavy emphasis on DevOps, Automation, CI/CD, and Quality.
- Experience with AWS or similar cloud platform (e.g. Google Cloud, Azure, OpenStack), Strong written and verbal communication skills.
- Comfortable working with a remote team operating in multiple time zones.
- Experience with a variety of data storage solutions (e.g. Elasticsearch, Dynamo, RDS, PGSQL).
- Experience with fault-tolerant message queuing/brokering systems (e.g. Kafka, SQS, Kinesis)