Back to Search Results

Sr. Software Engineer - Big Data 14824 Scottsdale, AZ 7/27/2021 3:44:00 PM

Application Development
Contractor - W2

Job Description

Sr. Software Engineer - Big Data
* Must have experience in Spark development and in Stream processing.
Overall Purpose
This position designs, develops, tests and maintains software product applications.
Essential Functions
    • Design, develop, document, test, and debug new and existing software systems and applications.
    • Serve as technical expert on development projects.
    • Drives full development life cycle including requirements analysis and design.
    • Write technical specifications based on conceptual design and stated business requirements.
    • Support, maintain, and document software functionality.
    • Identify and evaluate new technologies for implementation.
    • Analyze code to find causes of errors and revise programs as needed.
    • Drive software design meetings and analyze user needs to determine technical requirements.
    • Consult with end user to prototype, refine, test, and debug programs to meet needs.
    • Complies with all security policies and procedures, to ensure that the highest level of system and data confidentiality, integrity and availability is maintained.
Desired Skills
    • Ability to use Unix/Linux command line programs and create/edit scripts.
    • Able to analyze results of automated deployment scripts and makes modifications.
    • Able to prepare detail design documents from requirements.
    • Familiar with Reporting tools such as Crystal Reports, Jasper Reports, BIRT, etc.
    • General understanding of software environments and network topologies.
    • Able to demonstrate OOA/OOD skills.
    • Demonstrable understanding of distributed, component based architecture
    • Working knowledge of networking and/or telecommunications protocols
    • A solid understanding of event driven / asynchronous programming and multi-threading
    • Demonstrable technical design skills (UML experience a plus)
    • Familiar with TDD/BDD.
    • Familiar with SOA framework, web services, etc.
    • Common Developer Skills
                    - Competent (5+ years) Java or C# or C++ or Objective-C language programming skills.
                    - Competent with SQL or PL/SQL and relational database concepts.
                    - Experience with source code control systems.
                    - Experience with secure programming techniques is highly desirable
                    - Able to perform code reviews to ensure the code meets the acceptance criteria.
    • Able to maintain test scripts as needed.
    • Prepares test strategy, test plan, test cases, and test summary documents.
    • Experience with automated functional software testing frameworks, such as Cucumber, Selenium, etc.
    • Performs unit, functional, load, user interface, performance, regression and system integration testing on new code or modified code prior to production releases.
    • Produce and report project test metrics.
    • Possess advanced knowledge of QA/QC techniques; certifications preferred
    • Assists new staff on testing techniques and test methodologies
    • Responsible for responding to situations in a timely manner, and meeting predetermined deadlines
    • Ability to support/maintain existing products and add new features as requested by customers.
    • Central point of contact for support of UAT/production applications as needed
    • Keen troubleshooting skills across tiers/domains
    • Ability to work on multiple projects
    • Agile/Lean methodologies experience
    • Solid understanding of an iterative software development process
    • Able to guide the team to produce estimates for all project activities and tasks.
    • Responsible for eliciting user and functional requirements and ensuring they consistent and complete
    • Mentor and monitor Software Engineers in the technical aspects of their assignments.
    • Education and experience typically obtained through completion of a Bachelor’s Degree in Computer Science and/or 5 or more years of related industry experience.
Preferred skills:
    • Strong experience in the development of Data Warehouse, Big Data – structured & unstructured platforms, real-time & batch processing, data standards
    • Working experience in Kafka, KSQL, KStreams and connectors.
    • Good programming knowledge using  one or more languages in Scala, Python, PySpark, and Java
    • Experience in working with large volume of data in Spark and No-Sql/Sql databases.
    • Familiarity  with Microservice architecture, Spring boot, Kubernetes. Docker and PKS is a plus.
    • Ability to use Unix/Linux command line programs and create/edit scripts.
    • Domain knowledge of Banking and Finance industry is a big plus.
    • Knowledge of Aerospike , S3, Elastic Search
    • Knowledge in cloud infrastructure (GCP, AWS, Azure, etc.).
    • Knowledge in Monitoring and Alerting systems experience using tools such as AppDynamics, Prometheus, Grafana, Kibana.
    • Knowledge of mature engineering practices (CI/CD, testing, secure coding, etc) using GitLab, Ansible and Harness

Job Requirements

* Must have experience in Spark development and in Stream processing.
Preferred skills:
  • Recent programming experience in Big Data Platforms - Hadoop, Kafka, Scala and/or Spark