JOB SUMMARY
.NET Developers demonstrate the technical expertise to independently develop, maintain, and contribute to the design of solutions for complex software applications. The successful candidate will be able to build high-quality software in compliance with coding standards and technical design.
STATUS
- Salaried, Exempt (Full Time)
- Offshore / Onshore
KEY JOB RESPONSIBILITIES
- Participate in all team activities including sprint planning, story point estimation, sprint review, and sprint retrospectives in agile environments and system specification and scheduling for waterfall standards
- Contribute to the standards for software quality, testing and architectural practices
- Contribute to coding practices and processes for the development team
- Collaborate with the development team and stakeholders, providing technical leadership in coding activities
- Assume responsibility for resolving the most difficult system issues, including coding defects, performance problems, and missed requirements
- Lead code reviews and provide feedback for continuous improvement of application code.
- Contribute to and produce a significant portion of technical documentation
- Possess exceptional knowledge and understanding of at least one application domain, including web development, desktop applications, mobile applications, or embedded systems
- Integration of new technologies and skills necessary to remain current within application domains
- Automate all aspects of application build and deployment steps as part of DevOps
- Participate in code review for work from the other members of the development team.
- Work independently as required
Required
- Bachelor’s degree in Computer Science, Computer Engineering, Information Technology, Mathematics, or related degree. A combination of education, experience and training may be considered in lieu of a formal degree
- Minimum of 5 years of experience in an Application Developer role
- Experience working with Application Lifecycle Management tools (Atlassian Suite, TFS,)
- Evidence of strong analytical and troubleshooting skills driven by a logical, methodical approach
- Demonstrated strong verbal, written and presentation communication skills with the ability to communicate technical data to a wide variety of audiences
- Evidence of the ability to perform in a fast-paced, changing environment with multiple deadline-oriented projects
- Exhibit ability to learn new information and complex business functions and apply knowledge to new concepts and projects
- Strong experience developing solutions in at least one Object-Oriented programming language (Java, C#, C++, Python)
- Strong experience in supporting languages in a specific domain such as JavaScript, C, shell, PowerShell, etc.
- Experience with integrating third-party software
- Lead the development of build, deploy, and other automation scripts and software, including full DevOps processes from development to production.
- Experience with unit testing frameworks, including leading the development of automated unit tests
- Experience with databases and ability to write and execute SQL queries
- For web applications, a senior developer must have strong experience in:
- HTML 5
- Cascading Style Sheets (CSS)
- JavaScript
- Either a Microsoft/.NET stack including MVC or a full Java stack with supporting interface technology such as Java Server Pages, Java Server Faces, etc.
- An integrated development environment (IDE) appropriate to a particular stack such as Visual Studio, Eclipse, IntelliJ, etc.
- For desktop applications, a senior developer must have strong experience in a desktop framework such as WPF, Microsoft Desktop Bridge, etc.
- For Mobile apps, a senior developer must have strong experience in Objective C, Java for mobile applications, or a cross platform mobile development framework
- For embedded applications, a senior developer must have strong experience in:
- An embedded systems development toolset
- Building and deploying to systems such as flashing firmware
- Familiarity with core computer science and software design concepts such as:
- Computational complexity
- Design patterns
- Regular grammars
- Discrete mathematics
- Statistics
- Operating systems
- Networking
- Lead developer experience with software solutions in multi-user, complex, modular, software solutions
- Experience working in continuous integration environments
- Experience in Agile environments
- Experience with pair programming
- Experience with source control tools
- Experience with NoSQL technologies such as MongoDB, Hadoop, and Redis
- Experience building applications to run on premise, hybrid, and cloud native
- Experience building systems in compliance with security standards such as NIST, HIPAA, Nerc CIP, PCI, etc.
CORE COMPETENCIES
- Vision and Strategy – Supports Strategy and Vision and can clearly articulate to their team.
- Customer and Team Focus – Builds rapport within and between teams. Develops trusted relationships with customers up through the Director level.
- Effective Communicator – Able to convey technical concepts and rationale of ideas and decisions to teams with clarity in multiple ways.
- Adaptability – Able to respond to chaos and ambiguity within teams and between teams.
- Accountability – Owns problems, issues, and outcomes within their team. Holds self and others accountable for achieving team results.
- Collaboration – Works effectively within team and across teams to solve problems and solution opportunities.
- Critical Thinking – Examines issues, ideas, and situations to impact results and implement improvements.
MEASURED BY
Successful application and understanding of the core competencies. Feedback from others including staff, clients, members, and vendors
Minimum Environmental Expectations
This position will require working indoors. Typical workweek is eight (8) hour workdays, five (5) days per week with some weekend work, as well as longer hours as needed.