The Software Developer demonstrates experience in software development patterns, design patterns, and programming languages, participating in the development of scalable and secure enterprise software systems aligned with business goals.
They are responsible for providing support and troubleshooting for our software solutions. They work closely with all relevant subject matter experts, stakeholders, and other IT professionals to identify and resolve technical issues.
The Software Developer independently resolves complex issues and is proactive in identifying areas for improvement, developing solutions to address technical debt, and ensures that our software solutions are stable and performant within the software team.
Technical Skills:
Skilled in organizationally accepted programming, scripting, and markup languages , and frameworks (e.g., C#,.NET, .NET Core, Java, Swift, Kotlin, JavaScript, TypeScript, T-SQL, HTML, XML, CSS, Angular, ReactJS, ASP.NET, Python)
Skilled in the usage of tools used for software development (e.g., Visual Studio, Chrome Developer Tools, SQL ServerManagement Studio)
Knowledge of the principles and patterns of system design (e.g., MVC, CQRS)
Knowledge of object oriented design Understanding of object relational mapping (ORM)
Understanding of testing patterns (e.g., unit testing, inversion of control, dependency injection)
Familiar with data analysis, test design, and test automation focusing on functional, security, performance and mobile testing.
Ability to develop web services (e.g., SOAP and REST)
Knowledge of code repository tools such as SVN and GitHub
Knowledge of continuous integration, continuous delivery and source code management
For developers in specialized areas, additional technologies or toolsets may be used (e.g., Force.com, Eclipse, PeopleTools, XCode)
Understanding of secure coding techniques and best practices
Skilled in software analysis, design, and problem resolution
Strong understanding of web application architecture
Understanding of the software development process
Understanding of organizationally accepted technology standards Understanding of software development in a multi-platform environment such as Mac, Linux, and Windows
Understanding of hardware, storage, networking and other infrastructure and data components as it relates to software development
Understanding of organizationally approved project management methodologies (e.g. Agile/Scrum, Waterfall)
Skilled in full-stack development.
Knowledge of DevOps methodologies (e.g., automation, continuous feedback, quality signal)
Knowledge of machine learning/artificial intelligence concepts
Knowledge of code coverage tools
Skilled in database principles and at scripting SQL queries
Knowledge of test tools (e.g., Azure DevOps pipeline and test plans, xUnit, nUnit, Jmeter, Jasmine, Mocha, MOQ, TestComplete, SoapUI, and Selenium)
Knowledge of test design and test automation focusing on functional, secuity, performance, mobile, load and infrastructure/ workstation testing. Understanding of software testing best practices
Soft Skills
Good written and oral communication skills.
Must be able to communicate and collaborate with a wide variety of audiences such as other software developers, engineers, architects, business analysts, software testers, management, and business stakeholders
Ability to consistently deliver high-quality projects on time and within scope
Possesses well-developed motivational, professional, and leadership qualities
Positive attitude with the ability to work in ever-changing environment
Strong commitment to meeting organizational and departmental goals and objectives
Good analytical, statistical, and organizational skills with strong attention to detail
Inquisitive and proactive with an ability to work independently and a desire to continuously learn new skills and technologies; takes initiative and is a solution seeker
Thrives in a team environment and develops excellent relationships with others