Maintec Technologies
Onsite IT Software Engineer
Maintec Technologies, Peoria, Illinois, us, 61639
Onsite IT Software Engineer 4 (Java & AWS
This is a back-end Java role with AWS combination)
Location: Peoria, IL 61605
Hybrid: 1-3 days in the office
Monday- Friday; 1st shift
Job description:
The main function of a software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical software engineer research, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities:
Review and approve the modification of existing databases and database management systems. Instruct staff to write and code logical and physical database descriptions and specify identifiers of database to management system. Direct database development and approve project scope and limitations. Review project requests describing database user needs to estimate time and cost required to accomplish project. Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification, or disclosure. Approve, schedule, plan and supervise the installation and testing of new products and improvements to computer systems. Develop standards and guidelines to guide the use and acquisition of software and to protect vulnerable information. Skills: Verbal and written communication skills, problem solving skills, customer service and interpersonal skills. Expert ability to work independently and manage ones time. Expert mentoring skills necessary to provide support and constructive performance feedback. Expert knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery. Expert ability to troubleshoot issues and make system changes as needed to resolve issue. Expert knowledge of computer hardware and software. Knowledge of computer development software as it relates to systems, such as SQL, Visual Basic, etc. Education/Experience:
Bachelor's degree in computer science, software engineering or relevant field required. 8+ years' experience required. Position's Contributions to Work Group:
This position reports to Software Engineering Manager, as do other staff jobs in application and technical systems and programming sections. Responsibilities are within functional lines with individuals assisting in new program development and/or maintenance of existing mobile, WEB, Cloud, server, computing systems. Typical task breakdown:
Work as part of Agile team and participate in Scrum activities. Competent to perform all programming, development, integration and system administration assignments without close supervision. Designs, codes, tests, and debugs programs of high complexity. Configuration or customization of purchased software solutions with high complexity. Provides project management, programming, systems, and/or system administration leadership, guidance, and assistance to other team members. Works on more complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls. Works independently on complex processes and modules that may be used by one or more programs, systems or in support of infrastructure component change management. Develops major system modules, programs or infrastructure released based on requirements gathered from system customers. Performs integrated testing and customer acceptance testing of system components that requires careful planning and execution to ensure timely, quality results. Fully knowledgeable of programming languages appropriate to the platform supported, program design and specification development, programming logic, logic diagrams, system analysis techniques, testing, debugging, documentation standards, file design, storage, and internal systems. Performs integration tasks for in-house developed systems and/or purchased hardware and software solutions. Assists customers with documentation, training, and usability efforts. Education & Experience Required:
Bachelor's degree in computer science or Electrical engineering or related field, Plus 8+ years exp Master's degree plus 6+ years exp Technical Skills
(Required)
8+ years or more of software development experience or at least eight years of experience with master's degree in computer science or related field. 8+ years or more of experience in designing and developing software applications in Java or at least eight years of experience in Java with master's degree in computer science or related field. At least three year of experience developing in AWS: cloud formation templates, deploying ECS clusters, Lambda, Fargate, Amazon Elastic Search, S3. Strong understanding of IAM roles and policies. Relational and NoSql databases. Application architectural patterns, such as MVC, Microservices, Event-driven, etc. o Deploying software using CI/CD tools such as Jenkins, Azure Devops etc. o Deploying and maintaining software using public clouds such as AWS or Azure. o Working within an Agile framework (ideally Scrum) Strong understanding and/or experience in some of the following, o Batch or stream processing systems such as AWS SQS, AWS SNS, Kinesis. o Experience designing well-defined Restful APIs o Hands on experience with API tools such as Swagger, Postman and Assertible o Test driven development and behavior driven development. o Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines. o Datastores such as DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle. Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms.
This is a back-end Java role with AWS combination)
Location: Peoria, IL 61605
Hybrid: 1-3 days in the office
Monday- Friday; 1st shift
Job description:
The main function of a software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical software engineer research, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Job Responsibilities:
Review and approve the modification of existing databases and database management systems. Instruct staff to write and code logical and physical database descriptions and specify identifiers of database to management system. Direct database development and approve project scope and limitations. Review project requests describing database user needs to estimate time and cost required to accomplish project. Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification, or disclosure. Approve, schedule, plan and supervise the installation and testing of new products and improvements to computer systems. Develop standards and guidelines to guide the use and acquisition of software and to protect vulnerable information. Skills: Verbal and written communication skills, problem solving skills, customer service and interpersonal skills. Expert ability to work independently and manage ones time. Expert mentoring skills necessary to provide support and constructive performance feedback. Expert knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery. Expert ability to troubleshoot issues and make system changes as needed to resolve issue. Expert knowledge of computer hardware and software. Knowledge of computer development software as it relates to systems, such as SQL, Visual Basic, etc. Education/Experience:
Bachelor's degree in computer science, software engineering or relevant field required. 8+ years' experience required. Position's Contributions to Work Group:
This position reports to Software Engineering Manager, as do other staff jobs in application and technical systems and programming sections. Responsibilities are within functional lines with individuals assisting in new program development and/or maintenance of existing mobile, WEB, Cloud, server, computing systems. Typical task breakdown:
Work as part of Agile team and participate in Scrum activities. Competent to perform all programming, development, integration and system administration assignments without close supervision. Designs, codes, tests, and debugs programs of high complexity. Configuration or customization of purchased software solutions with high complexity. Provides project management, programming, systems, and/or system administration leadership, guidance, and assistance to other team members. Works on more complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls. Works independently on complex processes and modules that may be used by one or more programs, systems or in support of infrastructure component change management. Develops major system modules, programs or infrastructure released based on requirements gathered from system customers. Performs integrated testing and customer acceptance testing of system components that requires careful planning and execution to ensure timely, quality results. Fully knowledgeable of programming languages appropriate to the platform supported, program design and specification development, programming logic, logic diagrams, system analysis techniques, testing, debugging, documentation standards, file design, storage, and internal systems. Performs integration tasks for in-house developed systems and/or purchased hardware and software solutions. Assists customers with documentation, training, and usability efforts. Education & Experience Required:
Bachelor's degree in computer science or Electrical engineering or related field, Plus 8+ years exp Master's degree plus 6+ years exp Technical Skills
(Required)
8+ years or more of software development experience or at least eight years of experience with master's degree in computer science or related field. 8+ years or more of experience in designing and developing software applications in Java or at least eight years of experience in Java with master's degree in computer science or related field. At least three year of experience developing in AWS: cloud formation templates, deploying ECS clusters, Lambda, Fargate, Amazon Elastic Search, S3. Strong understanding of IAM roles and policies. Relational and NoSql databases. Application architectural patterns, such as MVC, Microservices, Event-driven, etc. o Deploying software using CI/CD tools such as Jenkins, Azure Devops etc. o Deploying and maintaining software using public clouds such as AWS or Azure. o Working within an Agile framework (ideally Scrum) Strong understanding and/or experience in some of the following, o Batch or stream processing systems such as AWS SQS, AWS SNS, Kinesis. o Experience designing well-defined Restful APIs o Hands on experience with API tools such as Swagger, Postman and Assertible o Test driven development and behavior driven development. o Hands on experience with testing tools such as Selenium and Cucumber and their integration into CI/CD pipelines. o Datastores such as DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle. Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms.