Job Description
Summary:
The Technical Software Development Manager is a leader in in the technology industry. They are responsible for developing software as well as leading and guiding the team involved in development. The Technical Software Development Manager will oversee teams of software engineer professionals in this enterprise platform and are responsible for planning and coordinating all software-related activities. You have experience and formal training in computer science and technology, often transitioning from roles as software developers or engineers to this leadership position. You will design, develop and deploy reliable distributed solutions that operate at a large enterprise platform scale.
Project Background: You will be one of the leaders of building a unified multi-tenant Kubernetes-based computing solution that provisions a fully managed ready-to-consume and compliant compute container for applications in all regions and cloud operating environments.
Responsibilities:
Leadership: It’s important for the Technical Software Development Manager to know how to train developers and engineers on their team to ensure that they can handle their daily responsibilities. Here are some ways that these managers can use leadership skills in this position:
Delegation: Assign tasks to team members, which can improve workplace productivity and encourage the team to develop their skills.
Performance evaluation: Assess the quality of their employees’ work and offer praise and constructive criticism. They also review their team’s work as a whole and create strategies to improve performance.
Goal-setting: They also set goals the team can realistically achieve and offer guidance as needed to accomplish those goals.
Problem-solving: Responsibility to devise solutions to resolve workplace conflicts and make tough decisions. For example, if a software design initiative exceeds the budget, the software development manager can explain to upper management how the design can benefit the organization.
Lead and grow an engineering team that is responsible for design and development. You are a strong leader who can prioritize well, communicate clearly and who has a track record of building strong teams that deliver results. This role requires creative engineering, a strong customer focus, and collaboration with your team and leadership.
Get deep into the technical details, are proactive in removing roadblocks, pave the way for innovation, and can handle multiple competing priorities in a fast-paced environment.
You have a thorough understanding of software processes (development, configuration, testing, and deployment) and are able to identify risks early on.
You are able to credibly coordinate between teams of technical resources and business stakeholders.
You have excellent customer relationship skills and are an advocate for the customer to all internal parties.
You are able to negotiate and gain buy-in on technical decisions and ensure that appropriate software engineering practices are employed to deliver high quality results.
You think big, dive deep and deliver results.
Requirements:
10+ years of experience as a software engineer / developer, with prior experience leading 8+ Software Engineers and other team members
Proficient in modern software design patterns, automated testing and fault-tolerant systems.
Proficient in modern API and UI development using modern web and mobile frameworks.
Proficient in C#, Python, TypeScript and all .Net frameworks.
Proficient in CI/CD, DevOps, and agile ways of working including the common practices of Agile, Scrum, Kanban, KanPlan, and ScrumPlan.
Proficient in Git code versioning including branching and merging to enable continuous integration and continuous delivery methodologies.
Proficient in performing the system level integration tests (both manual and automated), Cross Browser testing, Load Tests, Data Driven Tests.
Proficient in writing test cases and test plans.
Proficient in performing load, performance, and UI or API testing for highly scalable systems.
Able to develop and test own code throughout the software testing pyramid.
Able to learn and adapt quickly to AWS and Azure roadmaps and technology changes.
Able to build and maintain Software Test Automation Frameworks including driving processes and improving and simplifying QA Process.
Able to design and automate test cases to validate complex software systems including white-box and blackbox tests, and develop supporting testing tools.
Able to create software tools to perform verification and regression tests for modern Web UI and Serverless application architectures built using the latest technology like the ASP.NET Core 2.
Able to think critically, with excellent analytical and problem-solving skills while considering the big picture.
Understanding of various software architectures and implement the test solutions for Web Forms, MVC, WebAPI using ASP.NET, Dockers & Containers, Micro-Services, Serverless, and AWS and Azure REST APIs.
Understanding of Microsoft Azure and Amazon AWS.
Can learn fast, demonstrate the aptitude for continuous learning, out-of-the box thinking and able to handle multiple tasks and responsibilities at any given time.