PROFESSIONAL SUMMARY:
Senior Software/Data Engineer with 14 years of diverse experience in software development and data analytics across various domains. Expert in the complete software development lifecycle, delivering value-driven solutions that meet the industry's evolving needs. Proficient in both frontend and backend development, cloud computing, DevOps, Data Analysis, and Big Data technologies.
CORE COMPETENCIES:
Software Development Lifecycle: Comprehensive understanding from conceptualization to deployment and maintenance.
Web Application Development: Expertise in building intuitive user interfaces and scalable backend systems.
Core Java: Extensive experience in Core Java programming, with proficiency in multi-threading, reflections, data structures, generics, and a strong foundation in object-oriented programming principles(OOP).
J2EE Technologies: Extensive background in Java, Struts, Spring Framework, Spring Boot, and Hibernate for developing enterprise-grade applications.
Cloud Computing: Hands-on experience with AWS and Azure designing, deploying, and managing cloud-native applications.
DevOps Practices: Skilled in CI/CD pipelines, automation frameworks, and configuration management using Jenkins, Docker, Kubernetes, and Ansible.f
Database Management: Proficient with MySQL, Oracle, SQL Server, PostgreSQL, MongoDB, Hbase, and Cassandra for optimized performance and scalability.
Big Data Technologies: Deep understanding of Hadoop, Spark, Hive, Pig, Flink, Kafka, and Elastic Search for large dataset processing and analysis.
Data Analytics Tools: Python, Tableau, Power BI
Research on Big Data Analytics: Published multiple articles and papers, driving advancements in the field.
Contribution to Academic and Industry: Actively involved in syllabus drafting, teaching, and research activities of Big Data Technology for various universities for both Bachelor and Masters level
Leadership and Mentoring: Proven track record in R&D initiatives and mentoring junior team members.
Machine Learning: Skilled in TensorFlow, Keras, and Scikit-Learn, applying data-driven approaches to business problems.
Agile Methodologies: Dynamic communicator and Agile advocate with Scrum Master Certification.
Microservices Architecture: Experienced in developing scalable and resilient applications.
Frontend Technologies: Proficient in HTML5, CSS3, JavaScript, Angular, and React for seamless user experiences.
API Development: Expertise in REST and GraphQL for enhanced system interoperability.
Version Control Systems: Strong proficiency in Git and SVN for maintaining code integrity and collaboration.
Security Best Practices: Ensuring robust protection against vulnerabilities.
Performance Tuning and Optimization: Ensuring applications meet high standards of efficiency and reliability.
TECHNICAL SKILLS:
Programming Languages/ Technologies
C, C++, Java (J2SE/J2ME/J2EE), Python, C#.NET, Android, NVIDIA CUDA, MPI, Blockchain
Database
MYSQL, DB2, Oracle, SQL Server, PostgreSQL, MongoDB, HBase, Cassandra
Web
JavaScript, HTML, CSS, PHP, Servlet, JSP, AJAX, React JS, Angular
Server
Tomcat, JBOSS, Web Sphere
Development Tools
Eclipse, NetBeans, IntelliJ, IBM RAD, Visual Studio, VS Code, Android Studio, Anypoint Studio for Mule ESB
Framework
Spring, Spring Boot, Struts2.0, Hibernate, JUnit, Mockito, Hadoop, MapReduce, Spark, Mule ESB, Kibana ELK, Flink, Kafka
Operating System
Windows, Linux, Mac OS
Cloud Technology
AWS, Azure
Build Tool
Maven, Ant
Continuous Integration Tools
Bamboo, Jenkins
Code Review Tools
Crucible, Sonar
Web Services
SOAP, REST
Version Control
SVN, GIT
EDUCATION & CREDENTIALS:
Masters Of Science in Computer Engineering, IOE - Tribhuvan University, Nepal 2014
Bachelors in Computer Engineering, IOE - Tribhuvan University, Nepal 2010
Certified Scrum Master - Scrum Alliance
HIPAA Certification
Gold Medal Recipient from Hon. President of Nepal as a University Topper of Masters of Science in Computer Engineering from Tribhuvan University
Active Member of FOSS (Free and Open Source Software) Community Nepal
PUBLICATIONS:
Bohara, J. (2013). MapReduce-Based Approach to Sequence Comparison Using Longest Common Subsequence. Proceedings of IOE Graduate Conference Vol. 1, 50-55. (link)
Bohara, J., & Joshi, S. R. (2015). MapReduce-based approach to longest common subsequence in biosequences. LAP Lambert Academic Publishing, Germany. (link)
Bohara, J. (2014). A MapReduce-Based Parallel Algorithm for Finding Longest Common Subsequence in Biosequences. (link)
Publications on Big Data Technology with ICT Magazine of Nepal as columnist
PROFESSIONAL EXPERIENCE:
Cotiviti, Waltham, MA Apr 2020 - May 2024
Sr. Java Developer
Project: Develop and maintain the healthcare claims processing system designed to optimize the accuracy and efficiency of claim reviews and payments.
Responsibilities:
Lead a team of developers in the design, development, and implementation of new features and enhancements for the claims processing system using Agile methodologies.
Collaborate with product managers, business analysts, and stakeholders to gather requirements and ensure the system meets business needs using Jira.
Architect and implement microservices with Spring Boot and Docker to handle different aspects of claims processing, ensuring scalability and maintainability.
Develop and maintain responsive, dynamic user interfaces using React.js, improving user engagement and application performance through component-based architecture and state management with Redux
Conduct code reviews using GitHub and provide mentorship to junior developers to improve code quality and adherence to best practices.
Automate build and deployment processes with Gradle and Maven, reducing release cycle times and improving code quality.
Utilize JUnit for Test-Driven Development (TDD) to create and maintain high-quality, reliable code through rigorous unit testing.
Utilize Kubernetes for efficient container orchestration, leading to optimized resource utilization.
Design and implement scalable batch processing solutions using Spring Batch.
Integrate Spring Batch jobs with Spring Boot applications for seamless application deployment.
Use Spring JPA for database interactions, ensuring efficient data retrieval and storage.
Utilize DynaTrace and Splunk for application monitoring, troubleshooting, and performance optimization.
Support containerized application deployments on OpenShift, facilitating consistent and efficient operations.
Manage deployment processes and continuous integration/continuous deployment (CI/CD) pipelines using Jenkins and Docker, ensuring smooth and automated deployments.
Engineered and deployed real-time data pipelines utilizing Apache Kafka, ensuring dependable data streaming, ingestion, and processing across distributed systems.
Implemented and managed messaging solutions with RabbitMQ, facilitating reliable asynchronous communication between microservices through efficient message queuing and event streaming.
Implement infrastructure as code with Terraform, enabling efficient and repeatable cloud resource provisioning.
Support Unix-based system administration tasks, including script writing and environment setup.
Utilized Unix systems for managing application deployments and environment configurations.
Deploy and manage containerized applications using Kubernetes, optimizing resource usage and scalability.
Ensure the security and compliance of the application with HIPAA healthcare regulations by implementing secure coding practices and conducting regular security audits.
Monitor application performance using tools like Prometheus and Grafana, identify bottlenecks, and implement solutions to improve system efficiency.
Developed and maintained infrastructure as code with Terraform, ensuring consistent and repeatable deployments.
Utilize JPA/Hibernate for ORM, streamlining database interactions.
Integrate Scala with Java-based frameworks such as Spring and Hibernate, ensuring smooth interoperability.
Coordinate with the QA team to ensure comprehensive test coverage and resolve defects promptly, using testing frameworks like JUnit and Selenium.
Develop RESTful APIs to facilitate integration with other internal and external systems, ensuring secure and efficient data exchange.
Successfully designed, developed, and optimized big data solutions using Hadoop ecosystem tools (HDFS, MapReduce, Hive, Pig, and Spark)
Develop and deploy an AI-driven claim processing system, leveraging machine learning algorithms for automated fraud detection, claim validation, and anomaly detection
Implement NLP algorithms to automatically extract and validate key information from claim documents, improving data accuracy
Implement caching strategies using Redis to enhance application performance and reduce database load.
Utilized Pandas, NumPy, and scikit-learn for data manipulation, analysis, and predictive modeling
Utilize AWS services such as EC2, S3, RDS, and Lambda to build and manage application infrastructure.
Environment: Java, Spring Boot, Hibernate, Angular, HTML, CSS, JavaScript, MySQL, Jenkins, Docker, Kubernetes, AWS - EC2, S3, RDS, Lambda, IAM, CloudWatch, Git, GitHub, Jira, Kafka, Elasticsearch, Prometheus and Grafana, Redis)
Government of Nepal, Kathmandu, Nepal Oct 2014 - Apr 2020
Lead Java Developer
Project #1: The National ID System is the Biometric and Smart Card based Identity Management System, a game-changer project of the Government of Nepal. This system has various sub-systems like Enrollment System, Enterprise Service Bus, Workflow Management System, Automatic Biometric Identification System, Smart Card Personalization System, Smart Card Management System, Card Issuance and Post Issuance System, Application Management System, Terminal Management System, etc. These systems are web-based applications developed using J2EE technologies.
Responsibilities:
Involved as a key member in system requirement specification, software verification and validation, implementation, system integration, system administration, and operationalization of various sub-systems.
Implemented RESTful APIs using Spring Boot, integrated with Azure API Management for secure and scalable API access.
Conducted performance tuning and optimization for applications running on Azure, improving response times and user experience.
Utilized Node.js for server-side scripting, enhancing the efficiency of backend operations.
Developed and maintained robust RESTful APIs with Java Spring Boot, supporting various client applications.
Collaborated with front-end developers to integrate Java-based back-end systems with content authoring platforms.
Integrated a service mesh using Consul to achieve better service discovery and configuration management.
Implemented TDD in the development process, reducing production bugs significantly.
Integrated Vue.js components with backend services, creating a cohesive and interactive user interface.
Designed, developed, and managed the relational database management system (RDBMS) for the project, including SQL programming, database schema design, data modeling, and performance optimization.
Developed and maintained high-performance, scalable databases using MongoDB, enhancing data retrieval efficiency and application reliability.
Integrated content management systems with external databases and storage solutions using Java.
Utilized Azure Cosmos DB for NoSQL databases in the project, focusing on data modeling, performance optimization, and developing scalable, reliable cloud applications.
Developed and deployed web services using WSAD, including the design and implementation of WSDL for service descriptions, and utilized UDDI for service discovery and integration.
Involved in the integration of the National ID System with other government and private sector systems using Mule ESB
Managed containerized applications on OpenShift, optimizing deployment processes and resource allocation.
Utilized Java Spring framework to build scalable and maintainable content management applications.
Collaborated with front-end developers to integrate Vue.js components, providing a seamless user experience.
Develop and maintain backend systems with Spring Boot, following best practices and design patterns.
Developed and deployed scalable server-side applications using Node.js, implementing RESTful APIs and integrating with NoSQL/SQL databases.
Developed enterprise applications using XML for data exchange, EJB for business logic, Jax RPC for remote procedure calls, and JavaBeans for reusable components.
Actively involved in Java programming for the customization of the NID System.
Developed various software modules on top of the NID System.
Developed end-to-end web applications using Spring Boot for the back end and React for the front end.
Worked as Project Manager to ensure the project was completed on time and within budget.
Involved in policy drafting for NID system development and implementation.
Developed and maintained microservices using Spring Boot, enhancing the modularity and scalability of the application.
Implemented reactive programming concepts using Reactive Kafka and Flux, improving system responsiveness.
Configured Kerberos authentication for secure communication and identity verification within the application ecosystem.
Developed a real-time analytics platform using Spring WebFlux and Kafka, providing real-time data processing capabilities.
Secured APIs using OAuth and JWT, enhancing authentication and authorization mechanisms.
Utilized Spring Boot's built-in features for efficient dependency injection and configuration management.
Leveraged Hadoop ecosystem tools (HDFS, MapReduce, Hive, Pig, and Spark) to process and analyze extensive citizen datasets, leading to actionable insights that informed policy decisions and improved public services.
Used Kafka to design, implement, and optimize real-time data processing pipelines, enhancing system scalability and performance.
Implemented CI/CD pipelines with GitHub Actions, enhancing the deployment process and reducing downtime.
Leveraged Managed Streaming for Apache Kafka (MSK) for real-time data streaming applications
Utilized PySpark for extensive data processing tasks, employing advanced analytics to derive valuable insights and enhance operational efficiency.
Developed and optimized real-time data processing applications using Apache Spark Streaming, improving data pipeline efficiency and reducing processing latency.
Developed and deployed scalable real-time data processing applications using Apache Flink.
Implemented data processing pipelines using Scala and Apache Spark, optimizing performance for large datasets.
Used Power BI and Tableau to analyze complex datasets, leveraging Power BI's robust data modeling capabilities and Tableau's advanced visualization tools to deliver comprehensive and interactive business intelligence solutions.
Integrated user interfaces with business intelligence tools such as Qlik, QuickSight, and Power BI to enhance data visualization and analytics capabilities.
Developed and deployed microservices-based applications on Pivotal Cloud Foundry (PCF), ensuring high scalability and availability.
Created Visio diagrams to document system designs, use cases, and business processes, ensuring comprehensive documentation.
Led R&D activities focused on advancing the capabilities of the NID System, including the development of applications for Smart Card technology using Java Card Technology.
Trained team members for the use of various subsystems of the National ID System.
Developed strategic rollout plans for the National ID System, coordinating deployment activities and ensuring minimal disruption to operations.
Involved in the integration of the National ID System with other government and private sector systems.
Managed Azure SQL Database for storing application data, and optimizing queries for performance and reliability.
Integrated React components into the existing Java-based web applications for improved user interface and interactivity.
Integrated Spring Boot applications with various messaging systems like Kafka and RabbitMQ.
Developed reusable UI components and implemented client-side routing for smoother navigation.
Environment: Java (J2EE), Java Card, Global Platform, SOAP, Python, Node.js, Oracle, PostgreSQL, Biometrics (Fingerprint and IRIS), Public Key Infrastructure, Mule ESB, Apache CXF, ELK Stack (Elasticsearch, Logstash, Kibana), Centreon, React.js, React Router
Project #2: Pre-Enrollment is a web-based application through which users can pre-enroll their demographic data and book an appointment with their appropriate location and time for Biometric Capture. It is integrated with the National ID System through web services so that pre-enrolled data of the user are fetched automatically in the Enrollment subsystem of the National ID System during Biometric capture and the status of Biometric capture is updated in the Pre-Enrollment System.
Responsibilities:
Prepared Requirement Specification Document
Worked as Solution Architect and Lead Developer of the System
Designed and developed the system
Managed build processes with Maven and Gradle, ensuring consistent and reliable builds
Developed scalable microservices using Java8, Java11, Java17, and Java21, deployed on AWS EKS for high availability and resilience
Monitored application performance and conducted TDD-based troubleshooting to resolve issues
Designed and implemented RESTful APIs and integrated with AWS DynamoDB for fast and flexible NoSQL data storage
Designed and implemented RESTful web services to integrate with an MDM application, enhancing data management and accessibility
Implemented batch processing solutions in Databricks with Java for large-scale data transformations and aggregations
Utilized Databricks with Java to process and analyze large datasets from various data sources, delivering actionable insights
Utilized AWS Fargate for serverless container management, ensuring seamless deployment and scaling of Java applications
Configured and managed DNS settings using AWS Route53 for reliable and scalable domain name services
Designed and developed backend services in Java, leveraging AWS SDKs for integration with DynamoDB, Cognito, and KMS
Worked with senior developers to understand and implement ADFS and Kerberos for secure authentication.
Integrated Snowflake with Java-based microservices to enable seamless data sharing across applications
Utilized Java to implement data encryption and security measures for data stored in Snowflake, ensuring compliance
Built and maintained single-page applications (SPAs) using React and Redux, ensuring efficient state management and performance
Developed user interface components using React.js for enhanced user experience and interactivity, including form validation, dynamic data rendering, and integration with backend services via RESTful APIs
Mentored junior team members, guiding best practices and technical skills
Collaborated with front-end developers to integrate APIs built with Express.js and Nest.js, ensuring seamless user experiences
Integrated OAuth and JWT for secure authentication and authorization processes in applications using Express.js and Nest.js
Developed robust applications using Java 8 features, including Stream API, lambdas, and functional interfaces, to improve code efficiency and readability
Implemented dynamic web applications using JDBC and Servlets, enabling efficient database connectivity and seamless user interactions
Integrated Spring Batch jobs with various data sources including databases, flat files, and external APIs
Configured version control system (SVN) and Continuous Integration Tool (Jenkins)
Deployed the project in various environments (Development, Testing, and Production
Deployed and managed the project using JBoss WildFly Application Server, ensuring high availability, scalability, and security
Implemented robust error handling and logging mechanisms
Coordinated with the National ID System team for seamless data integration using Mule Enterprise Service Bus (ESB)
Conducted system performance testing and optimization
Ensured compliance with data protection and privacy regulations
Developed automated test scripts for system validation
Managed system security, including user authentication and authorization
Created user training materials and conducted training sessions for end-users
Provided post-deployment support and maintenance
Conducted regular system audits to ensure data integrity and accuracy
Facilitated project status meetings with stakeholders to report progress and address issues
Created project documentation, including architecture diagrams, user guides, and technical specifications
Implemented analytics and reporting features to track system usage and performance
Collaborated with cross-functional teams to address and resolve technical challenges
Environment: Java (JSP, Servlet), Spring Boot, Oracle, SOAP, SVN, Jenkins, React.js, React Router
Verisk Analytics, Jersey City, NJ Apr 2010 - Sept 2014
Senior Software Engineer - Technical Lead
Project #1: ISO Claim Search Membership Management is the only comprehensive all-claims database and system for claims processing and fraud detection - serving property/casualty insurers, self-insured organizations, TPAs, and many state workers' compensation insurance funds. (https://claimsearch.iso.com/)
Responsibilities:
Worked in the Nepal Offshore team with US-based teams efficiently in Agile Scrum methodology.
Coordinated with US-based stakeholders to ensure project alignment with business needs
Conducted Requirement Analysis and System Design to meet client specifications
Developed and implemented new features to enhance system functionality
Wrote and maintained code for Automated Testing of the application
Managed the deployment of the project in Test, Acceptance, and Production environments
Conducted regular stand-up meetings, sprint planning, and retrospective meetings as part of Agile implementation
Provided technical mentorship to junior developers
Performed code reviews to ensure adherence to coding standards and best practices
Debugged and resolved technical issues in a timely manner
Managed version control and continuous integration processes using tools like Bamboo and Crucible
Implemented security measures using the Spring Framework (Security)
Ensured high code quality through static code analysis using Sonar, PMD, and Check Style
Prepared technical documentation and user guides for the application
Led the integration of third-party APIs to extend system capabilities
Conducted performance tuning and optimization of database queries
Managed the project timeline and deliverables to ensure on-time completion
Facilitated cross-functional team collaboration to address complex technical challenges
Environment: Java, Struts2 MVC, Spring Framework (Security, JDBC, AOP, Transaction), DB2, Websphere, Mockito, JUnit, Bamboo, Crucible, fisheye, Jira, Sonar, PMD, Check Style
Project #2: The Integrated Training Tool is an in-house project of Verisk Information Technologies that completely automates the training process in the organization from collecting Training Need Assessment (TNA) requests to conducting training on different sessions. I was solely responsible for this project.
Responsibilities:
Conducted Requirement Analysis, System Design, Software Development, and Testing of the System
Managed both front-end and back-end development tasks
Handled the deployment of the system on the server
Provided ongoing maintenance and support for the system
Conducted user training and prepared user manuals
Coordinated with HR and training departments to gather requirements and feedback
Ensured compliance with organizational security policies, particularly in LDAP user authentication and authorization
Led performance tuning and optimization efforts for the application
Implemented responsive design principles to enhance user experience
Utilized version control systems to manage code changes effectively
Designed and implemented RESTful APIs for seamless integration with other systems
Monitored application performance and implemented improvements to enhance efficiency
Created detailed technical documentation for future reference and training purposes
Engaged in continuous learning to keep up with emerging technologies and industry best practices
Facilitated workshops and training sessions to upskill team members
Played a key role in strategic planning for system enhancements and future development
Environment: Servlet, Java Server Pages, HTML, CSS, Javascript for Development, LDAP of User Authentication and Authorization, MYSQL Database, JBoss Server
TEACHING EXPERIENCE(PART TIME)
University of Wolverhampton, UK - Herald College, Kathmandu (August 2018 – April 2024)
6CS030 (High-Performance Computing)- Module Leader and Lecturer
6CS030 (Big Data)- Module Leader and Lecturer
Data Science - Module Leader and Lecturer
London Metropolitan University, UK - Islington College, Kathmandu (Feb 2019 – April 2024)
CS7079 (Data Warehousing and Big Data) – Module Leader and Lecturer
https://intranet.londonmet.ac.uk/module-catalogue/record.cfm?mc=CS7079&_ga=2.193203502.2061816188.1718751735-1159663012.1718751735
Tribhuvan University, Nepal (April 2010– April 2024)
Advanced Java Programming
Big Data Technologies
Techniques of Big Data
Data Mining and Data Warehousing
Agile Methodology
Introductory Programming with C and Python
Database Management Syste
Information Systems
Software Engineering
Object Oriented Programming in C++
Artificial Intelligence
Data Structures and Algorithms
Cloud Computing
Network Security
Syllabus Preparation of Advanced Java Programming and Big Data
Pokhara University, Nepal (April 2020– April 2024)
Big Data Technologies for Bachelors and Masters Level
Syllabus Preparation of Advanced Java Programming and Big Data
Purbanchal University, Nepal (April 2022– April 2024)
Big Data Management for Masters Level
Mentor Thesis works for graduate and Final year projects for undergraduate students in various universities and colleges