OT/

Worked at

Four roles across security operations, full-stack development and GenAI. Open any one to see the real problems I faced, how I solved them, and how I worked with the team.

Works well in a team

Escalated to L2 with complete notes, built a module inside a larger product, used Git and took mentor code reviews.

Solves real problems

Breaks a messy problem into steps: noisy alerts, unreliable AI answers, bad data, slow manual search.

Learns fast

Picked up QRadar, Sentinel, Angular, Spring Boot and LangChain, and shipped work with each.

Documents and communicates

Incident reports under SOPs, progress reports, demos and presentations to mentors.

01Futurism TechnologiesSOC Analyst Intern
Hinjewadi Phase 1, I2IT Road, Pune · Jan 2026 – Jul 2026

I worked as a Level-1 analyst in a managed SOC that watches many clients around the clock, deciding which alerts are real attacks and which are just noise.

SOC dashboard · alert mixIllustrative split of the alert types I worked on. Client data stays confidential.
100%of alerts triaged

    Real problems, and how I solved them

    • Thousands of alerts a day, and most are harmless.

      I triaged each alert by severity, source, affected user and device, and the rule that fired, checked that user’s or device’s history, and closed false positives with evidence.

    • A single suspicious event rarely tells the whole story.

      In IBM QRadar I investigated offenses that tie together firewall, server, Active Directory and VPN logs. In Microsoft Sentinel I used KQL to chase cloud sign-in alerts such as impossible travel and risky sign-ins.

    • Is this IP, link or file actually malicious?

      I checked indicators in VirusTotal, AbuseIPDB and Cisco Talos, and detonated suspicious files in Hybrid Analysis and ANY.RUN to see what they really do.

    • Could company credentials or data already be exposed outside the network?

      I used dark web monitoring tools to watch for signs of leaked credentials and data, so exposure could be reported before it was abused.

    • A machine looks compromised. What did the malware do?

      I read process trees, command lines, registry changes and network connections in Defender XDR and Cybereason, and mapped what I saw to MITRE ATT&CK.

    • Phishing is where most attacks begin.

      In Proofpoint I checked sender reputation, SPF, DKIM and DMARC, email headers, links and attachments, and saw how KnowBe4 phishing simulations train users.

    • A real incident has to reach the right people fast.

      I documented the evidence and recommended action under the SOPs and escalated to the L2 team: brute force, privilege escalation, command-and-control traffic and confirmed malware.

    What I delivered

    • Custom correlation rules and detection logic for brute force, lateral movement and data exfiltration, mapped to MITRE ATT&CK.
    • Threat hunts through log telemetry that surfaced indicators of compromise.
    • Incident reports in the PICERL format: findings, containment and lessons learned.
    • DLP policy governance alongside daily monitoring.

    Types of incidents I analysed

    Identity and access brute-force and repeated failed logins, account lockouts, privileged account activity, VPN sign-in anomalies

    Cloud impossible travel, risky sign-ins, new device registrations, Conditional Access alerts, suspicious Azure AD logins

    Endpoint malware detections, ransomware-like behaviour, persistence, lateral movement, suspicious PowerShell

    Network firewall deny events, unusual outbound traffic, command-and-control communication, policy violations

    Email phishing, malicious attachments and links, spam campaigns, impersonation and business email compromise

    What I learned about the job

    A large share of the Sentinel alerts turned out to be false positives. That is why checking evidence before escalating matters: it protects the L2 team’s time for the incidents that count.

    Tools

    • IBM QRadar
    • Splunk
    • Microsoft Sentinel
    • KQL
    • Defender XDR
    • Cybereason
    • Proofpoint
    • KnowBe4
    • VirusTotal
    • AbuseIPDB
    • Cisco Talos
    • Hybrid Analysis
    • ANY.RUN
    • Dark Web Monitoring
    • MITRE ATT&CK
    • PICERL
    Working with the teamA SOC runs as L1 and L2. My escalations carried complete notes, so senior analysts could start containment and root-cause work without redoing mine. I followed the standard operating procedures every time and took part in knowledge-sharing sessions with the team.
    02Asmita SolutionsSoftware Developer (Full-stack)
    Thane, Maharashtra · Jun 2025 – Jul 2025 · Online Mentoring Portal

    I owned the mentee engagement module of a real mentoring platform being built for a client: the form, the calendar scheduling, the backend connection and the list view.

    Delivery pipeline · how my module went from idea to release
    Pipeline
    PlanRequirements and data model
    CodeVS Code, IntelliJ
    CommitGit and GitHub
    BuildAngular CLI, Maven
    TestPostman and manual testing
    ReviewMentor code review
    ReleaseDemo and deployment
    Request flow
    Ionic formReactive Forms validation
    Angular serviceHttpClient POST / GET
    Spring BootREST API and validation
    MySQLStores engagements

    Real problems, and how I solved them

    • A mentee must request a session for one skill, but the skills depend on the category.

      I built an Angular + Ionic form where choosing a category calls the REST API and loads only the matching skills.

    • Sessions need a date and time the system can schedule reliably.

      I integrated the Google Calendar API for date and time selection and formatted the values the way the backend expects. Testing exposed wrong calendar slots, which I fixed.

    • Incomplete or wrong data must never reach the database.

      I added Reactive Forms validation, error and fallback messages, and tested every endpoint in Postman. That caught null submissions and failed API calls.

    • Mentees had no way to see what they had already requested.

      I built a reusable engagement list component that fetches from the Spring Boot + MySQL backend and updates instantly after a submission, with no page refresh.

    How I got there

    I first built a complete CRUD application on the same stack to learn how frontend, backend and database fit together, then took on the real module and read the requirements and data model before writing any UI.

    Stack

    • Angular 15
    • Ionic
    • TypeScript
    • Spring Boot
    • Java
    • MySQL
    • REST APIs
    • Google Calendar API
    • Postman
    • Git / GitHub
    • Maven
    • IntelliJ
    • VS Code
    Working with the teamMy module was one part of a bigger product built by a team. I matched my frontend to the backend’s API structure, kept my work in Git and GitHub, took code reviews and feedback from my mentor, and presented progress and a final demo.
    03PSPM TechnologiesPython Developer, Chatbot / GenAI
    Pimpri-Chinchwad, Pune · Jun 2024 – Aug 2024 · Chatbot development using Generative AI

    I built a chatbot that answers questions straight from uploaded PDFs, so people can find one detail in a huge file in seconds.

    RAG pipeline · from PDF to grounded answer
    1. Prepare the document
    UploadStreamlit, one or more PDFs
    ExtractPyPDF2 reads every page
    Chunk10,000 characters, 1,000 overlap
    EmbedGoogle Generative AI embeddings
    IndexSaved locally in FAISS
    2. Answer a question
    QuestionPlain English from the user
    RetrieveSimilarity search for the best chunks
    Gemini ProPrompt: answer only from context
    AnswerShown with chat history

    Real problems, and how I solved them

    • Finding one fact inside long PDFs is slow.

      A Streamlit page lets the user upload PDFs and ask in plain English. PyPDF2 pulls out the text.

    • An AI model cannot read a whole large document at once.

      The text is cut into 10,000-character chunks with 1,000 overlap, so nothing is lost at the edges. Each chunk becomes a Google Generative AI embedding in a local FAISS index, and only the most relevant chunks are fetched for each question.

    • AI models make up answers when they are unsure.

      My prompt tells Gemini Pro to answer only from the supplied context and to say the answer is not available if it is not there. I also kept the temperature low.

    • Users ask follow-ups and need to review earlier answers.

      The session keeps the full chat history on screen, and the API key stays in an environment variable instead of the code.

    How I chose the tools

    I explored Pinecone, ChromaDB and FAISS, plus Hugging Face models and OpenAI. I used FAISS locally because it gave fast similarity search with no extra service to run.

    Stack

    • Python
    • Gemini AI
    • LangChain
    • FAISS
    • ChromaDB
    • Pinecone
    • Hugging Face
    • Streamlit
    • PyPDF2

    I came back to this pattern in my RAG PDF Chatbot project.

    Working with the teamI worked to a plan with my industry mentor, with regular check-ins, internal training sessions and feedback on my work, and ended with a presentation of the project. The company’s certificate says I completed the project on time and exceeded expectations.
    04ShadowFoxPython Developer Intern
    Virtual (remote) · May 2024 – Jun 2024 · Virtual internship, beginner and intermediate levels

    I completed every beginner and intermediate task in the program, turning plain-English problems into working Python and testing each one.

    Real problems, and how I solved them

    • Turning a written problem into a working formula.

      Simple interest, speed, pond water volume and a BMI calculator with health categories, each run against sample inputs.

    • Programs that must respond to what the user types.

      A jumping-jacks workout loop with early exit, and a Hangman game that validates single letters, rejects repeats, gives hints and ends after six wrong tries.

    • Working with collections of data.

      Adding, moving, replacing and sorting list members, a city-to-country lookup, and a dice simulation counting sixes and consecutive sixes.

    • Getting information from a website automatically.

      A web scraper with Requests and BeautifulSoup that downloads a page and extracts its text.

    How I worked

    On my own and at my own pace. I wrote each task in a Jupyter notebook, ran it, fixed the errors and put every task and output into one clean submission. This is where I practised object-oriented thinking, automation and scripting in Python.

    Stack

    • Python
    • Jupyter
    • Requests
    • BeautifulSoup
    • OOP
    • Automation
    A solo internshipShadowFox was entirely independent work. I planned my own time, finished every task without supervision and presented clean results. My teamwork experience comes from my later roles.