Montana Veteran Jobs

facebook youtube linkedin
Mobile Montana Labor & Industry Mobile Logo

Job Information

State of Montana Software Engineer, Senior in Helena, Montana

OLIS is engaged in a few major projects. The first initiative replaces all the solutions that support the automation of Montana’s legislative process. The second converges many different technical solutions into the same technical stack. The third reduces the sprawl of solutions by integrating functionality. The fourth improves OLIS’s technical posture by implementing APIs for every piece of code we touch. The fifth reduces technical debt by using test driven development, in addition to having guidelines for unit and behavioral testing code coverage. The sixth establishes, or refines, standards and guidelines for internal and vendor code as OLIS matures it capabilities. This position is expected to engage with an established agile team(s) that is supported by dedicated DevOps and infrastructure engineers. In the near term, the position is responsible for solving issues and enhancing functionality with custom code. In a longer term, the position will assess quality of vendor code, deciding whether to accept the code or work with vendors to improve their quality. In either term, the position will integrate the code with OLIS’s ecosphere of APIs. The vision is to deliver all data and processing layer logic via API with Swagger style documentation so that DevOps can package our APIs into containers. We do have established pipelines and are far down the path of CI/CSD. The challenges OLIS face are: · current solutions are often tightly coupled with operating system and specific configurations of application servers or utilities; · we need to rapidly mature our automated unit and behavioral testing capabilities; · the sprawl of technologies and data provides a significant stream of maintenance and operations tasks; · past technical architecture decisions mean that refactoring activities are broad and deep; and, · there is a lack of documentation and knowledge of vendor-built systems. The team’s opportunities and benefits are: · we are considered as a strategic partner by our business partners, rather than a “keep the lights on” engine; · our agile process allows the team to identify and alleviate team challenges, with excellent support from management; · management supports product owner(s) and the team to set priority and schedule; · we have the luxury of driving our timeline, instead of being dictated dates; · it’s a great professional / private split; · Montana is a great place to live with four distinct seasons and a gigantic number of outdoor activities and attractions; · the position is extremely secure; and, · State benefits are pretty good – pension, health/vision/dental insurance, etc. ASSIGNED DUTIES AND TASKS: · Analyzes computer systems, user requirements, resolves problems, and provides implementation and maintenance support to users. Determines the nature and cause of production system failures and takes the necessary steps to resolve issues and problems. Maintains and supports legacy applications and systems as needed. · Designs, tests, modifies, and writes simple to complex software using micro and mini-service architecture. Prepares documentation including change control documents, technical manuals, user or operator instructions, and architectural diagrams. · Develops knowledge and understanding of customer’s business by studying documentation and interviewing personnel. Assists project team members with design tasks, which may include data structure design, system flow, and program specifications. Assists with analysis of requested modifications for existing systems, as well as analysis of incorporating new functions and procedures. · Designs, develops, and conducts training classes on software applications used by staff, including developing and writing class syllabus and user guide documentation. · Performs or recommends revision, repair, or expansion of existing computer programs to increase operating efficiency or adapt to new requirements. Carefully evaluates the interdependencies between the program to be modified and any other existing programs, database interfaces, re-usable code modules, department business practices, and user interactions. · Provides scoping and manages scope changes appropriately (including level of effort, time estimates and resource needs and impacts) on projects within an application group or division. · Leads complex and/or mission critical projects; determines assignments, work methods and standards for programmers and programmer analysts assigned to the project, including creating the work breakdown structures or detailed project plan within an agile framework; validates all work and provides guidance where necessary. Qualifications: * Substantial knowledge of the principles, practices, and procedures required to design, build and implement information systems. * Substantial knowledge of business application programming languages and program design techniques such as Spring Framework and Java. Substantial experience implementing unit and behavioral testing. Substantial knowledge of client/server and Internet technology, database solutions such as MS SQL. Practical knowledge of contemporary architectures and design patterns. Practical knowledge of continuous integration and continuous service delivery principles. Practical knowledge of current technology and methods and system development life cycle concepts – including the use of GitLab Agile and the agile development process. Ability to provide computer-based solutions using the full programming and configuration capability of computers with little need of direct oversight or guidance. Ability to recognize probable interaction of related computer systems and to predict impact of change on assigned system. Ability to work effectively as a programming team member or team leader. Bachelor’s degree in Computer Science or related field plus 5 years of relevant work experience, or an equivalent amount of education and experience Experience in the following applications or disciplines is desired: Java, Spring Framework, MS Office API, MS SQL, Oracle, PostgreSQL, Django, C#, Visual Studio, Python, PyCharm / IntelliJ, GitLab, SonarQUBE, REACT, PHP, WordPress development, and Docker. /This position is eligible for telework on a hybrid basis, the employee must reside in Helena and be able to come into the office on a routine basis (2 days a week in office required). During legislative session, 3 or more days a week in office will be required./ Title: Software Engineer, Senior Location: Helena Requisition ID: 24141701