Senior Software Engineer at DHI Group, Inc.
Who are we?
We’re Dice, eFinancialCareers and ClearanceJobs, services of DHI Group, Inc. — where we're connecting futures now. We help connect professionals with the careers they want and companies with the talent they need, and we achieve this by providing online access to relevant and meaningful jobs, candidates, and insights within each of the communities we serve.
Why work with us?
We provide opportunities for you to contribute to our success, within a collaborative team where your opinion matters!
We challenge you to do exciting work while helping you grow your career!
We offer competitive pay, benefits and programs for you and your family to live healthy and secure!
We host social events for you to connect with others across our company and markets!
We serve the communities where we're located, and the causes important to you!
What is this opportunity?
Senior Software Engineer
We are looking for Senior Software Engineer to join our Talent Search software engineering team. This team is responsible for the people search functionality used by our customers thousands of times a day to find the very best candidates for their needs. We are constantly seeking out innovative ways to solve the difficult engineering problems. We work in a hybrid stack including C#, Angular and Python with heavy use of ElasticSearch. We are believers in using the right tool for the job and are always open to alternative technologies where it makes sense. You take pride in delivering innovative value and increased capabilities to the market, being a true software craftsman and have a passion for using technology to innovate.
- Participate in application design, development, automated testing, performance analysis, and deployment efforts of your team
- Perform code reviews to create more efficient, reusable and testable code
- Set a solid technical example and mentor less experienced team members
- Collaborate with the team to develop consistent and clear API specifications
- Help set the engineering direction of the product
- Work with Product Management to understand and solve business issues
- Actively contribute to and improve the team’s Agile practices
- Communicate project status to team members and business users
What are we requiring for this role?
- Required Knowledge, Skills and Attributes
- Understanding of algorithms, data structures, design patterns, and SOLID principles
- Understanding of distributed systems and Microservices architecture
- Strong testing skills including Unit, Integration, Performance, and end-to-end
- Strong verbal and written communication skills
- Effective time management skills
- 7 or more years’ experience analyzing, designing, coding, building, testing, and deploying commercial application systems in a business environment
- Extensive experience building RESTful API’s and integration systems with .NET. Experience building RESTful APIs using Python a plus.
- Excellent understanding of databases including NoSQL (MongoDB, Dynamo preferred), Redis/Memcached)
- Experience with search technologies including ElasticSearch (preferred), SOLR, or Lucene including setup, configuration, relevance tuning
- Experience with AWS (EC2, DynamoDB, Lambda, API Gateway, CloudWatch, etc.) preferred
- Experience with CI/CD tools (AWS Code*, Jenkins, etc.) preferred
- Experience with infrastructure as code using CloudFormation (preferred), Terraform, Puppet, Ansible, or Chef a plus
- Familiarity in machine learning algorithms such neural networks, NLP, classification, regression, clustering, etc. a plus
- Bachelor’s degree in Computer Science, MIS or a related field preferred
- Experience developing within an Agile environment