Software Developer C# .Net – Multiple Positions – Junior, Intermediate and Senior Levels
The software developer position contributes to Clinisys engagements by owning design, development and implementation of a complex and large scale application modules both as an individual contributor and as a team member within the Clinisys Development Team.
Key Responsibility Areas and Major Activities
High-level grouping of responsibilities (broken down into tasks /activities) that a given role needs to perform in order to be a successful Software Developer:
- Independently drives the design of software modules and can work on the necessary patterns notations and tools.
- Provides inputs and directions to associates, team members and direct or sub-reports for the team.
- Provides guidance to team or participate in designing and creating design artifacts.
- Creates and participates in design review of modules and provide insightful comments to improve the design quality and design conformance to highest standards. Implements slice of application and proof of concepts to prove new technologies or integration scenarios in for software modules.
- Drives performance tuning, re-design and re-factoring for software modules.
- Provides innovative solutions to project level technical issues.
- Contributes to designing and implementing software build release processes, as well as system configuration and deployment of client applications.
- Writes application code to meet expected quality standards by conforming to the steps defined by the product development lifecycle and adhere to quality control mechanisms.
- Identifies and creates unit test cases and writes code to validate those test cases.
- Conducts technical walkthroughs/code reviews of other team members’ components, test plans and results and help them with bridging the gaps.
- Provides inputs and directions to associates/senior associates in development team during design, development and implementation and support phases.
- Works with associates to create unit test cases and testing strategies for software modules.
- Helps in developing proposals, planning documents, tracking mechanism and developing estimations.
- Estimates the implementation and deployment of the modules based on module design and the overall project architecture, construction and testing strategies and follow overall project plan.
- Assists in estimation activity for the projects and identifying key risks and issues and related mitigation strategy development.
- Reports accurate status for development team’s work.
- Identifies and escalates issues that might delay the work and propose suitable alternatives.
- Adheres to company and methodology processes laid out by the organization or based on best practices.
- Follow Agile methodology, SCRUM processes, tools and technology standards including development of documentation.
- Creates and maintains the design documentation for the modules.
- Documents technical design using UML and other suitable design patterns in form of technical design narrative, object models, sequence diagrams, collaboration diagrams, client interactions, Requirement Gathering, Business Analysis, Use Case Development and other methods.
- Interacts with clients to create technology specifications from business requirements for modules within the project.
- Formulates strategies and methods in coordination with clients to gather functional requirements and capture them in standard notations like Use Cases, User Stories etc.
- Creates effective questionnaires and checklists to gather requirements from clients and evaluates each client on the various parameters identified.
- Assists and create data migration tasks helping clients to move data from old to new applications.
- Supports clients for their advanced technical support requirements.
- In some scenarios, collaborates with client developers to design, build, test and deploy software module components and conduct integrations with external software or APIs. COMPETENCY PROFILE
- Logical Architecture Design, OOAD and UML, Package / Vendor Selection, Performance / Capacity Planning.
- Knowledge of Hadoop clusters, BI, Data Warehousing and data analytics technologies are desirable.
- Exposure to Microsoft could technology/Azure will be an asset.
- Have at least 2-7 years of experience in ASP.Net programming.
- Can describe major components of at least one .NET language and develops components in all tiers of a n tier solution in .NET.
- Is able to conduct various programming tasks including performance tuning of .NET Applications.
- Is able to utilize most configuration features like domains , code access security, code signing, interop etc.
- Successfully uses data source with connection pooling and in a multi-phase commit situation when dealing with a disparate data source.
- Demonstrates expert level proficiency in C# .Net.
- Is able to use basic performance factors when using AJAX & JQuery (JSON v/s XML v/s binary formats).
- Works with various libraries and is able to customizes frameworks and tools.
- Plays a subordinate or takes a lead covering multiple development projects and trains colleagues.
- Knowledgeable of best practices for developing high-performing web applications using ASP.Net. Successfully performs in more than one of the following areas:
- MVC patterns, caching patterns, threading patterns, validation patterns, Client Memory Management techniques, lazy loading techniques and profiling methods.
- Works with various libraries, customizes frameworks and tools (server controls such as calendar, time etc.) and accurately creates custom controls in java script / DHTML.
- Can accurately create custom controls and can successfully use one of the following areas - MVC pattern, caching pattern, threading pattern, validation pattern, client memory management techniques, lazy loading techniques and profiling methods.
- Develops Reusable UI - including Resource-based Reuse, Template-based Reuse etc.
- Can work with printing frameworks associated with Crystal Reports and SSRS.
- Troubleshoots and perform diagnosis for technical and performance issues in distributed applications
- Demonstrates ability to tune UI for better rendering and loading performance.
- Contributes to the planning and design of a ASPX/HTML5/Mobile Apps front ends based on functional requirements and REST architecture.
- Demonstrates expert level proficiency in one of the .Net - Integration Languages listed below (available in the Technology. Integration segment): .Net Web Services / Windows Communication Framework, SOAP and MSMQ.
- Plays a subordinate or a lead role that includes activities such as identifying choices available to implement security with .NET, selecting and evaluating various options available for implementation of each tier and creating deployment strategies.
- Creates architecture diagrams to support development.
- Creates effective questionnaires and checklists to gather requirements from client.
- Proactively defines operational processes for maintaining backups, disaster recovery and business continuity, webservers, application servers, database servers, SAN and redundancy sites for large operations to ensure availability and failover.
Send your resume to firstname.lastname@example.org