Java Technical Lead
North Chicago, IL
Job Description:
LocalsPreferred
Description:
- Required: Technologies/Working Knowledge: n-tier application architecture, COTS (vendor application) and SaaS models with interfaces; web service integration; solid understanding of a programming/scripting language (e.g., Java).
- Experience working with and applying best practice design patterns for system integrations. Strong ability to analyze overall architecture of systems, including hardware and software requirements, and identify solutions for solving technical problems. Knowledge of different database types, (e.g. relational, NoSQL, and distributed storage environments.
- Continuous Integration/Continuous Development (Development Operations) methods.
- Cloud services (Amazon Web Services, Azure) methods/capabilities, including container technologies.
- Experience working with Commercial Off-the-Shelf (COTS) products. Experience of implementing and deploying COTS software
Requirements:
- Senior technical lead and principal designer for application development or package selection and implementation efforts.
- Provides comprehensive consultation to business units and IT management and staff at the highest technical level on all phases of application programming and process implementation for diverse development platforms, computing environments (e.g. host based, distributed systems, client server, software, hardware, technologies and tools, etc.).
- Responsible for translating functional specifications into application design specifications, including but not limited to the creation of application architectures, hardware and software configuration specifications, relational database schemas, and component/class specifications.
- Interact closely with the Business Systems Analysts, the client user community, and IT management and staff to identify technical solutions, or a combination of available alternatives.
- Coordinates and facilitates application design sessions with development staff.
- Reviews all technical aspects of a software implementation effort, including the monitoring of technical deliverables for consistency and quality.
- At least eight, typically ten or more years of solid, diverse work experience in IT with a minimum of six year experience in application development using structured methodologies, or its equivalent in education and work experience (total combined experience 8 -12 years).
- Requires in-depth knowledge of systems development life cycle, client area’s functions and systems, and technological alternatives in application design and development.
- Must be competent to work at the highest level of all phases of system modeling and implementation.
- Requires excellent communication skills, analytical ability, leadership skills, judgment and the ability to work effectively with client and IT management and staff.
- Demonstrate proactive, positive, and open communication to promote a productive, team-oriented work environment
- Execute all assigned project tasks and responsibilities with consideration to the quality, completeness, and timeliness of all activities and deliverables.
- Modify behavior and priorities to respond effectively to changes in work environment or assigned activities.
- Understand the current and future business process.
- Lead the design and development of technical work products and provide technical direction in all phases and streams of activity within the project lifecycle.
- Think globally to ensure the overall technical solution integrity and vision for the project, considering new possibilities for technical solutions.
- Follow appropriate Client’s standards, processes and procedures, industry best practices (i.e., system architecture designs, and technical “sphere of influence”.)
- Experience in making presentations
Additional Notes:
- The candidate needs to be proficient with the Java programming language and with how Java-based applications are designed. A majority of applications we deploy are written in the Java language, so this is a requirement.
- Additionally, a majority of the server-side operating environment is the Linux operating system, so being proficient with Linux at a basic-to-intermediate level is a requirement. Java deployed on Linux is a very common application paradigm we see.
- From a coding point of view, the candidate will do very little Java coding themselves, but will need to interface with developers who are doing the coding and will also need to conduct code reviews. So, at least an intermediate level understanding of the Java programming environment (and not just the language) is required.
- If the candidate does do any coding work, it will be in a scripting language like Python or Javascript, so proficiency in any scripting language (Python, Javascript, Ruby, Perl, PHP, etc.) is a nice to have skill.
- We do see applications written in the Microsoft development environment (Windows OS, .Net framework, C#/VisualBasic language, etc.), so being conceptually familiar with the Microsoft environment is a strong nice to have skill
- We are increasingly deploying to cloud-based infrastructure, so knowledge of the cloud and what it means to have ‘infrastructure-as-code’ is a strong preferred (almost required) skill. By the next year, this will be a required skill at Client’s.
- Expectation that a candidate will be able to follow Client’s standards, processes and procedures if he/she is hired.
- We are looking for candidates that have experience, in general, with software development and deployment lifecycle experience. It does not need to be specific to Client’s SLC process.
- This is a preferred skill and not a required skill, however, any experienced technical lead or architect candidate should have knowledge of software lifecycle concepts.
- Additionally, we are increasing adopting automated ways to manage and deploy software and understanding DevOps capabilities and technologies and how it relates to software lifecycles is a preferred skill
- At Client’s, most of our work is solution architecture work. We do very little application architecture work. So, ideally, we would like to see candidates that have stronger solution architecture experience over application architecture experience.
- With solution architecture, the candidate should be proficient with the leading application integration concepts and be able to create detailed system integration designs.
- What are the top 3 skills needed in the resume? …
- technical skills,
- problem solving skills and
- written and verbal communication skills
- Will you use these keywords to search/filter through resume? Here is a starting list: Java, J2EE, Tomcat, Weblogic, Linux, cloud, AWS, Azure, software lifecycle, problem solving, communication skills, devops, system integration, REST, SOAP, Web Services.
INTAKE NOTES:
Must have : experience on system development, configuration, implementation andsupport.
Ability to modify/develop applications written in .NET and/or Java
Minimum 3 years of experience in designing and implementing integrationsolutions.
Technologies/Working Knowledge: Web Service integration; Oracle database;
Key Skills:
- Experience working with Commercial Off-the-Shelf (COTS) products. Experience of implementing and deploying COTS software.