what is up guys coding Jesus here guys in today's video I want to talk about what it takes to become a crack developer what is crack mean crack is a gaming industry term that usually means highly skilled if you are online probably more than two hours a day you're most likely familiar with the term crack now why am I discussing this and why is it important well I actually had a discussion with a couple of patrons of mine on a live stream that I did and one of the patrons asked what does he need to
do or learn to signal that he's cracked so he wants to walk in to the office day one as a Quant Dev or a software engineer and he wants to signal that he's cracked whether or not he's cracked or not depends on how well he's mastered these Concepts essentially so if you want to signal that you're cracked this is what you need to do it's important because usually if you are a strong senior developer you've mastered most if not all of these skills before I go into Point by point the concepts you need to know
the environment the technology Etc I want want you guys to always just Envision the key concept or key part or key theme in being a crack Dev and that is crack devs do more with less so there's going to be a lot of different Technologies here mastering most of them is what's going to be important but you're going to notice that I gave you options to be crack you can either use option A or option b option A might be more appealing than option b but nonetheless having both options doesn't mean you need to be
cracked at both is what I'm getting at okay so this is you this is you you want to be cracked what do you need to do let's talk about your office environment first what you're running so you're probably running a Herman Miller chair because your back is going to be very important your posture you want to make sure that you're comfortable in your office environment a crack developer Works in a cracked office a cracked office has fully loaded snacks nice office designed comfortable environment so that's why as you see here it's like a very beautiful
office effectively crack devs don't work in slums with rats running around that's not part of being cracked crack devs for the monitor setup it's it might be different depending on kind of like your own crack style but essentially it's usually four monitors and I've seen all four horizontal two two I've seen four and some of them being vertical so it all depends but it's usually a four monitor setup now where the crack really shows is not in the chair or the monitors cuz those are kind of fancy Modern Life am ities If somebody walks in
and you're looking at their keyboard and this is their keyboard they're most likely cracked that's a sign of correctness but to reinforce that sign because you can't just take one sign in isolation you have to look at three other things one is their speakers if they have old outdated speakers something like Logitech that just gets the job done then they're probably more likely cracked the knot if they have a headset that's like half broken with a string and it's still wired and the microphone is like never really at their mouth it's always kind of down
you know that they're probably cracked it's probably they're probably cracked because the microphone's down meaning they barely talk because just their Aura in the meeting is enough to signal that what's being discussed is actually valuable and important and when they do talk everybody's Mouse quiet so even though the mic is like halfway across their head everybody can still hear them and tries to hear them now the mouse is actually one the most critical parts of signaling cracked because effectively if the mouse is old outdated it's crusty it's dusty you know they don't use it why
is it cracked if you don't use a mouse because if somebody's only typing it means they're probably running Vim they have custom key bindings to get everything they need done and they don't need a mouse they can throw the mouse out the window they can still probably code 10 times faster than you can so if the mouse is Dusty broken doesn't work it might not even be on the desk it might be in their trash can they are Almost 100% guaranteed to be cracked because they're running Vim now let's look at kind of like the
the environment set up actually no let's look at the languages first the environment setups next so I have these green bubbles and these green bubbles are kind of like groupings of languages or features that they're probably very familiar with so crack devs usually spend 90% of their time on the C++ stack so running GCC with Google test they're probably very good at cmake and they're on C++ 17 or above usually 20 23 for third party package management they're probably running Conan and artifactory so these Technologies if you want to become cracked you need to know
these very very well for some of the more data stuff some of the more kind of SES scripting stuff on Linux are definitely cracked as hell and Bash and on the python side they're probably running some sort of python with poetry type combination there um for kind of getting those menial data tasks done tasks that are probably not best suited for C++ now what concepts are they familiar with well they're really familiar with a couple of really Core Concepts and guys I've asked devs that are great at lead code if they're familiar with these Concepts
and 90% of them say no so you can't be cracked if all you know is lead code and then you don't know anything else so data structures and algorithms goes without saying that's why it's not on this list but effectively you need be cracked on operating systems networking concurrency software design design patterns computer architecture optimization techniques think about task Set uh pinning threads thread Affinity understanding what cash Affinity is translation look aide buffers Etc that's part of the computer architecture stuff as well distributed systems is going to be key and one of the biggest skills
that I think sets apart devs that are good from not devs that are not so great is debugging skills can you debug code and do so quickly that goes beyond just writing a couple of print statements okay debugging skills is key now what does our environment setup look like this is where actually we're not even on the environment setup yet so I'm kind of thinking ahead here so what are they doing in terms of application adjacent monitoring and logging for the monitoring they're probably running grafana for host health for monitoring various metrics in the actual
application itself and they're doing so either through Prometheus or influx DB that's what this purple scratch means it's option A or option b for their logs or and logs and and log kind of like cons consumption they're probably running like the Cabana stack or the elastic stack whatever they call it um you know logs go into log stash elastic stash and eventually they're visualized via Cabana and they can be searched and queried there they probably also have two types of logs human readable logs for kind of basic things and then binary logs or bin logs
for um non-human able logging so Trace logging for example this is actually a publicly available repo by Morgan Stanley if anybody wants to check it out for application Health monitoring like whether or not an application or host is up or down they're probably running senu for their Source control probably bit bucket or gitlab and then they're most likely running git and they know everything about git they're Masters and wizards at git so if you're cracked you don't just know git checkout git rebase get merge whatever you know all the sub modules you know how objects
are stored you know how the the file system is mapped by git Etc okay now we get to like the cracked component of a cracked Dev so the most cracked devs are running them with t-mo which is a terminal manager and they're either on Linux red hat or Arch Linux if you're cracked but you're like semi cracked you're probably trying to replicate this with either vs code or Visual Studio key bindings they have a Vim extension and you're probably developing on Windows but you are using the whbn no subsystem for Linux and effectively like sshing
into your Linux host and coding there and debugging there via VSS code now as part of this setup you're probably going to need to be familiar with Docker in both options because if you want to like launch a Cassandra database real quick right you're probably doing that via some sort of virtual Docker container but the most cracked devs if if you walk into the office and I see vim and t-x on your screen I know you're cracked like I know you're seriously cracked cracked out of your mind and so this is a kind of Ideal
optimal cracked setup it's not for everybody cuz it's difficult and I might even talk about books that I've read as to how I set up vim and things that really helped me become more cracked here but I'm kind of here I'm not there I'm kind of there I'm still hanging on here because this is what's comfortable for me but I'm going to try to make the transition personally to the t-mo build the t-mo cracked build so that's what I'm looking at now let's talk about kind of like interprocess communication inter and interprocess communication so on
the intra process communication so within a given host you're probably working primarily with pipes and messaging sockets okay to communicate between applications on a local host but if you're looking for interprocess communication so between different processes on different hosts you're probably going to be focusing here grpc and protu for that distributed asynchronous micro service architecture in essence you're either doing some sort of request response or request stream response or bidirectional streaming and all you really need is probably grpc or protuff now if you're looking for that more like persistent outside of the host sort of
messaging broker that can be replayed Etc you're probably looking at either CFA or blazing mq these all have their strengths and weaknesses you can Google their strengths and weaknesses that's not the point of this video the point of this video is to discuss the technologies that are correct so usually in the financial space it's kind of like blazing mq developed by Bloomberg kind of newer thing but CFA is time tested and it's used for a myriad of applications at various trading firms as well so your primary focus is probably here but if you have applications
that needs this sort of messaging Q event streaming you're probably going to be working with one of these too okay this is core though this is so core so key I love grpc it's amazing okay next the last thing we're going to be talking about is the databases so kind of like what's your database layer look like so the most cracked devs they're probably very familiar with q or kdb this is a language and a beast within itself okay Q or kdb this is developed by KX systems it has an expensive licensing scheme but all
the large Banks they're dealing with q or kdb and if I ever see somebody that's proficient at Q or kdb I already know that they're cracked out of their mind so they're probably you know running this for time series but if they're not running Q or kdb they're probably running one of these three dolphin DB influx or time scale for time series data for the no sequel stack they're probably either doing manga or Cassandra I really like Cassandra Cassandra Cassandra whatever um but uh they're running probably one of these two for squel it's kind of
standard in most places they're probably running MySQL or postgress but effectively to be correct you probably want to know one of these three because these are all different tools so one of the time series one of the no sequel one of my sequel or one of the sequel rather these are all different tools right so you need to pick the best tool for the job and a crack Dev is familiar with one of each one of these three buckets so that's effectively what you need to know to become crack guys hopefully this video was useful
in helping you define the technologies that you need as a hardcore backend software engineer or quantitative developer like I said there's various degrees of crack but if you can Master this setup effectively you can become this guy so hopefully it was interesting guys patrons are going to be watching this video early if you'd like to become a patron Link in the description box below if you'd like to book my time oneon-one maybe you want to have a study plan maybe I review your resume Etc you can book my time at my calendar Link in the
description box below and if you'd like to follow me outside of all this you can do so at the coding Jesus guys I don't respond to any Quant based inquiries there but if you have a question Quant related email me at the coding Jesus coding jesus.com thanks for watching this video guys cheers