Categories
Software

calling the BS on system design interviews

diagram
( copyright design gurus/Arsalan Ahmad , included for critique ,which is fair usage )

This great diagram about system design also exposes the hollowness of this system design trend . Apparently system design expects you to know
1. Load Balancing
2.Caching
3. Queues
4. Search
5.Streaming
6.Observability
7.All databases
8. Cloud compute for scaling

What are we interviewing for ?


But what we are basically asking is can a candidate design this fictitious FaanG system using Aws with 5-7 years experience . I am sure a sharp mind can read and answer anything about Graph DB to partitioning to blob storage but it is a fact one needs good number of years of hand on practice to be reliable professional in this area .I will be suspired to see a candidate so lucky that every 6 months he/she worked on a project that exposed him/her to each one of this area .Very unlikely .Have we then started believing that knowing random bits of designs from FaanG companies is somehow a skill akin to knowing distributed computing with guaranties !

What system design interview might mean


What system design interviews then probably means is we are looking for team mates who understand cloud scale vocabulary .What it might also mean is the expectation is restricted to only vocabulary and there is some other Senior fellow or team doing the actual Architecture .It might then just be simpler to ask AWS certifications instead of system design.
Next problem is what frameworks do we expect these candidates to use ? Java/spring in lambda is different ballgame than nodejs in container .REST is a different skill than how you package your services as micros while keeping functional sanity and quality of services. So is UI or big data. Very few system design talk of this complete stack (cloud to framework to code).I am sure lot of these interviews also cover performance ,security , build and such areas but how is that coherently weaved to the typical system design questions is a question worth pondering !
And i am totally discounting the fact that most great internet companies build their own platforms , a skill that is more challenging than system design in current interview flavor .

The reality check

In all probability system design interviews are outgrowth of the full stack engineer myth we created in industry (my old post on this topic) .Here 2 questions are worth asking :
1. Are we really creating tribe of cloud aware candidates with whom we do mutual fakery that we can design netflix video stream or uber scheduling with no deep experience to back it up ?

2. What is you job designation ? system designer engineer I/II/III ? or system design architect ?

ps :Here is also a detailed skill matrix for you to plan your growth https://docs.google.com/spreadsheets/d/1lAFfBj7UM3NZrS3ywsHZsK4pnWN5eWZJCeSt-UtQyu0/edit?usp=sharing

Categories
Software

How much of AI depth should software engineer have ?

How much of AI depth should a generalist have ?

When it comes to AI and general programmer/Technology Architects ,one question I get asked is how much of AI internals they should know ?

The answers have few nuances . A budding programmer or framework aspirant these days has to be fullstack .Like it or not that is a job market reality . It takes good couple of years for someone to be respectably good full stack i.e Frontend -services- db .Interestingly cloud used to hyphenated in this equation as skill .Not now. Now the cloud is treated at par with your eclipse/intelliji . At the same time distributed computing has become the umbrella under which all job candidate now stand.

I would suggest that for generalist programmer technology architects AI will end up in same league as cloud .2023 is about time it a happens .

AI awareness becomes commodity skill like cloud

Detailing more on the path towards AI aware software engineer .

Most of the programmer community know elementary stats from graduation which can be brushed up to grasp what we call as machine learning .

It will also help so understand the piece on data engineering as for a generalist this is one common intersection point with AI (integration) .

However when it comes to deep learning it gets interesting .As such a the details of how a neural network works has no direct impact on daily work of a programmer/architect .But as a learning opportunity as well as future of programming frameworks we need to watch out .

The design of a tensor of tensor flow is a good proxy for designing your own interpreted language . The RNN,CNNs of the world are not only delight to study but they also are a possible direction as to where our big data or distributed computing might evolve .In fact there are already segments in AI community which are working on distributed learning (compute) framework .I see no reason as to why the deep learning community and traditional language-framework creators wont exchange notes soon and copy .

With that as a direction ,

Here is a simplified Architecture diagram of GPT of chatGPT fame. This one outlines the essential elements without dumbing down the huge amount of work .

https://dugas.ch/artificial_curiosity/GPT_architecture.html

Categories
Software

Developing your System Design Skills

What is system design in software ?

Budding architects often ask me about the way to learn System Design .That is practically to say system design has become rite to passage for Technology Architects now . But as such system design doesn’t have one clear definition .The term became popular when big tech and the copy techs started asking people to design distributed solutions . So when a budding Architect decided to learn it , he has to mix AWS certification syllabus with lots of Martin Fowler blogs on Event driven systems .Add some kubernetes to it ,top it up with kafka . Some CAP theorem and consensus algorithm will be nice to . And finally some cheat sheet like numbers a an engineers should know . There is noting wrong in learning all this stuff . But we must also acknowledge that these are disjoint knowledge items that will cognitively burden a newcomer and even make few people depressed .

A simpler learning approach

In my alternative approach ,I ask my mentees to design a complex enough software first and then scale it cloud . That is it .No kubernetes or kafka mandated . Take for example this simple diagram from Apache flink architecture . This is a very typical arrangement for hadoop based framework , mapreduce-spark-strom and so on .

Apache flink simplified architecture (courtesy Oreily )

Can your engineers design a robust implementation of this for a single server ? This is a fine system to design . We can always scale this to cloud .And here you will realize that many of your learning items in system designs are needed because of this movement to cloud .They are not essential part of system design . So in ideal scenario one can design pintrest for single server and learn the craft , design google drive for one server (why not design hdfs ? even wondered why its not popular question ?) and master the complexities . The scaling to internet can come at a slow measured pace .

This also bring me to one side point that the Gang of Four is still the base line where you start your journey towards developing your design skills .A good amount of your system design ideas still come from there .It is only after you decide to make your software internet scale you get into issues of guarantees , ,consistency and latency the 3 main pillars that will then shape your journey .

Books recommended

So here are the books i recommend ,in no order .

1. Gang of four design pattern

2. Cloud Native Architectures ,pckt pub

3 The Architecture of Open Source Application ( they have a website or get the book)

4. Architecting for Scale , Oreily , this is one good book that teaches you cloud sans the sales and marketing fluff when you do vendor cloud certifications

5. Fundamentals of Software Architecture , this is one wisdom style book that tells u about the roles ,decision making process and popular architecture choices

6 Designing Data-Intensive Applications , little dated but it has good coverage on databases and big data systems .One stop .

7. Alex Xu‘s book System design interview . Though this is titled as interview book .It is one good book that has excellent breadth . If you go with the theme of my post , this could be your final book .

One last thing .There are so many other topics and books that one need to read .Fowlers book on Refactoring and Enterprise integration .Eric evans book on DDD. Pini Rizniks book on cloud native transformation .Bellmeres book on event driven microservices .Sam newmans book on microservices . Accelerate on CICD .Even SICP by mitpress.

But all of these good books that you should pick up when you know the landscape well else they will confuse you as practitioner.

In the end system design is all about interviews .When it comes to your project , your problems wont have to fit the text book (which is when you should reach to specialist book or your mentors ) .

Here is also a detailed skill matrix for you to plan your growth https://docs.google.com/spreadsheets/d/1lAFfBj7UM3NZrS3ywsHZsK4pnWN5eWZJCeSt-UtQyu0/edit?usp=sharing

Good luck

Categories
Software

Is India paying back its software debt ?

Effect of Technology Pioneers

Sometimes a software company changes the industry landscape in many ways that it should be called foundational change . Take for example Google and its search or snapchat and images or Amazon and cloud compute or Netflix and guaranteed streaming . Its is not that these companies always invested the basic technology behind the examples cited here . But they developed and deployed them in a way that it changed the industry forever . Not only did these services-products became our default experience expectations .They also pushed the boundaries of tech .But most important is that they made all these technologies mainstream . This elevated the level of the ground we stood and operated on for the entire community . Pioneering and mainstream are main reason why startup are important .

United states was very luck here .Starting bell labs.. sun microsystem…hotmail ..twitter . That is why it is important for a country to have internet companies that operate at foundational level . A well operating company is better change agent than university professors .

After US its is only China and Russia that have companies flourishing in this foundational area.

India missed the bus

The situation in india was that of a missed bus .A flourishing IT industry ,nascent open source contributors and buzzing startups .But not many companies that offered foundational elevation of the playing ground .An world class email or search or social network or cloud compute or even programming language . A thing that is foundational and took something mainstream. To be fait the many unicorns would have secondary good effects .

But India’s is also story of failed attempts . Few ,i can cite are : the Indian distro of unix which never picked up. Simputer : a hardware+sofware pioneer from the same timeline as that of android but not as lucky .Onmobile which 15 years back attempted voice/NLP capabilities . and few more

The Surprise contributor

However in recent past we have seen that government bodies have become surprise contributors .They have not only done foundational work (is system-method-framework style work as we use it in patent lingo) but also made it mainstream . This is akin to how we repay our technology debt in software project .Here is my list with note

Aadhar : billion people scale biometric authentication . Only facebook can claim this scale and apple can outmatch the security . Also the fact that it is also acting as world biggest KYC infra is noteworthy . The fact that one can human verify ones efiled tax return with just one sms-opt is the smooth experience product managers dream of .

UPI : Nobody has paid bigger compliment to unix than unified payment interface .The fact that you can create email like aliases (plural !!!) and make payment from some one who is not your bank ,while your bank and their APIs work in the background to make it happen ; is tallest story of digital transformation .UPI also has its brothers and sisters in bills ,account aggregator and open lending .

ONDC : Open network for digital commerce .While this still under wraps ,from the news we know this is going to be shopify with lots of open elements to it .That includes discovery ,payments, onboarding and fulfillment .One need to also note that the main aim of ONDC is include the uncovered sellers than rival amazon or flipkart . Getting build on the lines of UPI this is probably also first of kind aggregator that is open and not for profit !

GPS story : Just few days back indigo air flight landed using homemade GPS system . One must also note that ISROs gps buvan was launched decade back . Delays aside ,this is not a nationalistic cheer . Once you have cheap and open GPS technology that is tuned to local needs a lot many companies and secondary tech can come up . Mapmyindia is one good example who has google comparable retail map app .Not only that , is also by in many commercial car companies .It is matter of time that someone come up with india based automatic driving software .This will be significant moment not because its indian but there are many situations and use cases in autonomous driving that exists in Asian/third world countries that it will important event .

While these examples are few but they are foundational . Coming from government bodies it is also important to note how this contrasts to US style Macho man/Tony stark kind of hero driven innovation and making a dent in the universe type of discourse .This is a healthy model and its occurring is akin to india paying back the software world its debt .

Afterthought

I had some good stories to cite from japan,uk,france,israle but this one isnt essay on software vs countries .I also had good urge to cite hike and postman but again this wasn’t essay on indian companies . But i would love to see a post someday on significant open source contribution by companies operating in india .

Categories
Software

Sanskrit ,AI, NLP and Compilers

There is one social media post that keeps doing round. It says that some NASA scientist claimed Sanskrit is most suitable language for AI.People laught at it as fake news. Here is link to 1985 article that started it all.
But why is this fact not underlined loudly you may ask. Multiple reasons.

First the fact that sanskrit has oldest codifed grammer ,some 3,4 BC are attributed to Panini who worte it. The main feature of this language is that it denotes same meaning even if you put words in any sequence. This happens via reflectivity .In simple term the pre-post fixes of noun applies to verb, adjective and derived forms. This is very neat preservation of semantic meaning. For other aspects of grammer this language has very logical,maths like rule.Which feels like a programming language.

Now, this aspect of sanskrit is given mention in intro sections of big books on compilers and pasrsers.Including the lagend MIT professor Noam Chomsky whose language theory formed basis of Natural Language Processing. But world has moved of from prolog and lisp to more sophisticated models of NLP. So the early theory of the field wont get mention in new papers ,there is no motive here. Same has happened to works on compilers.

Cut to today our early NLP libraries built on work of many researchers after Chomsky and relied on typical parse-toekn-interpret sequence.
The current champion of NLP ie BERT was celebrated for bi directional application of relationship which allowed it for better correlation of words in terms of their meaning. This feat actually derives from Sanskrit but its not an exclusive feature of sanskrit.So we dont have a reason to find prejudice.Nor can one person read all research papers where it might be mentioned.
Now the next phase of evolution of NLP is to move from sentences and arrive and comprehension at higher aggregate level.Like how you and me can understand poetry in all of its abstract metaphorical erratic flow.This calls for not only processing of language in terms of words-relation-meaning but also calls for iterative dive into parallel knowledge models and alternate meaning.Think of reading a satirical poem….
When the next production strength NLP winner, will be published it will derive from the reflectivity Sanskrit has; but its mention in the research paper will depend on the prior work the researcher has referred.
So,as much good the ancient languages is the way research methodology and citation works,we dont have to always suspect motives .

ps: I have tried to give very simplified view of NLP and Sanskrit here so experts in the field should pardon the simplified version of things.

Link to original paper of the images shown here : https://ojs.aaai.org/index.php/aimagazine/article/view/466

link to bert paper https://arxiv.org/abs/1810.04805

here is excellent article on timeline of parsing as technique : https://jeffreykegler.github.io/personal/timeline_v3

Categories
Software

Bhailang could be a turning point in indian IT industry

At the face of it ,its a fun language akin to brainfuck . That is main reason it is going viral now . But bhailang also highlights thee need to teach programming and computer science in native languages natively .
Each spoken language has different conceptual coverage and interrelationship .So when we teach a programming language (or any other science ) our main task is to translate these programming abstractions to their best conceptual match in the mental language of the student (every one has a thinking language).
One simple example is Indian usage of words like “relate to” or “adjust” .These are traditionally alien concepts to us .But we have kind of figured out what they mean in essence and we use them with fellow Indians. A native English speaker will find it amusing tough .But indians get it .That’s how spoken language work. They represents a unique world of psycho-conceptual model that works on known conventions .
Coming to programming . What do we mean a=1 . Does a contain 1 or does it represent or does it refer or is it equal or is it assigned . Your answer will depend on the programming language .Your life is even more tough if you know multiple programming languages .

Who then makes sure that such thing is aptly conveyed to student in his thinking language .Consider another case , who do we really mean when we say a class abstracts another ? Can you explain that to me in your native language succinctly ? There are many such concepts in software which we haven’t consciously translate + conveyed (trans-convey) in our thinking languages .But in our mind this happens anyway ,unconsciously whiteout any formal check on correctness of it .

Few more examples: is specialization of , function is applied to ,is executed ,represents edge case , manifests as, multiparadigm or imperative language , normalization ,process communicates, async processing , stacked vs queues ,modular ,layered ,optimized …..

Of course all of us vernacular folks and their teachers have “kind of figured out” what all this means .But “kind of figured out” is not really the scientific way of learning nor can it guarantee accurate outcomes .
Bhialang with its popularity , raises this very question of trans-conveying of software concepts !

Check it : https://bhailang.js.org/

Categories
Software

when the party is over for indian software industry salaries

the great resignation wave has resulted in great salary inflation in India. For long multiple of 1.5 to 3 was where the mean lied . Now its very common for younger professional to claim 3 to 5 multiple. The skew is higher at less experience but that’s common thing in stats 🙂

This is not first time

But this not first such rerating ,we had similar events in last 2 decades .One in 2006 era and other one in 2012.In both cases the salaries were rerated .But in the years to follow we had very slow growth with passive push back from companies . This brings us to the discussion of brutal appraisals we will have in 2022-2023 era.

The hard math behind salaries

Every company whether they have a flat agile team or pyramid teams have revenue value assigned to their people. For services its driven by billing and is more obvious. For others its unspoken but such numbers do exist. Once this rush is over its natural that product owners and likes will do the hard math[for most companies IT is cost center ;for some its key differentiator ]. That’s when the hike, retention and appraisal discussion of next year are expected to be brutal.
The case might be easy if you’re working at internet giants or flush with cash unicorns. But for a vast majority these multiple will pose a moment of truth.

How to ride the tide

My advice to younger folks is to increase their talent multiple as much and as fast as possible. There are few skills in software like design, architecture, security, networking that are hard skills and they are function of time and exposure. But for professionals working in pure play language programming or framework programming its easy to level up in short time with practice. It is also important to note that pure play language or framework programming is also where people replacement is easy (its very easy to hire freshers in bulk and wait for them to mature ,say about a year). In  case of framework programmers the sheer speed of changes in their ecosystem means that such salary gains come with a time to live value attached to it.
So this great salary rerating is also call to action for making the individual difficult to replace :). Difficult in the sense of depth ,breadth, command over craft and also future proofing. Or else the same economic principle or supply demand that apply to goods can easily come hitting hard.

so level up, invest in your self fast.

( pasting below a skill map for anyone to chart their training journey in Indian software industry ,its something that I have been following for years and my resume has been styled as such 🙂 .I don’t claim this to be path breaking stuff but over years my Jrs have benefitted from this so there is no harm in having a look 0

Here is link to the xls i created ,if the image isn’t clear

https://docs.google.com/spreadsheets/d/1l5TBR76nEh-dUXc4FL1e95b2C9hadzn2vGiTb4MrSrg

Categories
Software

Emotional wellbeing at work in post covid era

Every morning when I wake up I get into panic till I start my laptop and login . This is shaped by workplace in distant past and old bosses who was proud of being very particular in tracking 9.15 hours . And then i become senior member of my team and it didn’t matter .But the panic still remains.

In other variation I feel that my boss will fire me today. There is nothing in my work history to support this, but the fear is real.

Back to work plans

Now that we are talking of return to office in 2022 it is important to note that emotional well being might be the key trend of the decade . The 2 plus years of pressure cooker experience we all had-still having has impacted us in many ways . and we don’t even know where and how of it. To begin with we need to accept that fears are not rational. We need to also move from cinema inspired list of mental issues to common man variety of emotional issues ,like i gave above . Which also means that the working mental health makes it very derogatory and un approachable .A more humane emotional wellbeing would be better view point to see it all .

What awaits us at workplace now

In terms of kind of emotional issues we might see , one need to move away from laundry list of ADHA,OCD, divorces and think about grief, dread , fatigue , distortion . These are more likely to show up at workplace as they work silently in the background .The last thing to note is that covid19 was like experiencing a car accident for everyday in last 2,3 years . The impact will be generational .It will take decades of work to get back to cheerful ,focused, motivated individuals that can operate in teams well . This also means the word productive is bad word, we need to now embrace healthy work as the paradigm .

The shift we need to make

One major point is about training and support .The default tendency of organization is to offer meditation or yoga session and email an counsellor helpline. However post covid world will need all of us at the floor to have more empathy , purpose and human connect .It is like moving back from industrial to tribal era of where your group was your main pillar of strength .I wonder how many companies can claim this in a healthy way . However, if you’re looking for arthritis relief, you might try CBD for arthritis relief your health concern.

The last thing is to also acknowledge that everyone in your hierarchy and business chain has been affected emotionally and are trying to balance themselves .It would be wise to think that we are now a gathering of teenagers helping each other to make sense of the world and unknowingly also decide how the generation will shape up. This not to sound alarm but emotional issues can run deep and take lifetime . I hope we and our workplaces are ready for it .

To kickstart you thinking , imagine that you join back at work and find one of you mate heads on desk style sleeping . How do you plan to react ? thats our starting line now …

Categories
Software

Log4J and Digital Supply chains !

The log4j incident spoiled the weekend for many people, including myself 🙂 . There was similar incident years back when some basic library around padding(read more :left-pad) underscores in nodejs ecosystem was taken off by its maintainer . With open source -contributed modules proliferating across our software stack organizations now need to be mindful of their software supply chain .This is in line with how covid brought the same realization in manufacturing .

Hard fact about digital supply chain

If you are building a spring-angular kind of application , the long list of nested dependencies can be overwhelming .Now multiply that for the server stack you are running on . Below that the OS or cloud vendor would have some such . And below that your Hardware provider would have some . Orthogonal to are your logging solutions-gateways and downstream services . This is like movie inception .A world within a world -a world along side another .Now that we are aware of the rabbit hole ,lets go inside .

Need for mindful package dependencies

When we use library like spring or some apache solution like spark , the main focus is either on license model they have or feature comparison with an alternative .These are building block of our solutions now .Time has come for companies to be actively contributing to them .This could be of course in donations of money or developer time. For companies who dont want to have direct touch point ;new companies can come up to serve this need(check github sponsors ). Such a model already exist when it comes to corporate social responsibilities CSR mandates

Active governance of the stack

More important than the contribution is governance . We know multiple consortium like Foundations that exist via Apache , Eclipse , CloudNative or even old school JCP . Typically its software product vendors that show up here and most of the noise is around features . Sometimes politics 🙂 . There is a need of governance body or bodies that focuses solely on well being digital supply chains .It would be lightweight body focusing on compatibility, security and selection -retirement of dependencies . The mavericks might not like the idea of someone telling them which library to depend on . But such a choice is made by all developers where they consider health of a repo -popularity etc . Moreover remuneration of the maintainer of dependency module is one important aspect . When a disruption similar to log4j had happened with openssl , people were shocked to know about the sole maintainer of this library and how much he was paid ! ( read details here) What if such a sole contributor is sick when zero day issue are found or decides to retire . We are not even thinking of digital equivalent of repo inheritance ! About time we do

Possibility of espionage and cyber warfare

This might look alarming but this is needed to complete the converge of topic . When your code depends on a complex web of dependencies , it is a soft area for enemies to hurt . I am not aware of studies done for this topic (eg china study) . But it is not unthinkable for bad actors to get into role of contributor or some role into these repo . Once the actors are in they can possibly inject deep level backdoor or even a time or event based memory crash is good enough . I don’t want to paint a dark picture here but we have left the fences open for long here …

Politics can get in too

The nodejs issue cited above also has developer-corporate power tussle angle to it . There can always be some conflict between maintainer of a contribution module and the host body . Leaving aside the many ways this can happen , what fall back mechanism we have in such case ? Say a contribution module suddenly is taken off or expelled but your build pipelines have already married to this module , now ? We need a governance here .

At the same time one need to be aware of developer activism . Given that we have across globe developer communities it is not impossible that developer stage some sort of satyagraha ( refer Gandhi) and take down their repos . Or there is some huge anti amazon or anti someone sentiment and they change their licenses .

A more apparent one a country like china or someone against your country taking some action throwing your supply chain in disarray .

Stack Overflow here

It is little bit of expansion but given that a lot of code is copied from stack overflow these days , it is one hidden supply chain we have in our stack . Who owns a deep bug in such copied code ? or a recommendation around using some library . There can be many internal process checks here but stack overflow or its equivalent content site is part of the radar now .

Categories
Software

Dollar decoupling of Indian IT salaries

The rise and rise of salary offers

If you read popular news articles in India about IT, your would get a picture that everyone is changing jobs .Lately some media house have also started talking about the hikes and how big they are .A lot of these construe that due to covid19 people dint get hikes and now the jump ,or something on these lines .

Enter LinkedIn posts and you see lot of youngsters posting about how they got some offer and they manger to outgrow that with counteroffers .The percentages are huge .

At the same time ,the business newspapers and quarterly results hardly talk of huge contracts coming their way. How does then one connect this and form the coherent picture ?

The dollar peg of Indian IT salaries is off now

In a globalized business it is hardly a surprise that exchange rates come into picture when deciding employee salaries .However in the initial decades it was the IT services that defined job market. It also brought billing rates with it .The rates were ,generally linked to roles and designations . It also meant the hikes and promotion were aligned to annual results and big hikes came your way when roles changed . This is so fundamental to us that our hiring-retention discussion still center around this .

It is not an exact year but around 2008ish is when the captive unit movement started in India. This was first instance of that billing rate foundation was shaken .More or less .But the exchange rates still remained in background .

By next 10 years .To put a precise date , around the time Flipkart and Ola happened in India we had mass scale recruiters that the foundation of dollar peg was taken off. The more and more build for yourself software companies open here, the more prominent this trend is .

Covid19 or Buzzing startup : Where is the tipping point ?

Of course the startup scene in India is maturing .Do we then conclude that this alone is causing the scale of salaries in job offers to rise suddenly ? A buzzing economy does cause good hikes in salary , we saw that in 2003-2007 . So does post social shocks , like the hikes in 2011-2014 era. But that does not explain the suddenness .Nor do LinkedIn posts mentioned above say that everyone is jumping to startups .

It would be useful to consider other social-human aspects that covid19 brought to us.

  1. Onsite is less lucrative : The main hidden attraction in services companies was onsite posting .Covid 19 has made it look less attractive or even bad choice . So any market worthy candidate is now forced to discover his native-local worth .
  2. Subtle Social pressure is off : In absence of a survey , it would be difficult to guess the contribution of office atmosphere into long stays at companies .But this is important factor why people stay .Your friend circle ,the lifestyle keep people hooked .In some cases an inspiring or imposing boss contributed . In some cases your yesterdays bug or mistake made you push thinking about career to next day. And the main factor is formal arguments .There are many formalized workplace related arguments and anecdotes about satisfaction ,purpose and all that worked in formal work place .A lot of them meant different thing when you sit at home in lockdown. In some cases people told me they laughed at these stuff now.
  3. Family time reality check : There is big value that we attribute to continuity. This is one invisible force that keep people into same circles .In many cases semi urban rural families thought greatly of the work, workplace, companies .Working from home brought the reality check .The long calls ,shouting bosses and hours of hunch back coding on sofa looked different to them .Of course some must also be touched by care shown by companies during covid times .But the rosy picture that you have a IT-working kid that is very attractive in marriage market is realistic . The cost of the salary is obvious to them now. In some cases either families or individuals also got space and time to consider alternative careers .

All of above factor lead to an individuals who are well reflected about basics , bolder about their demands , gusty about the bargains demanding sharper differentiation . The LinkedIn post you see about counter offers are from such people who have market value !

The aftereffect we need to be aware of

My old friend the other say forecasted that this trend will not sustain .As of there is some alignment in poverty and forces of nature .One even said that later these companies will fire them or give 1 % hike .Any such comment ,reasonable or not misses the fact that hiring companies are also rational actors.

When we postulate that dollar peg of Indian IT salaries is off ,we must also consider that the talent peg is now global . Increased remote work and more startup had to have this effect. So the net result is that not only salaries but the skill demands are also catching up with global peers (emphasis is on skill demands as opposed to skill levels).

This is not to say that local talent was lesser .It is just that both factors are in sync .Looks like they will remain in sync. This needs some consideration by career minded people .

When we talked of billing rate dominated -pyramid workplace .We dint talk of a work place where skill levels where matched to client needs .In many cases the skill range was narrow ,in some cases it was not latest and in some cases it even allowed people to hide behind the pyramid without having good skills .

The movement from waterfall to agile in many cases exposed this .It is thus no wonder that agile and reskilling became buzzwords around the same time in India .How ever this far the the skill demands and salaries where not rising in sync.

I would like to postulate that now they are .This means that not only the skill levels will have to be globally competitive but also that the onus will now be more on individuals to stay on the edge of competitiveness .Proven and impressive hands on skills are already the norm in Indian IT hiring .This might also get into zone of industry leading talent levels .If the salary curves are to sustain and grow across years , aspiring candidates might be also judged on their tech-though leadership . Say open source contribution or patents or research papers would become norm. Ones teaching technology on professional platform or with books on their names .Even difference of opinion on established technology norms count as positive !

All of this is actually is good news for the community as well as the industry and the individual .We are looking at fitter techies who are well paid, can lead the agile trains, deliver industry leading work. Its win-win-win .

The only looser might be candidate who think that they are outsmarting the industry by squeezing the “hot market”.

In reality there is no hot market .All we have is market demanding top skills and able and willing to pay top rupee for it .Have good next decade Geeks !