6-8 years of professional experience as a .NET Web Application Lead
- Strong experience with C#, WCF, WPF, .NET platform libraries Windows Workflow (WF), SQL Server and Visual studio
- Extensive .net, C# development experience, Silverlight 4.0, Entity Framework Experience
- Experience with MS SQL Server, particularly Reporting, Analysis and Integration services
- Team Foundation Server (TFS),
- 5+ Years of SQL2005/2008 experience
- Full life cycle software development in C# and.NET
- Strong work ethic; Able to work in a fast paced environment.
- Driven, self-motivated individuals with a strong desire to succeed
Responsibilities:
- NET Application development ( v4.0) with SQL server 2005 / 2008 on Microsoft Azure backend
- Web application development through Silverlight 4.0, WCF and Azure technology
- Experience in migrating on-premise Microsoft workloads to Azure
- Experience with Enterprise Architect (EA)
- Create high level design objectives, and review and critique software designs proposed by senior developers
- Experience with a range of software lifecycle development practices especially Scrum and Agile methodologies
- Producing efficient, standard, well-commented code; Review development across developers
- Working through all User Interface, Application, and Database related issues and on-time bug fixes
Experience:
- 5+ Years of Programming experience in Microsoft Technologies
- designing applications for hosting on the Windows Azure platform
- designing and developing Windows Azure applications
- SQL Azure
- Windows Azure AppFabric
- Windows Communication Foundation
- Internet Information Services (IIS)
- web applications development
- identity management
- Test driven development and Lean methodologies
Skills:
- experience of various Cloud service models and service model architectures
- the synchronization of data
- the security implications of Cloud-based applications as well as the data storage options available
- Knowledge of resource allocation, potential cost impact of different architectural decisions,
- the deployment models and upgrading
- migrate existing applications, services, and data
- diagnostics and health of applications and services
- Integrate Windows Azure applications with external resources
- Designing Data Storage Architecture
Choose the appropriate data storage model based on technical requirements.
This objective may include but is not limited to: SQL Azure, Cloud drive, performance, scalability, accessibility from other applications and platforms, Windows Azure storage services: blobs, tables, and queues;
- Design a synchronization strategy.
This objective may include but is not limited to: synchronize online and offline data by using sync framework and SQL Azure Sync service
Plan a cost-effective data architecture based on business requirements.
This objective may include but is not limited to: code migration cost, data migration cost, bandwidth cost
- Design a database migration plan from SQL Server to SQL Azure.
This objective may include but is not limited to: differences between SQL Azure and SQL Server, concessions for unsupported features, schema, data, reporting an analytic tooling
- Plan for media storage and accessibility.
This objective may include but is not limited to: media accessibility, global distribution with Content Delivery Network (CDN), blob storage
Optimizing Data Access and Messaging
- Optimize a data access strategy.
This objective may include but is not limited to: batch operations and performance techniques, data latency due to location, saving bandwidth cost
- Design a reliable data access layer to access SQL Azure.
This objective may include but is not limited to: define client data access standards, connection timeout scenarios
- Design an efficient strategy to avoid data access throttling.
This objective may include but is not limited to: table storage, partition, transaction volumes, SQL Azure CPU throttling, query design
- Design a queue strategy that guarantees idempotency.
This objective may include but is not limited to: multiple processing, multiple consumers, long-running processes
- Design communication strategies using queues.
This objective may include but is not limited to: asynchronous mess