This article is about my experience working at Nasdaq. It might be a little lengthy :)
I am Pratik Singh, and I used to work at Nasdaq as a Senior Software Developer in the WebProperties Team.
So let's get started!
How I got selected ?? ?
NASDAQ approached with this Job role on my Linkedin. There were multiple tech, managerial, and HR rounds. You can find more details in this article: Here
It's been almost 2 years. I still wonder why they chose me
Work experience ???
We were the Platforms team
behind the nasdaq.com website. My job role was basically a mix of two things.- Building Go & Python Micro services
- Building Maintaining the CI/CD Pipelines & the diff envs.
It included occasional code calls for Production issues.
Let's dig deeper...
I started to work at Nasdaq as Student worker
(Paid internship). Initially, I was assigned to work on some bugs for the Go microservices. This task forced me to look beyond our code. For the first time, I started to look into a dependency code to understand the functions better. This task helped us in saving memory. I got awarded for this :)
Interesting Learning
: What is pprof ?
Meanwhile, I started to learn about the different CI/CD pipelines built on GitLab. It helped me to learn git in depth. I was added to the release team. I was managing multiple clusters and various deployments spread across different namespaces.
Interesting Learning: If you have to manage multiple Kubernetes clusters. Instead of using the --kubeconfig
flag passing different contexts each time. Set up aliases in Linux for each one of them.
The responsibilities helped me learn deployment strategies other than Kubernetes. I learned about CMSand IIS servers. We were developing Helm
charts for the new services while maintaining and upgrading the older deployments. The scale we worked on was amazing!
requests across our systems!On a normal day it crosses
1 Billion
Moving on, we had to ship a certain set of new features within a deadline. We had war room calls. Learned how to build in pressure. Learned how Seniors ping pong ideas off each other to work better.: As a CI/CD person, you must ensure developers can deploy their changes on lower environments without your help.Interesting Learning
Newer challenges awaited me on this path. For a certain problem statement, we needed a Machine Learning model. Despite I had no prior experience, my manager asked me to learn and implement. I recall him saying to me:
It was the first project I was heading. It had to be perfect! I did my research. Find solutions that fit our requirements. With every iteration, my manager pushed me to build better solutions. I got way better at Python and using machine learning models. To reduce response time, learned various algorithms like Cosine Similarity, Neural Networks, KNN, ANN, and much more. I built my own
Vector search! Built the pipelines and deployments for this. The fun part of containerizing the ML Project within the size constraints."Interesting Learning: My manager told me once: "
Resilience beats every other thing in Production
I was fixing CVEs across the different parts of our systems. Learned a little PHP in this process. This may not have been the most interesting task. But definitely, the one that taught me to write better code. It was one of the steps towards
Shift Left.<script> // Detect dark theme var iframe = document.getElementById('tweet-1675851481163988993-791'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1675851481163988993&theme=dark" } </script>Interesting Learning: What the heck is a CVE?<script> // Detect dark theme var iframe = document.getElementById('tweet-1735640347823452315-227'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1735640347823452315&theme=dark" } </script>
About this time AI wave started to enter the shores at Nasdaq. Discussions on AI projects were going all round. My team got involved in making amazing projects that use multiple ML models. Setting up CI/CD pipelines, data pipelines, optimized code, better-ranking systems, and reliable cache. I was not the developer directly working on these systems. However, I was supporting this project purely as a DevOps engineer.
Lastly, I learned about how to improve the performance of our web pages. How to track it, why to improve it. I tried to understand how it impacts the business. The insights helped Developers improve their code. My manager taught me:
"Always think about the end user. You will never be wrong"
<script>
// Detect dark theme
var iframe = document.getElementById('tweet-1753760244822589603-439');
if (document.body.className.includes('dark-theme')) {
iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1753760244822589603&theme=dark"
}
</script>
Interesting Learning: What are Web Vitals?
I am sure you didn't read it through ?
It's fine! I am just blogging my work :)
Team and Culture ??
It was one of the best teams I have worked for. We had people spread across continents in a remote setup. Most of my team members were based out of Bangalore. We had a remote setup till January 2024.
Earlier we came to the office for events, war rooms, meetings, and such things. Since this year we have had a Hybrid setup with ~2 days in the office. The team supported me when I was facing the hardest phase of my personal life. The team asked me to take leave and take care of my family and myself for weeks.
<script> // Detect dark theme var iframe = document.getElementById('tweet-1753409152100311495-289'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1753409152100311495&theme=dark" } </script>
Lots of teams work to get features shipped. I loved the fact that once a week my team connected just to discuss tech. Share ideas, and have insights about business impacts.
I would take this moment to appreciate my manager. I believe the culture of your team is set by the manager. He is a person with a technical background. Not only understands our work but gives us the insight to get it done better. I think I have learned most from him, whether be it the technical or business front. A supportive manager who believes in you was my blessing at Nasdaq!
Incredibly grateful to my seniors as well. They helped me, taught me, and even tolerated my stupid queries.
Job and beyond ✨
As a Developer, your job is not limited to only shipping features. When I joined NASDAQ I had planned to achieve things that fulfil my personal goals as well.
Within a couple of months, I became part of the Developer Community. We started to do workshops and events with other developer communities in Bangalore.
<script> // Detect dark theme var iframe = document.getElementById('tweet-1692913560144482461-494'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1692913560144482461&theme=dark" } </script>
Our team collectively did nearly 15 Developer-focused events within a year. I was part of the core team that accepted communities and organized the entire event. Apart from hosting communities in our office, we also sponsored a couple of events. My favorite being when my team was a part of Google DevFest Bangalore 2023.
<script>
// Detect dark theme
var iframe = document.getElementById('tweet-1736360724203794620-536');
if (document.body.className.includes('dark-theme')) {
iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1736360724203794620&theme=dark"
}
</script>
My manager encouraged me to speak at developer events. With a hint of luck in the last year, I was able to speak at certain events.
I was able to speak at Google Office as a speaker at Google Cloud Community Bangalore.
<script>
// Detect dark theme
var iframe = document.getElementById('tweet-1756312469189087718-957');
if (document.body.className.includes('dark-theme')) {
iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1756312469189087718&theme=dark"
}
</script>
With my mom's blessings, I was selected as a speaker at GitOpsCon 2024, North America. With the support of the entire team at Nasdaq, I was able to travel halfway across the world. I am grateful for the support of my manager, the Nasdaq India head, and my team. A lovely thing I will always remember is that Smitha (one of the heads at Nasdaq India) wished me luck at 3 AM before my talk.
<script>
// Detect dark theme
var iframe = document.getElementById('tweet-1780156584943067265-822');
if (document.body.className.includes('dark-theme')) {
iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1780156584943067265&theme=dark"
}
</script>
Other than merging MRS, fixing production, and building pipelines, these were my best memories at Nasdaq.
All of my work and determination were awarded at the 10th anniversary event of Nasdaq India.
<script> // Detect dark theme var iframe = document.getElementById('tweet-1788916768456487252-820'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1788916768456487252&theme=dark" } </script>
Fun ?
The office building is equipped with all the facilities like a Gym, Table tennis, 8 ball pool, napping areas, carrom, and an amazing terrace!
The parties at Nasdaq are wild! The very first time I met my team was at the year-end party before I joined the company. They had booked the entire RCB Cafe in Bangalore! We danced till late at night.
Other than the amazing big events, we had amazing fun at the All-hands events organized from time to time. The best event was the 10th Anniversary event of Nasdaq India. It was a week-long series of parties. The day of the main event. We partied in our office building till 3 in the morning! One of the best parties of my life
My team with our CEO
All being said, I had a wonderful time working at Nasdaq. Anyone reading this, Nasdaq is a great place to work.
The conditions of my personal life and goals were the reasons I had to part ways with the company. But I will always keep rooting for the team from the sidelines!
If you liked this content you can follow me here or on Twitter at kitarp29 for more!
Thanks for reading my article :)
The above is the detailed content of My NASDAQ Experience. For more information, please follow other related articles on the PHP Chinese website!

Mastering the strings package in Go language can improve text processing capabilities and development efficiency. 1) Use the Contains function to check substrings, 2) Use the Index function to find the substring position, 3) Join function efficiently splice string slices, 4) Replace function to replace substrings. Be careful to avoid common errors, such as not checking for empty strings and large string operation performance issues.

You should care about the strings package in Go because it simplifies string manipulation and makes the code clearer and more efficient. 1) Use strings.Join to efficiently splice strings; 2) Use strings.Fields to divide strings by blank characters; 3) Find substring positions through strings.Index and strings.LastIndex; 4) Use strings.ReplaceAll to replace strings; 5) Use strings.Builder to efficiently splice strings; 6) Always verify input to avoid unexpected results.

ThestringspackageinGoisessentialforefficientstringmanipulation.1)Itofferssimpleyetpowerfulfunctionsfortaskslikecheckingsubstringsandjoiningstrings.2)IthandlesUnicodewell,withfunctionslikestrings.Fieldsforwhitespace-separatedvalues.3)Forperformance,st

WhendecidingbetweenGo'sbytespackageandstringspackage,usebytes.Bufferforbinarydataandstrings.Builderforstringoperations.1)Usebytes.Bufferforworkingwithbyteslices,binarydata,appendingdifferentdatatypes,andwritingtoio.Writer.2)Usestrings.Builderforstrin

Go's strings package provides a variety of string manipulation functions. 1) Use strings.Contains to check substrings. 2) Use strings.Split to split the string into substring slices. 3) Merge strings through strings.Join. 4) Use strings.TrimSpace or strings.Trim to remove blanks or specified characters at the beginning and end of a string. 5) Replace all specified substrings with strings.ReplaceAll. 6) Use strings.HasPrefix or strings.HasSuffix to check the prefix or suffix of the string.

Using the Go language strings package can improve code quality. 1) Use strings.Join() to elegantly connect string arrays to avoid performance overhead. 2) Combine strings.Split() and strings.Contains() to process text and pay attention to case sensitivity issues. 3) Avoid abuse of strings.Replace() and consider using regular expressions for a large number of substitutions. 4) Use strings.Builder to improve the performance of frequently splicing strings.

Go's bytes package provides a variety of practical functions to handle byte slicing. 1.bytes.Contains is used to check whether the byte slice contains a specific sequence. 2.bytes.Split is used to split byte slices into smallerpieces. 3.bytes.Join is used to concatenate multiple byte slices into one. 4.bytes.TrimSpace is used to remove the front and back blanks of byte slices. 5.bytes.Equal is used to compare whether two byte slices are equal. 6.bytes.Index is used to find the starting index of sub-slices in largerslices.

Theencoding/binarypackageinGoisessentialbecauseitprovidesastandardizedwaytoreadandwritebinarydata,ensuringcross-platformcompatibilityandhandlingdifferentendianness.ItoffersfunctionslikeRead,Write,ReadUvarint,andWriteUvarintforprecisecontroloverbinary


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version
Chinese version, very easy to use

WebStorm Mac version
Useful JavaScript development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools
