ELEKS Software Engineering and Development Office is looking for Software Development Expert in our Chicago location
Our customer is one of the biggest insurance companies in the USA. In cooperation with the developing team, we will be working on the pipeline of POCs with the visual and data/modeling part. POCs are aimed at validating future products and services of the company.
Key Duties and Responsibilities
- Develop solutions and algorithms according to technical specifications or other requirements documentation; use standard algorithms in the applicable cases at the expert level.
- Possess profound knowledge and practical experience of software development methodologies (Waterfall, Agile, etc.).
- Structure and format the source code, comment and mark up the code, as well as name variables, functions, classes, data structures, and files according to the company conventions and industry best practices.
- Modify existing program code and test its availability. Analyze software code compliance with readability and performance standards.
- Implement version control system to log optimizations made in the code, as well as to merge and split source code entities. Commit changes according to version control rules.
- Perform analysis, verification, and debugging of the software code at the level of application units.
- Reproduce defects logged in an issue tracking system, identify defect causes, and then modify code to eliminate defects.
- Develop procedures for testing code availability, collecting diagnostic data, generating test data sets with necessary characteristics, identifying required software characteristics etc.
- Determine software product compliance with customer technical requirements.
- Collect and analyze results of software testing. Deliver correct interpretation of diagnostic data; analyze the significance of obtained software characteristics; document test results. Assess software product availability.
- Configure software parameters. Deliver proper documentation of performed actions and detected problems as well as provide possible solutions to the problems.
- Create applications and data backups and perform their recovery, if necessary; ensure software and data integrity.
- Develop, document, and edit programming interfaces, software modules and components assembling procedures, software deployment and update procedures as well as data migration and transformation (conversion) procedures.
- Assemble software modules and components into a software product; connect software product to an external environment. Test software product versions availability.
- Develop technical specifications for software components, and then coordinate their interactions with a project software architect.
- Develop, modify, and approve the software architecture with a project system analyst or/and a project software architect. Design data structures, databases, programming interfaces etc.
- Assess and approve task completion terms. Deploy standard solutions and design patterns. Communicate with stakeholders; receive high-level tasks, break them into elementary tasks, assign tasks to developers, and organize task execution and team interaction.
- Have valid competence-related certifications.
- Conduct and develop internal staff testing system (“matrix”), conduct preliminary interviews as an expert etc.
- Organize internal training as coaching or mentoring; organize external training (Academies) for students.
- Develop the company’s functional areas by engaging leading technology experts to share their experience.
- Distribute niche technologies for projects that need them, advise on and confirm the benefits of their implementation.
- Examine and consult other projects; prepare proposals for new projects, marketing Case Studies; provides consulting for other departments etc.
- Algorithmization methods and techniques, at the expert level
- Debugging methods and techniques, at the expert level
- Algorithms for solving typical tasks, fields and ways of applicability, at the expert level
- Software development methodologies, at the expert level
- Syntax of the chosen programming language, peculiarities of programming using this language, at the expert level
- Modern compilers, debuggers, and optimizers, at the expert level
- Typical bugs that appear in the process of software development, methods for their diagnostics and correction, at the expert level.
- Methods and techniques for software modules and components assembly
- Development methods and techniques for software deployment procedures, techniques for batch implementation of the procedures
- Capabilities of software and technical architecture. Capabilities of modern and advanced software development tools, technological tools
- Principles of software architecture construction and software architecture types
- Methods and tools for software engineering, database development, and program interface design
Skills and abilities
- Usage of methods and techniques to formalize and algorithmize the given tasks, usage of standard algorithms in the respective tasks
- Usage of the chosen programming languages and environments to write the program code
- Usage of methods and techniques to test software
- Ability to identify bugs in the code and correctly interpret bug reports
- Ability to apply methods and techniques to debug the code as well as use modern compilers, debuggers, and optimizers
- Usage of tools for collaborative work on the program code, usage of version control system for tracking applied changes
- Ability to implement methods and techniques of software modules and components assembly for software deployment, data migration, and conversion
- Ability to deploy existing standard solutions and software design patterns
- Implementation of methods and tools for software engineering, data structures, databases, and programming interfaces
- Good communication skills
- Good planning and organizing skills
- Upper-Intermediate level of English
- 5+ years of experience in software development (JS required)
- 1+ years of experience in technical leadership
- Experience in software architecture
- Initiative and pro-active position
- Sense of responsibility
- Attention to client
- Problem-solving skills
- Self-improvement potential
- Ability to work in team
- Ability to quickly learn new technologies
What will you get with ELEKS
- Above average compensation and competitive Social package
- Close cooperation with a customer
- Business trips
- Challenging tasks
- Competence development
- Ability to influence project technologies
- Projects from scratch
- Team of professionals
- Dynamic environment with low level of bureaucracy
- Medical insurance
ELEKS is a custom software development company. We deliver value to our clients, thanks to our expertise and experience gained from working as a software innovation partner since 1991.
Our 1,500+ professionals located in the Delivery Centers across Eastern Europe and sales offices in Europe and North America, provide our clients with a full range of software engineering services. These include product development, QA, R&D, design, technology consulting and dedicated teams.