Position: C# Developer - Windows Applications Location: Remote (Prefer a candidate from Central or Eastern Time Zones) Duration: 9 months (Extendable)
**Translate application storyboards and use cases into functional applications ** • Design, build, and maintain efficient, reusable, and reliable C# code • Ensure the best possible performance, quality, and responsiveness of applications • Identify bottlenecks and bugs, and devise solutions to these problems • Help maintain code quality and organization • Participate in requirements analysis • Collaborate with internal teams to produce software design and architecture • Responsible for developing, testing and maintaining automation tools for the organization • Responsible for providing support and troubleshooting issues with the automation tools • Responsible for maintaining list of feature enhancements and defects • Ensures all supporting documentation is available to stakeholders region for reference. Technically and mechanically accurate, proofs documentation for consistency with regard to audience clarity, organization, readability and completeness. • Ensures tools are measured & competitively positioned to enable service engagement as & where applicable. • Coaches and helps develop colleagues so that they have the skills and knowledge to be successful in their current and future roles. • Establishes strong working relationships with internal & external stakeholders to advocate and evangelize the automation value proposition. • Works with the core program teams to ensure all key messaging is conveyed to all business units. • Influence and motivate others to deliver the best of themselves in meeting business challenges and objectives. • Provide relevant input into Infrastructure Delivery Services management teams to improve quality and drive business goals.
- Prefer an undergraduate Bachelor’s degree and 8 – 10 years of relevant industry experience • Proficient in C#, with a good knowledge of its ecosystems • Familiarity with the .NET framework 4.5 and newer • Strong understanding of object-oriented programming • Skill for writing reusable C# libraries • Familiar with various design and architectural patterns • Knowledge of concurrency patterns in C# • Familiarity with Windows Presentation Framework • Knack for writing clean, readable C# code • Understanding fundamental design principles behind a scalable application • Creating database schemas that represent and support business processes • Basic understanding of Common Language Runtime (CLR), its limitations, weaknesses, and workarounds • Implementing automated testing platforms and unit tests • Proficient understanding of code versioning tools (Git) • Familiarity with continuous integration • Familiarity with JSON serialization and deserialization with C# • Experience executing PowerShell scripts from C# a definite plus • Implement, test and operate advanced software security techniques in compliance with technical reference architecture • Perform on-going security testing and code review to improve software security
**Developer to assist with the following outcomes: **
- Improve security of in house C# based executable automation tool. • Build C# based automation tool that dynamically generates and securely executes PowerShell commands/scripts. • Build secure mechanism for collecting log files on an C# based executable program. • Devise a secure and efficient method of packaging and distributing a portable C# based automation tool. • Restructure/refactor C# based automation tool as needed to conform with best practices. • Build C# based automation tool that leverages WPF and conforms with MVVM design principles. This team primarily consist of field engineers that deploy the servers to customers. The team builds the tools to help automate the deployment of the servers and build configuration files to use automation in order to expedite the installations. Hardware engineers will write the hardware scripts but this role will be responsible for developing more of the generic parts of the applications.