Work in an Agile development environment with the ability to design, develop and maintain software solutions to meet functional requirements of current and future product offerings using a combination of Microsoft .NET Core , .Net 4.x, , WebAPI, Restful services, MVC ,MySQL , AI & ML, Kafka and AWS. Delivering results by providing hands-on solutions. Guide a team of software engineers to implementing solutions using Caterpillar defined architecture & design patterns. Follow Caterpillar defined software development practices based on Agile/TDD.
This role is purely a technical leadership and individual contributor role without any people management responsibilities.
Skills & Experience Required:
- Overall 12+years along with Solid knowledge in software development fundamentals, software development process, requirements analysis, software design, debugging, documentation, testing and deployment
- Hands On experience in software design patterns and Architecture principles
- Excellence with Test-Driven Development and Agile processes.
- Strong Programming, Designing, Debugging, Problem Solving & troubleshooting skills.
- Excellence with Agile software development processes
- Excellence with C#,.NET CORE, .NET FW, Web API. Kafka, AWS and MySQL.
- Excellence with Service-Oriented Architectures, microservices , Web Services including those based on Restful and WCF.
- Strong Programming and analytical Skills
- Good knowledge of pipelines, build and release process.
- Good knowledge in DB tools (liker SQL Server or MySQL).
- Commitment towards code quality
- A true team player who is able to work with distributed teams in a fast paced environment
- Must have done at least 3 large implementations or multiple projects using these technologies.
- Other duties as required and requested by management.
- Excellent communication/interpersonal skills
(Nice to Have)
- Past experience designing or developing for high-transaction rate enterprise systems including hardware devices.
- Experience with gRPC, Dapper (or) Other ORM software
- Experience with Other Cloud based services.
- Experience with MSBUILD,TFS, VSO, GIT,MySQL , Jenkins and AZURE DEVOPS
- Experience working with a geographically distributed, dynamic and multicultural team
- AI/ML Technologies hands on experience:Machine Learning libraries (e.g., scikit-learn, TensorFlow, PyTorch), Natural Language Processing (NLP), Computer Vision, data analysis tools (e.g., Pandas, NumPy), cloud AI services (e.g., Azure AI, AWS AI).
General expectations:
- Passion and willingness to learn new technologies.
- Self-starter, Ability to work well in a small team with good communication skills.
- Strong work ethic. Self-motivated, able to self-direct, positive attitude.
- Has a positive "can do" attitude. Try to figure out how to do something without understanding all the data points.
- You are dedicated to delivering high quality and performance solutions
- You are eager to learn new things, you take ownership and want to get things done
Key Responsibilities: (Day to day activity)
- Software design and development using .NET Core / .NET Framework
- Architect and designs software solutions based on marketing and technical requirements
- Collaborates with product owners, team leads and other architects/SMEs; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.
- Application performance and monitoring
- Mentoring the junior developers in the team
- Design and code reviews for junior developers
- Helps the team to maintain code & application quality and on time delivery
- Demonstrates a solution by developing clean code, supporting documentation, flowcharts, layouts, diagrams and code comments
- Manages timelines/deliveries, highlight/mitigate risks, and provide timely, accurate & regular status updates.
- Ensures that the product is consistent with the needs of the customers
- Monitoring APIs and Services deployed in production and support devops & support team on need basis
Measures of Success:
- Participation in the complete product development cycle starting from analysis, architecture, design, coding, integration testing , deployment and maintenance of software
- Provide ongoing sustaining support to the product, addressing end to end feature enhancements.
- Review and work with others (Product Management, Technical Architects, Development Engineers, Software Development Manager) to confirm and track feature requirements through to delivery.
- Follow the processes of an agile development team and participate in the planning and execution of work items.
- Motivate individual team members to drive tasks to completion and take ownership of features.
- Experience in Agile methodologies
- Mentor the junior developers in the team for improving the application and code quality
- Provide creative and innovative solutions to improve value of the application