Santhosh - Java full stack developer |
[email protected] |
Location: Wilmington, Delaware, USA |
Relocation: YES |
Visa: GC |
Santhosh Kumar
Email Id: [email protected] Phone No: (972) 499 8088 PROFESSIONAL SUMMARY: With over 11 years of robust software experience, specialized in designing, developing, and deploying web-based and client-server business applications. Expertise lies in leveraging object-oriented programming principles, Core Java/J2EE technologies, and relational databases to create scalable and efficient solutions. Extensive hands-on experience in software development life cycle (SDLC) processes, including Waterfall, Agile Scrum, and Test-driven development methodologies. Demonstrating proven expertise in both UI and back-end technologies, excelling in utilizing Angular 14, 10, Node.js, Angular JS, React JS, HTML5, CSS4/3, jQuery, AJAX, TypeScript, Bootstrap, and JavaScript for front-end development. Additionally, possessing a strong command of back-end technologies including Java 17/11, Java 8, J2EE, Spring, and Hibernate. Expertise in React.js and numerous predefined components from NPM (Node Package Manager), bower, and redux framework for dependency management, front-end screens were implemented. Developed enterprise applications using NodeJS, Express Framework for server-side code, MongoDB for database operations, and ReactJS for front-end web pages. Skilled in employing UI testing frameworks like Karma, Jasmine, and Protractor for Angular JS, alongside Mocha and Chai for React JS and Backbone JS in web application development. Skilled in Java 17 for maximizing application performance, security, and maintainability, alongside adept use of Java 8 to ensure cross-compatibility and optimize legacy code. Extensive knowledge in developing applications using core Java concepts and experience in working with Core Java SE 8 features like Lambda functions, Stream API, Time API, and Generics. Excelled as a Java Full-stack Subject Matter Expert (SME), adept in developing Enterprise Applications using Java J2EE technologies- JSP, Servlets, Enterprise JavaBeans, RESTful Web Services, JDBC, JMS, and SOA. Proficient in utilizing a variety of Spring frameworks including Spring MVC, Spring IOC, Spring REST, Spring AOP, Spring transaction management, Spring Data, Spring DAO, Spring Batch & Boot, and Spring Security. Implementing JDBC and ORM frameworks like Hibernate or JPA to interact with relational databases from Java backend code. Written SQL queries and used ORM query languages to perform CRUD (Create, Read, Update, Delete) operations on database tables. Integrating NoSQL databases like MongoDB, and CassandraDB into Java applications for scenarios requiring flexible schema or high scalability. Experienced in creating dashboards, and reports using BackboneJS. Knowledge of messaging queue services like Apache Kafka, IBM MQ, Rabbit MQ, and Active MQ. Employing AWS services including EC2 instances, S3, EBS, ELB, API Gateway, DyanmoDB, CloudFront, Auto Scaling, Elastic Beanstalk, VPC, CloudWatch, CloudTrail, RDS, SNS, and SQS. Experienced in utilizing Docker Compose to efficiently define and manage containerized applications, leveraging YAML-based configuration files to specify services, networks, and volumes. Using frameworks such as JUnit, TestNG, and Mockito tools, expertise lies in writing unit tests and integration tests to check database interactions. This allows for comprehensive testing of individual code units in isolation, verifying functionality and behavior in a controlled environment. Established CI/CD pipelines with GitLab CI and Jenkins to automate Terraform configuration deployment under version control within the infrastructure ensuring efficient collaboration and code management. Proficient in leveraging Kubernetes for streamlined deployment and scalability of Java applications, ensuring optimal resource utilization and high performance in dynamic environments. Proficient in Git version control ensuring efficient collaboration, code management, and version tracking in complex Java development projects. TECHNICAL SKILLS: Category Technologies Languages Java 17.0/14.0/11.0/8.0, Java/J2EE, Scala, SQL and PL/SQL Frameworks Spring 4.x/3.x/2.x, Hibernate 4.0/3.0. , Struts, JSF, ORM. Web Technologies HTML/XHTML/HTML5, CSS/CSS4 Servlets, jQuery, Angular 14/10/6/4/2/js, NodeJS, ReactJS, Bootstrap, Angular JS, Vue.Js, React Native. Cloud Environments AWS (EC2, S3, Simple DB, RDS, Elastic Load Balancing, Lambda, DynamoDB, SQS, IAM, CloudWatch, EBS, CloudFront), Azure, GCP (Google Cloud Platform). IDEs Eclipse, NetBeans, Spring Tool Suite (STS), IntelliJ 14.x/15.x Message Brokers Apache Kafka, Rabbit MQ, Amazon MQ. Database Oracle 11i/11g/10g/9i/8i, SQL Server, MySQL (5.7), DB2(11.1), MongoDB and Cassandra, PostgreSQL. Web Services RESTful, Soap Ui, GraphQL. Scripting Language JavaScript, Ajax, Shell Script. Build Tools ANT, Gradle and Maven 3.x, Hudson 3.x, Jenkins 2.x. Testing Frameworks Junit, Selenium, Jasmine, Karma, Protractor, Mocha, Chai. Operating System Windows, Unix, Linux, and macOS. Version Control JIIRA, CVS, SVN, GitHub, Subversion, GIT. Others AXIS, SOAP, RESTful, JAX-RPC, JAX: RS, JAX-WS, WSDL, JAX-P, JAX-B. PROFESSIONAL EXPERIENCE: Client: Edward Jones, St. Louis, MO Aug 2022 to Present Role: Sr Java Full Stack Developer Responsibilities: Actively engaged in the entire development lifecycle, employing Agile methodologies such as TDD (Test-Driven Development) Scrum for Analysis, Design, Development, System Testing, and User Acceptance Testing. Developed responsive web applications using HTML5, CSS3, and SASS, improving user engagement and accessibility. Implemented modular CSS architecture with SASS, reducing code duplication and improving code organization for scalable and maintainable front-end projects. Utilized popular JavaScript frameworks and libraries like Angular to build scalable and maintainable front-end architectures, facilitating the development of rich and interactive user interfaces. Integrated Angular 14 performance enhancements, encompassing tree-shaking, lazy loading, and ahead-of-time (AOT) compilation, to enhance web application load times, diminish bundle sizes, and elevate the overall user experience. Implemented client-side form validation and error handling using Angular and built-in form controls and validators. This ensured data integrity and provided users with immediate feedback on input errors To increase the readability and management of code in backend development, Java 17 features such as pattern matching for switch statements and sealed classes/interfaces were used. Utilized Java 17, including performance gains and garbage collection optimizations, to guarantee the smooth running of Java programs in production settings. Developed message-driven beans to process asynchronous messages from Java Message Service (JMS) queues and topics, enabling scalable and decoupled communication. Achieved significant performance improvements and reduced memory usage by optimizing code and utilizing new enhancements introduced in Java 11. Implemented new language features such as local-variable syntax for lambda parameters (var), enhanced APIs, and improved garbage collection for better performance and maintainability. Leveraged new methods and enhancements in Java 11 to streamline development processes, such as the new HTTP Client API and the java.nio.file.Files class. Implemented Node.js for its non-blocking, event-driven architecture, perfect for handling multiple simultaneous connections. This was essential for our application, where users could interact in real-time, editing documents collaboratively and receiving live updates. Utilized Express.js, a Node.js framework, developed RESTful APIs to handle data operations, and integrated these with a MongoDB database. Node.js's asynchronous capabilities ensured that our API calls were handled efficiently, providing a smooth user experience even under high load. Extensively utilized Spring Boot in developing multiple enterprise applications, integrating it with Spring MVC framework, Hibernate framework, and RESTful web services. Leveraged Spring Boot for implementing IOC (Inversion of Control), AOP (Aspect-Oriented Programming), and ORM (Object-Relational Mapping) functionalities alongside Spring and Hibernate for efficient backend development, including interaction with MongoDB databases. Integrated Hibernate seamlessly with Spring Framework and Java Persistence API (JPA) to build enterprise-grade applications. Leveraged Spring's transaction management, dependency injection, and AOP (Aspect-Oriented Programming) capabilities to enhance application scalability, modularity, and maintainability. Conducted a comprehensive assessment of the existing WebLogic-based application to identify dependencies, performance bottlenecks, and compatibility issues with AWS services. Developed strategies and tools for migrating application data to AWS storage services (e.g., S3, EBS) and synchronizing data between on-premises and AWS environments during the migration phase. Utilized AWS services like EC2 for hosting Java applications, S3 for storing application data, RDS for managing databases, Lambda for serverless functions, ECS/EKS for container orchestration, and API Gateway for creating APIs, enabling seamless integration and deployment of Java-based applications. Implemented real-time data processing pipelines using AWS Lambda for ingesting, transforming, and analyzing streaming data. Used Lambda functions to handle data ingestion, perform data enrichment, apply business rules, and trigger downstream actions based on data events. Adopted Kubernetes to implement a microservices architecture for the project. Decomposed monolithic applications into smaller, independently deployable microservices, each encapsulated within a container. Used Kubernetes to manage the lifecycle of microservices, including deployment, scaling, and service discovery. Implemented JWT-based authentication and role-based access control, securing API endpoints and user data. Managed user roles and permissions to ensure secure access control across the application. Utilized Docker, Jenkins, and GIT for Continuous Integration/Continuous Deployment, ensuring seamless deployment of applications to AWS cloud infrastructure. Implemented continuous monitoring and performance tuning of RabbitMQ instances to ensure high availability and optimal throughput. This includes setting up metrics, logging, and alerts and performing regular assessments to scale the RabbitMQ infrastructure, manage load balancing, and optimize resource allocation to meet evolving project demands. Implemented GraphQL subscriptions to enable real-time updates and notifications for clients, allowing them to subscribe to data changes and receive push notifications when relevant data is updated, ensuring a responsive and interactive user experience. Implemented query batching and caching strategies using DataLoader and Apollo Client to reduce round-trips to the server and improve overall application performance. Leveraged tools like GraphQL Playground and GraphiQL for API exploration and testing, enhancing developer productivity and debugging capabilities. Utilized JSON (JavaScript Object Notation) for data interchange and application storage. Effectively parsed JSON data from external APIs and server responses, transforming it into JavaScript objects for consumption within the application. Usage of libraries like Apache Spark, which provides a Scala API, was instrumental in efficiently processing large volumes of data. Especially, Spark's distributed computing framework allowed us to parallelize data processing tasks across multiple nodes, enabling high-performance data processing. Utilized PostgreSQL to design and implement database schemas that accurately represent the project's data model. Defined tables, columns, constraints, indexes, and relationships to organize and structure data efficiently, ensuring data integrity and consistency. Implemented backup and disaster recovery strategies to safeguard data integrity and ensure business continuity. Utilized PostgreSQL's built-in backup and restore utilities such as pg_dump, pg_basebackup, and WAL archiving, along with third-party backup solutions, to create regular database backups and implement recovery procedures in case of data loss or corruption. Adopted a hybrid database strategy, using MongoDB for unstructured data, benefiting from its document-oriented model, and MySQL for structured data, ensuring transactional reliability and adherence to relational integrity. This approach effectively met our diverse data needs, blending the flexibility of NoSQL with the robustness of SQL for comprehensive data management. Environment: Agile Methodologies, Java 17, HTML5/CSS4, Angular 14, Node.Js, JavaScript Frameworks, Spring Boot, Microservices Architecture, Quarkus, AWS Services (EC2, S3, RDS, Lambda, ECS/EKS, API Gateway), Docker, Kubernetes, Jenkins, GIT, (CI/CD), Junit, Selenium, GraphQL, Oracle, PostgreSQL, MongoDB, Hibernate, RESTful Web Services, RabbitMQ, ApacheSpark. Client: Safeway Pleasanton, CA Arp 2020 to July 2022 Role: Java Full Stack Developer Responsibilities: Spearheaded Agile (SCRUM) development methodologies to ensure seamless collaboration between cross-functional teams and delivered continuous updates to the business team. Crafted dynamic and cross-browser compatible web pages using HTML5, CSS3, and JavaScript, ultimately elevating user experiences and fostering heightened engagement on digital platforms. Utilized React declarative approach to building user interfaces, enabling efficient development and maintenance of complex UIs by abstracting the underlying DOM manipulation. Implemented React 17 declarative paradigms for UI development, abstracting DOM manipulation complexities, thereby streamlining the creation and maintenance of intricate user interfaces efficiently. Implemented client-side form validation using JavaScript frameworks like jQuery, ensuring data integrity and providing users with immediate feedback on input errors. Employed state management libraries like Redux in conjunction with React components to manage complex application states, facilitating efficient data flow and enhancing scalability. Utilizing SSR frameworks like Next.js, enhanced initial page load times, and optimized search engine optimization (SEO) for React applications, while also developing reusable UI components and libraries using the React composition model to ensure consistency and efficiency in UI development. Integrated Server-Side Rendering (SSR) in React.js by collaborating closely with both frontend and backend teams to seamlessly process Java-based backend services. This initiative significantly enhanced the SEO performance of web applications by ensuring efficient data fetching and rendering of dynamic content. Implemented React Hooks (useState, useEffect, useContext,) to write functional components with local state and side effects, improving code readability and reducing boilerplate. Leveraged Node.js's asynchronous programming model and event loop to handle concurrent requests and I/O operations efficiently. Used callbacks, Promises, and async/await syntax to manage asynchronous tasks and avoid blocking the event loop, ensuring responsiveness and scalability of the application. By leveraging the Switch Expressions feature of Java 14, I elevated network performance, leading to accelerated data transfers and heightened user satisfaction through improved efficiency. Enhanced security measures by harnessing the helpful NullPointerExceptions feature in Java 14, thereby ensuring the secure transmission, and maintaining the integrity of sensitive data throughout the data exchange process. Leveraged new APIs introduced in Java 11, such as the HttpClient API, to simplify and enhance HTTP communication in applications. Utilized Java 11 s improved security features, including TLS 1.3 support and enhanced cryptographic algorithms, to secure applications. Employed Java 11 s new diagnostic tools and JVM enhancements to monitor and optimize application performance. Integrated EJB security with Java Authentication and Authorization Service (JAAS) to enforce authentication and authorization policies. Demonstrated expertise in Spring Framework, Spring Boot, Spring Security, and Spring Batch ensuring the delivery of Java applications characterized by robustness and scalability, contributing to the development of software solutions. Proficiently applying Spring Security, implemented robust OAuth2.0 authentication and authorization protocols, ensuring secure safeguarding of API access and establishing a resilient and protected system architecture. Demonstrated expertise in object-relational mapping (ORM) frameworks to facilitate efficient and seamless interactions with databases, encompassing a comprehensive range of database management tasks. Proficient in optimizing Quarkus applications for performance and resource utilization, including minimizing memory footprint and startup time, thus ensuring high responsiveness and reliability. Leveraged Azure DevOps for flexible CI/CD workflows, including parameterization, job triggering, and conditional execution, tailored to project requirements. Designed and implemented ETL (Extract, Transform, Load) processes using Azure Data Factory to automate data workflows, significantly reducing data processing time and improving efficiency. Employed Azure App Service for scalable and durable cloud-native application design and deployment, leveraging services like Azure Storage, Azure SQL Database, Azure Functions, and Azure Active Directory. Harnessed Azure Event Hubs for high-speed data processing, caching, and distributed database management. Efficiently managed container images by overseeing Azure Container Registry, ensuring the streamlined storage, seamless sharing, and effective deployment of containers, contributing to an optimized containerization workflow. Proficient in dependency management using Apache Maven, simplifying project setup and reducing manual configuration overhead. Skilled in automating build processes, including compiling source code, running tests, generating reports, and packaging artifacts (JAR, WAR) using Maven's build lifecycle phases. Secured RESTful web services using authentication and authorization mechanisms to protect sensitive resources and enforce access control policies. Implemented authentication schemes such as HTTP Basic Authentication, OAuth, JWT (JSON Web Tokens), or API keys to authenticate clients and authorize access to protected resources. Skilled in build automation using Apache Ant, orchestrating tasks such as compilation, testing, and packaging in Java projects. Proficient in defining build scripts (build.xml) to specify build targets, dependencies, and execution sequences using Ant's XML-based syntax. Implemented asynchronous processing using message queues like Kafka to offload time-consuming tasks from the main API thread, improving scalability and concurrency. Implemented CI/CD pipelines using Jenkins and GitLab CI, I automated the processes of building, testing, and deployment, thereby significantly enhancing the efficiency of the software development lifecycle. Effectively harnessed tools like Maven, Swagger, and Postman and integrated these elements throughout the entire software development process to enhance collaboration, efficiency, and the overall integrity of data interactions. Optimized query performance and managed increasing data loads in our project using MongoDB's indexing and sharding capabilities. Strategic indexing improved query execution speed, while sharding ensured scalable data storage, resulting in improved application responsiveness as data volumes grew. Leveraging MongoDB's powerful aggregation framework, we conducted complex data analysis and generated insightful reports directly within the database. This approach streamlined data processing, enabling real-time insights for informed decision-making. Utilizing NoSQL databases like HBase and MongoDB, we facilitated real-time data analytics in the project. We successfully upgraded our database infrastructure to enhance data processing and analysis capabilities, ensuring efficient handling of high-velocity data streams and adherence to industry standards. Environment: HTML5, CSS4, JavaScript, React, Java 14, Spring Boot, Hibernate, Microservices, Docker, Kubernetes, JMeter, Selenium, JUnit, Mockito, Maven, Swagger, Quarkus, Azure Services, AKS, Jenkins, GitLab CI, Docker Swarm, Git, RESTful services, Spring Framework, Spring Security, Spring Batch, MongoDB, Kafka, Log4j 2, Adapter pattern, ORM (Object-Relational Mapping). Client: Honeywell India Mar 2017 to Sep 2019 Role: Java Full Stack Developer Responsibilities: Applied Agile methodologies to lead cross-functional development teams, fostering a collaborative and adaptive environment. Successfully delivered high-quality software in iterative sprints, ensuring alignment with business objectives and efficient response to changing requirements. Expertly implemented RESTful APIs using JAX-RS, facilitating seamless communication between frontend and backend systems. Applied advanced web technologies including HTML5, CSS3/4, JSON, and WebSocket to create responsive and interactive user interfaces, enhancing overall user experience. Spearheaded the development of modern and scalable user interfaces using ReactJS frameworks, leveraging TypeScript to ensure robust and maintainable code. Integrated these technologies seamlessly with Java backend systems, delivering responsive and feature-rich applications. Proficient in utilizing React ecosystem libraries and tools such as React Router for client-side routing, React Hooks for managing component state and lifecycle, and CSS-in-JS solutions like Styled Components or Emotion for styling. Showcased expertise in leveraging various Spring Boot frameworks, including Spring MVC for robust web applications, Spring Data JPA for efficient data access, and Spring Security for secure authentication and authorization. Implemented Microservices architectures, enhancing the scalability and maintainability of Java applications. Expertly implemented messaging solutions utilizing Apache Kafka, demonstrating proficiency in real-time event-driven architectures. Designed and integrated message queues to ensure reliable communication between distributed systems, contributing to scalable and efficient Java applications. Orchestrated Google Cloud Platform (GCP) services such as Compute Engine, Cloud SQL, Cloud Storage, and Cloud Functions to architect and deploy resilient, scalable, and cost-effective Java applications, ensuring optimal performance and reliability for enhanced development. Implemented best practices for resource provisioning, autoscaling, and load balancing within GCP, optimizing performance and ensuring high availability for Java applications deployed on the platform. Proficiently managed source code repositories using Git, ensuring collaborative development and code integration. Applied branching strategies and conducted code reviews, contributing to an organized development process. Implemented automated build and deployment pipelines using Jenkins. Collaborated with GitLab CI/CD to orchestrate efficient testing and deployment processes, enhancing development speed and code quality. Applied advanced skills in database management, specializing in Oracle 12c/11g. Successfully designed and optimized complex SQL queries, maintained data integrity, and ensured high-performance database operations. Monitored PostgreSQL replication performance and health using tools like pg_stat_replication and pg_stat_activity, proactively identifying replication lag, connectivity issues, or data inconsistencies and taking corrective actions to maintain system reliability. Skilled in configuring and managing PostgreSQL replication setups, including synchronous and asynchronous replication, failover mechanisms, and automatic failback strategies, to achieve robust and reliable database deployments. Environment: RESTful APIs, JAX-RS, HTML5, CSS3/4, JSON, WebSocket, ReactJS, Angular frameworks, Spring Boot, XML, Struts, Hibernate, JPA, OpenShift, Oracle 12c/11g, Apache Kafka, Junit, Maven, GCP Services, Git, Jenkins, GitLab CI/CD, PostgreSQL, MongoDB. Client: KPMG India Nov 2015 to Feb 2017 Role: Jr Java Full Stack Developer Responsibilities: Envisioned and realized visually striking, responsive web pages by seamlessly blending HTML, CSS, JavaScript, and Bootstrap, consistently delivering engaging user interfaces that propelled startup ventures to success. Pioneered the end-to-end development lifecycle of dynamic web applications, leveraging mastery in Angular 2 to deliver modern, responsive interfaces that captivated and engaged users. Demonstrated adeptness with legacy technologies by skilfully crafting interactive and immersive web experiences using AngularJS, showcasing adaptability and a commitment to user-centric solutions. Orchestrated seamless transitions, expertly migrating legacy AngularJS projects to the contemporary Angular framework, propelling projects to new heights of functionality and user satisfaction. Exhibited a proactive attitude towards continuous growth, effectively mastering tools like Spring, which elevated development prowess and significantly enriched project outcomes. Displayed a firm grip on Java programming, seamlessly applying object-oriented principles including classes, inheritance, polymorphism, and encapsulation to engineer robust and adaptable applications. Spearheaded efficient workflows by harnessing the power of Apache Maven, effectively automating build processes, managing dependencies, and fostering a cohesive development environment. Leveraged Azure DevOps for streamlined project management and collaboration, utilizing its features for version control, continuous integration, and continuous delivery (CI/CD), thereby enhancing team productivity and ensuring seamless deployment of web applications on Azure cloud infrastructure. Played a pivotal role in portal design and significantly contributed to UI/UX proof-of-concept initiatives, refining interfaces to seamlessly align with user expectations and industry standards. Leveraged the agility and efficiency of IntelliJ IDE to consistently deliver rapid and reliable application development and deployment that flawlessly met project objectives. Integrated MySQL with Spring Boot applications, utilizing Spring Data JPA to facilitate efficient data access and manipulation, thereby improving the overall productivity and maintainability of Java-based projects. Demonstrated a robust foundation in working with relational databases, particularly MySQL, adeptly handling schema design, table creation, and query optimization to drive data-centric solutions. Environment: Angular 2, AngularJS, Spring, HTML, CSS, JavaScript, Bootstrap, Eclipse IDE, Java programming, Object-oriented programming (OOP) principles, Apache Maven, Core Java, Client-side, and server-side validation strategies, UI/UX design, IntelliJ IDE, MySQL, Azure Services. Client: AIG Life Insurance India June 2012 to Oct 2015 Role: Software Developer Responsibilities: Facilitated the software development process by thoroughly understanding functional specifications, analyzing user requirements, and translating them into comprehensive technical design documents outlining system architecture, components, data models, and implementation strategies. Developed a dynamic and interactive user interface for web applications using a combination of HTML5, CSS, JavaScript, jQuery, JSTL, and JSPs, ensuring a seamless user experience and efficient client-server interaction. Extensively worked with core Java collections, Threading, Exceptions, String Builder, Interfaces, etc. And used Streams and Lambda expressions in Java to store and process the data. Implemented dependency injection in the application by creating and injecting Spring Services, Controllers, and DAOs to manage object wiring. Employed Spring Boot MVC with Hibernate to develop beans derived from existing parent beans, facilitating connectivity with Microsoft SQL Server. Modified the Controllers and Services classes to support the basics of the Spring framework. Created logical and physical data models for practice, concepts of normalization, and RDBMS. Employed Jenkins for automated build and deployment, while adhering to Test Driven Development (TDD) by creating detailed JUnit test cases before functionality implementation, ensuring robust and efficient software delivery. Utilized SQL for JDBC, crafting prepared statements to efficiently retrieve data from the database. Employed Oracle SQL Developer to compose queries and procedures, ensuring optimized database interactions and seamless data retrieval. Implemented prepared statements in the project's database interactions, utilizing placeholders for parameters to ensure user input is treated as data, thereby mitigating the risk of SQL injection attacks and enhancing overall security and data integrity. To develop and debug application codes, used Rational Application Developer which is based on Eclipse. To generate run-time logs, used Log4j utilities. For checking project management and version management by using SVN. Used WebSphere 7.0 application server for deploying the application. Environment: TDD, HTML5, CSS, JavaScript, jQuery, JSTL, JSP, Java 8, Spring Services, Spring Boot, Hibernate, SQL, RDBMS, Junit, Eclipse, SVN, Log4j, WebSphere 7.0. Keywords: continuous integration continuous deployment user interface user experience message queue javascript sthree database information technology procedural language California Idaho Missouri |