Department ISD Services
Category Information Systems
City Oklahoma City
State OK
Travel
Involved
0-10%
Type of
Position
Full-Time

Software Developer/Engineer or Architect

AFA / ISD

Description:

***Developer***

Define system requirements and perform design and analysis, for AFA under the direction of senior team member

Develop, test, and assist in the implementation of programs according to specifications Perform routine maintenance and production support on applications. 

 

****Sr. Software Developer****

  • Analyze, architect, design, engineer, develop, test, and assist in the implementation of creative, innovative, and secure software applications, APIs, and web services according to business requirements and to solve business problems.  Understand the holistic overview of systems including the underlying application infrastructure, associated data models, and internal interactions within a particular software domain.  Perform software integration across domains, platforms, and environments.
  • Identify and correct software defects, assist business end-users with system capabilities and research, perform technical system configuration, and identify software deficiencies and alternate solutions for software applications. Partner with vendors for defect resolution as needed. Independently resolve issues of a high complexity.

 

  • Perform software development activities, research requests, and project management activities including planning, estimating, managing, communicating, and coordinating large software development projects and activities of high complexity for new software or enhancements to existing software.  Collaborate with business end-users to define requirements and acceptance criteria for new features or systems and assist business end-users with navigation of IT processes as needed.

 

****Software Engineer****

  • Analyze, architect, design, engineer, develop, test (both Unit and Automated testing), and assist in the implementation of creative, innovative, and secure software applications, APIs, and web services according to business requirements and to solve business problems.  Understand the holistic overview of systems including the underlying application infrastructure, associated data models, and internal interactions within a particular software domain.  Perform software integration across domains, platforms, and environments. Break complex designs into a manageable approach that delivers business value on a timely basis.
  • Identify and correct software defects, assist business end-users with system capabilities and research, perform technical system configuration, and identify software deficiencies and alternate solutions for software applications. Partner with vendors for defect resolution as needed. Independently resolve issues of the highest complexity.

 

  • Perform software development activities, research requests, and project management activities including planning, estimating, managing, communicating, and coordinating large software development projects and activities of the highest complexity for new software or enhancements to existing software.  Collaborate with business end-users and other Colleagues as necessary to define requirements and acceptance criteria for new features or systems and assist business end-users with navigation of IT processes as needed. Provide mentoring for other project teams or individual team members.

 

 

*** Software Architect***

  • Provide architectural expertise across the software domain and its interaction with all other technical domains (e.g. data and infrastructure). Recognize potential reuse in the organization or in a specific application. 

 

  • Establish and maintain the overall software architecture for the organization. Evaluate technologies and unifying the digital plumbing (underlying technical infrastructure) across software domains. Establish software development standards and best practices. Mentor other developers on the risk and implications of architectural and design decisions.

 

  • Collaborate with business and IT to define the high level and detailed architecture of systems and break complex designs into a manageable approach that delivers business value on a timely basis. Provide digital plumbing and software project blueprints.

Requirements:

Python and Machine Learning a Plus

***Developer***

• Demonstrated understanding of software development

• Demonstrated knowledge of computer hardware , software, and development tools

• Experienced with software requirements, analysis, design, code, and test functions

• Intermediate written and oral communication skills • Intermediate collaboration skills • Ability to learn and adapt to a changing environment

• Skilled in organizationally accepted programming languages (e.g., C#, VB, PHP, COBOL, Natural, HTML, XML, CSS, C, C++, ASP)

• Commitment to meeting organizational and departmental goals and objectives • Understanding of organizationally approved project management methodologies (e.g., Agile/Scrum, Waterfall )

 

*** Sr. Software Developer ***

  1. High degree of expertise in organizationally accepted programming, scripting, and markup languages (e.g., C# .NET, JavaScript, React, Angular, T-SQL, HTML, XML, CSS, ASP .NET)
  2. High degree of expertise in the usage of tools used for software development (e.g., Visual Studio, Chrome Developer Tools, SQL Server Management Studio)
  3. High degree of knowledge of the principles and patterns of system design (e.g., MVC, MVVM)
  4. Strongly skilled in object-oriented design
  5. Strongly skilled in object relational mapping (ORM)
  6. Highly skilled in testing patterns (e.g., unit testing, inversion of control, dependency injection)
  7. Strongly skilled in the development of web services (e.g., SOAP and REST)
  8. Strongly skilled in the use of code repository tools such as GitHub
  9. Strongly skilled in the use of Continuous Integration technology using Jenkins
  10. Strong understanding of secure coding techniques and best practices
  11. Strong skill in software analysis, design, and problem resolution
  12. Strong understanding of web application architecture
  13. Strong understanding of the software development process
  14. Proven understanding of organizationally accepted technology standards
  15. Strong understanding of software development in a multi-platform environment such as Mac, Unix, and Microsoft
  16. High degree of understanding of hardware, storage, networking and other infrastructure and data components as it relates to software development
  17. High degree of understanding of organizationally approved project management methodologies (e.g. Agile/Scrum, Waterfall)

 

****Software Engineer***

  1. Expert in organizationally accepted programming, scripting, and markup languages (e.g., C# .NET, JavaScript, T-SQL, HTML, XML, CSS, ASP .NET)
  2. Expert in the usage of tools used for software development (e.g., Visual Studio, Chrome Developer Tools, SQL Server Management Studio)
  3. Expert knowledge of the principles and patterns of system design (e.g., MVC, MVVM)
  4. Expert in object oriented design
  5. Expert in object relational mapping (ORM)
  6. Expert in testing patterns (e.g., unit testing, inversion of control, dependency injection)
  7. Expert with data analysis, test design, and test automation focusing on functional, security, performance and mobile testing.
  8. Expert ability to develop SOAP and RESTful web services
  9. Expert in the use of code repository tools such as GitHub
  10. Expert in the use of Continuous Integration technology using Jenkins
  11. Expert understanding of secure coding techniques and best practices
  12. Expert in software analysis, design, and problem resolution
  13. Expert understanding of web application architecture
  14. Expert understanding of the software development process
  15. Expert understanding of organizationally accepted technology standards
  16. Expert understanding of software development in a multi-platform environment such as Mac, Unix, and Microsoft
  17. Expert degree of understanding of hardware, storage, networking and other infrastructure and data components as it relates to software development
  18. Expert degree of understanding of organizationally approved project management methodologies (e.g. Agile/Scrum, Waterfall)

 

***Software Architect***

  1. Expertise in software architectures and concepts (e.g., messaging, persistency, n-tier, client-server, transactional behavior, two-phase commit)
  2. Expert understanding of utilized software tools (e.g., Visual Studio, Chrome Developer Tools, SQL Server Management Studio, SSRS)
  3. Expert understanding of integration between utilized software platforms and the associated interrelationships (e.g., Force.com, PeopleSoft, .NET)
  4. Understanding of cloud technologies and their application to the organization
  5. Expert knowledge of organizationally accepted programming, scripting, and markup languages (e.g., C# .NET, JavaScript, React, Angular, T-SQL, HTML, XML, CSS, ASP .NET)
  6. Expert in the principles and patterns of system design (e.g., MVC)
  7. Expert knowledge of object-oriented design
  8. Expert understanding of current database management systems.
  9. Expert understanding of object relational mapping (ORM)
  10. Expert understanding of testing patterns (e.g., unit testing, inversion of control, dependency injection)
  11. Expertise in Continuous Integration and source code management
  12. Expert understanding of secure coding techniques and best practices
  13. Expert understanding of enterprise level security concepts and implementations.
  14. Excellent analysis, interpretation and technical problem-solving skills.
  15. Expert understanding of software development in a multi-platform environment (e.g., Mac, Unix, Microsoft)
  16. Expert understanding of hardware, storage, network topologies and other infrastructure and data components as it relates to software development
  17. Strong understanding of organizationally approved project management methodologies (e.g., Agile/Scrum, Waterfall) and System Development Lifecycle (SDLC)

 

SOFT SKILLS

  1. Expert 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.
  2. Strong ability to articulate complex technical ideas and concepts appropriate to the audience (both technical and non-technical)
  3. Expert ability to deliver high-quality projects on time and within scope
  4. Possesses well-developed emotional intelligence, motivational, professional, and leadership qualities
  5. Positive attitude with the ability to work in ever-changing environment
  6. Proven commitment to meeting organizational and departmental goals and objectives
  7. Expert analytical, statistical, and organizational skills with strong attention to detail
  8. 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
  9. Thrives in a team environment and develops excellent relationships with others
  10. Strong ability and desire to mentor others