I went through some comments, and they give the worst advices. Those are not advices, those just lost opportunities. Or simply regrets. Like my mom likes to say "I knew that was coming!", how the fuck did she knew anything? Sure a lot of people in 80 thought about investing in IT stock, but they did not. Sure a lot of people thought about buying bitcoin for a cent, but they did not. And you know what? Those who did, they might be not with us anymore, or maybe they are living happy live, and not going to post anything here.
I would not change a thing in my life! I am happy where I am.
2002 - went to get my math degree in Russia. Knew close to nothing about software development.
At that period of time, I was thinking about I wish I had a car, so I could work as a taxi driver, and make some money. I should have started collecting for a car a while back.
2005 - sold my first tiny program to a small factory. later got my first job as software engineer.
At that time I was pretty happy, that I did not have a car, and actually spent that time learning more than university could give me. And was able to make some money. That summer I also worked at construction.
2010 - got my first remote job for a company outside of Russia. Started making 5x times more than I used to.
At that time I was thinking, that I should have done it before. But hey, I did not have knowledge and experience. I am glad that I have spent that time not only working, but also learning, getting into community, got Microsoft MVP and MSP awards.
2011 - got a job in Microsoft, moved to USA. If you look at how many big macs I could buy in USA vs Russia, my salary probably went down maybe 2-5 times (if it matters it was $54,000USD in Russia vs $92,000USD in USA).
Was thinking every day, if moving out of Russia was a good idea or not, because Microsoft salary in Redmond was not the best at that time. But you know what? Now I am definitely glad that I moved away from Russia!
2013 - moved from Microsoft to Splunk. Best job I ever landed.
Certainly was thinking that I am so late in the game now. All those kids from college making so much money. And I am in getting close to 30, and only started working for a real company. All those smart people around me. Regretting that I invested more than 10 years in Microsoft technologies, when all the startups in Linux and cool languages like nodejs (it was very popular that year).
2017 - joined Stripe for just a year.
Definitely was thinking that I made a mistake joining them. Great company. I was on the wrong team. The manager could not explained me correctly what the team was doing - "hey you worked for Splunk, that includes Search - we doing something related to search" - turns out that was data engineering. But! Usually I would dedicate 40 hours + unlimited a week for a company I work for. But in case of Stripe my project was sooo boring for me, that I started building my own company while riding a bus everyday 40 minutes one way and 40 minutes another, and in the evening.
2017 (end of the year) - sold my first license for the software I have built.
2018 - left Stripe. I started working 80-100 hours a week. For at least two years. That was not a hobby anymore. There was a stress about starting my own company knowing nothing, and every day fighting with something new and unknown.
2024 - I am making Google Principal Engineer total salary and work for myself. I am very happy and don't want to change a thing. Because every single thing brought me to a place where I am right now.
I went thought painful divorce (happily married now, again). My dad recently died, and I could not go to Russia, because of situation right now. One of my dogs recently died. There is a lot of shit happening around me. But I am happy.
But yes, there is one thing, that I kept saying that I would change. If you want to have kids - make them in your 20. But you know? If I had a kid, I would probably be in a different place right now. Maybe I just did not want to have kids, that is the reason why I kept saying that.
My point is, do not look back. There is going to be so many people who would say, if only I was 10 year younger, or if I knew 10 years ago. Just 2 years ago we were saying that there could be nothing bigger than FFANG, but hey OpenAI came out of nowhere. Maybe OpenAI is going to die next year as a company, and sure there is going to be somebody like my mom who would say "I knew that was coming!" How the fuck did you knew?!
Read the journals and think tank publications - people get intimidated by the idea, but it's actually not difficult, especially after you become accustomed to it. If you read HN, these publications fit right in, in terms of complexity.
As with every field, you will discover a different plane of existence for knowledge, like people from an arid continent discovering another with far richer, deeper, more productive soil, with more vivid and interesting flora. You can't even describe it to people who haven't been there, who have never left their arid land (most of the Internet) and can't imagine a better world; they don't understand. (An example is going from newspaper science journalism to reading the journals Nature and Science.) It's sad - one of the great boons of the Internet is that now, all that wonderful knowledge is at humanity's fingertips, and instead they stay in their arid world (with floods of mis/disinformation added to it).
The general rule (with anything) is that the greater the latency, the better the information: Continuously updated (eg social media, cable news) publications aren't as rich in knowledge (or as accurate) as daily ones, which aren't as good as weekly, ..., which aren't as good as books. Don't get caught up in the daily cycle; get ahead of it - far ahead of it - by first reading the 'high-latency' publications and fitting in low-latency where you can.
---- Journals
* A good place to start is Foreign Affairs, written for professionals and what I'll call the serious public, and written by leading experts and practitioners, from US presidents and cabinet secretaries to leading diplomats to academic experts. Published quarterly.
* Another good one is Political Science Quarterly, with serious papers written by political scientists for the public. It has much more than IR, but that material is also fantastic. Stop reading everything else and pick up PSQ.
* You can find lists of the leading academic IR journals by impact. Just like in the natural sciences, there are journals where the big discoveries are published, specialised ones, etc. Look them up and see what fits your interests.
* The most valuable use of time, IME, is to read the book reviews in the journals: You learn about the leading books and ideas in IR, and from the expert reviewer you get another point of view, context, and they will talk about yet more perspectives. Also, what experts say in passing, the knowledge they've internatlized, can be the most valuable to the amatuer.
---- Think tanks
Anyone can call themselves a 'think tank', so you need to be careful. Some have tremendous expertise and seriously pursue creating and disseminating valuable knowledge. Some are the pet project of someone with some cash to spend. Some are holding tanks for experts whose party is out of power - they rotate between political office and think tanks, depending on who wins the election. Some are created to cynically provide intellectual cover for political and ideological groups - conclusions are predetermined by political leaders, the 'think tank' just finds ways to give it intellectual legitimacy (Heritage comes to mind). Many are bought and paid for by donors, including foreign powers (e.g. the Saudis), or by relationships with a particular government.
Material from good think tanks can be invaluable, making the analysis you read in even the best newspapers (even the NYT, etc.) obsolete. For the 'intellectual cover' ones, you can see their effectiveness when their talking points are repeated in newspaper op-eds, and then by your friends and neighbors (and HN commenters), and then become common 'wisdom'.
IIRC the University of Pennsylvania publishes a guide to think tanks, which might be a good starting point. Among the leading think tanks in IR are Brookings, CSIS, Chatham House (UK), Carnegie Endowment for International Peace, the Washington Institute (for the Mideast - biased, but great info).
Finally, be sure to find think tanks in other countries, for completely different perspectives. Australia, for example, is English-speaking, has sophisticated IR, but is so geopolitically far from other English-speaking countries (almost all in NATO) that you can get a very different and eye-opening perspective, especially about China.
---- Daily analysis
Foreign Policy, which seems to cater to the Washington diplomatic community, can be pretty good. But again, beware the low-latency trap - it's not nearly as rich in knowledge as the journals and think tanks, IMHO.
There's also Defense One and Breaking Defense, which aim at professionals and the industry. Beyond newsy items, they have essays from leading experts, and analysis on a different level than even the NYT, etc. The defense industry is enormous, and my impression is that you can much more easily find material aimed at it than the tiny diplomatic 'industry'. But miltiary is just a means of IR, and there is much overlap - including in trying to prevent warfare.
George Orwell noted during WW2 that fascism didn't have a good definition (see https://orwell.ru/library/articles/As_I_Please/english/efasc). This is during the culmination period of a literal world war against fascism--and it was still liberally thrown around as a slur against anybody whose politics you didn't like.
This isn't a binary choice. In Scala, you can use Throwable or Exception as your error type with Either:
Either[Throwable, Option[Foobar]]
The type Try[T] is essentially Either[Throwable, T]
Either[Throwable, T], Try, as well as IO from Cats Effect give you the stack traces that you expect from conventional Java style, with the superior option of programming in the monadic / "railway" style. Try also interfaces nicely with Java libraries: val result: Try[Foobar] = Try(javaFunction).
HN demonstrated its common ability to surface prolific posters who identify as autodidacts and appear to have gone on a Wikipedia binge this morning, but who nonetheless speak with a confidence that until now may only have been demonstrated by ChatGPT.
Just so hopefully this doesn’t come across as insulting and for context, I spent my entire long career as a journeyman enterprise CRUD developer until 2020 working for mostly unknown companies.
What do you think you have that sets you apart from all of the other developers who are looking for a job?
If you can’t answer that question and you are randomly applying for jobs through job portals, it’s no better than playing the lottery.
While I have been working for a long time, I stayed at my second job for nine years and by 2008, I was very much an expert beginner at 34 years old. The only thing I had going for me were soft skills and I was a good “developer”. But I was a horrible “software engineer”.
2008 was the first and last time I randomly submitted my resume to portals. After getting another job and while muddling my way through the recession, I answered every recruiters call, accepted lunch invitations, went to local tech events and built a network.
I read this a few years back as I was going down an object-capability rabbit hole and found it extremely compelling. (And also made me disappointed that most of the systems we use today do not work like this! Code execution vulnerabilities would be so much less immediately hazardous if they did.)
The US military is the ultimate representation of this "managers-are-replacable-units-of-work". Officers (managers) are yanked around the world from job to job every couple of years. There's a degree of specialization early (infantry, pilot, logistician, etc) but that is really just an initialization step to make sure the organization has sufficient coverage for all the junior jobs. Future jobs progress toward generality. This leads to generals and admirals with supreme knowledge of fundamental policy issues, and deep connections with lots of peers, seniors, and subordinates. But there is a frozen middle of non-attaining careerists who are either entirely competent but were passed over for the next rank and are now looking for the door, and incompetents trying to hold on as long as possible. The paradox is that, in this frozen middle, it's the incompetents who seek power (in the hopes of getting that promotion) and the competents who are unloading responsibilities as they prepare to transition.
This has created a new problem, where the existing leadership is looking for traditional signals for promotion and seeing this bizzaro world of incompetents doing the key thing it takes to promote: exercising power at a fairly senior level (a typical officer in the O-6 grade is responsible for about 1000-5000 people), and remember, the flag officers have those deep connections, they know who's competent and they know those people aren't seeking additional responsibilities. So they got Congress to authorize bringing in outsiders at the O-6 level (clearly competent, and have exercised authority at that key 1000-5000 head-count level, or at least 500-1000), which pisses off the career-competents to no end and puts the fear of god into the career-incompetents, exacerbating the situation. Yet it did nothing because who in god's name, making 500k on the outside, is going to take a $150k job at the Pentagon and live in a shack 20 miles outside the Beltway and endure that commute on the 66?
So now the flag officers have finally also gotten authority (finally) to start forcibly retiring the dead wood from the senior ranks: O-4s, O-5s, and O-6s who have failed to select for the next rank several years in a row, frequently sitting in jobs that could be filled by O-2s or O-3s. Keep in mind, the head-count at each rank is capped by Congress, so the competents can't even promote around the incompetents. It's a war of attrition where the dead wood wins because the opportunities outside outweigh the opportunities inside. At which point it really does start looking like a jobs program. Thus these new "continuation selection boards".
This is a real problem. I had one of these incompetent O-5s sitting in an O-3 billet working for me and getting that person transferred out of my group was the single best thing I ever did for group morale. And before you accuse of me of just pushing the problem onto another group, let me just say that steps were taken to ensure this individual will also be seen further up in the CSB list.
But even that new culling process seems insufficient. The standards for record review are too high, and the observed number of forced retirements is too low. The system is driven by fear, uncertainty, and doubt. All the way down.
> 6502 assembly remains a really good intro to assembly
It... really is not, though. It doesn't teach you macro assemblers as they exist in the modern world. It doesn't teach you interaction with the linker except in the simplest ways.
And while the instruction set is "simple" in the sense that it can be understood on a page of paper, lots of critically important ideas don't exist in a meaningful way. Modern techniques like register assignment aren't possible given the limitations and non-orthogonality of the CPU state. There's no "ABI" equivalent you can use to call a standard function, and even something as foundational as "passing arguments" to a function isn't directly expressible, because the "stack pointer" isn't actually a pointer. In point (heh) of fact, no pointers are pointers because the 6502 doesn't actually have an abstraction for a memory address!
Everyone should learn to hack on an Apple II (and good grief, not a Commodore unless you are trying to learn VIC-II or SID hardware), but not to teach themselves "assembly" as a skill they might apply elsewhere.
In fact it's almost the same argument used for why we teach new kids Python and not BASIC. The latter just isn't a useful tool for expressing the concepts you need to learn.
Nuclear is dead - in the US anyway. Nuclear never made sense in the US. We aren't the kind of society that can make rational, scientific, economic decisions. Nuclear REQUIRES success at that. No pro-nuclear arguments are going to change those societal facts on the ground. Nor is their any reason to try - because nuclear is dead.
A lawyer died and arrived at the pearly gates. To his dismay, there were thousands of people ahead of him in line to see St. Peter. To his surprise, St. Peter left his desk at the gate and came down the long line to where the laywer was, and greeted him warmly. Then St. Peter and one of his assistants took the lawyer by the hands and guided him up to the front of the line, and into a comfortable chair by his desk. The lawyer said, “I don’t mind all this attention, but what makes me so special?”
St. Peter replied, “Well, I’ve added up all the hours for which you billed your clients, and by my calculation you must be about 193 years old!
The generalist view is that nobody is using Erlang for modern telco workloads anymore.
(yes, there are exceptions. Bear with me)
I learned Erlang when we were programming Ericsson voice switches some twenty years ago, and even though Nokia also adopted OTP and did some pretty amazing things with it (including a Hadoop analogue that used Erlang to coordinate Python workers across nodes), I have only come across Erlang when looking at legacy workloads that needed to be moved to the cloud.
NFV and CNF efforts (i.e., virtualized and containerized network functions) I've come across over the past few years seem to be mostly Go or C++. Jaeger is a common tool. I see a lot of Postgres. I also see really weird CNI approaches (check out multus, because telcos still can't get over having dedicated network interfaces for things even though it's all just a virtualization sandwich and they really should just learn to use network policies).
The technicalities run deeper than web apps (because some thing are very, very finely tuned), but the key point is that the telco "bleeding edge" landscape is now indistinguishable from "web scale" K8s discussions, except that telco workloads demand fixed resource allocations nd we still rely _a lot_ on CPU pinning of specific functions due to latency/jitter sensitive workloads.
It's almost like you took low-latency, pseudo-real-time stuff from embedded systems and shoved it into K8s. No, wait, it's _exactly_ like that.
Source: I work in Azure for Operators and have been in the telco industry since the mid-90s.
This is my 30th year programming. I always hope it's my last. Programming for money destroyed the fun hobby long ago.
It's just reinventing the wheel year after year by this point. The last thing the world needs is more software.
The web is the crappiest platform ever conceived; I won't touch it. Social media is poison. Smartphones didn't impress me in 2007 and they don't impress me now. They're annoying and intrusive. I still like desktop software. I know, I'm a dinosaur.
I just don't care about computers any more. I don't care what direction the industry goes in. I'm not depressed and I don't need to learn a new language or work on a different project.
I love creative problem solving. What I do not love is solving whatever problems are handed to you without asking whether they truly need solutions, or whether it's good for the world. Much of what people want computers to do is a waste of time and of life. Whether it's bureaucratic corporate garbage or thought stopping entertainment.
Charles J. Sykes has been writing about this for decades. I recommend his books "Profscam" and especially "Fail U" for more information on why college has become so costly for such little return
Speaking of networking older games, I think the "TRIBES Engine Networking Model" is also an interesting read. Managing ~128 players over the internet in a single game back in the late 90's was no mean feat. A lot of these kinds of optimizations are still greatly applicable even today!
> I think even a person who is surrounded by people all the time can suddenly get this emotion of loneliness if he suddenly finds himself alone and everyone else is out to a party
Reminds me of some story I heard (would be great if someone has a source) that you can spot who has more chance of dying of suicide in social graphs, because they are connected to (perhaps many) people but are not part of a single clique (group)
> Luckily, all my friends are fellow techies who are upper-middle class, and can afford medication and therapy (and in one case, out-of-state long-term hospitalization.) But even with insurance, they're looking at many thousands of dollars of treatment.
Please understand that I am not anti-psychiatry at all. Your kid and their friends are best doing intensive therapy, and if necessary, sessions twice per week, outpatient. That is their best bet, health-wise. Because of taking Pristiq (desvenlafaxine) [SNRI] and Rexulti (brexpiprazole) for severe depression, I literally have suffered the worst thing imaginable, a drug side effect known as *akathisia*. In no exaggeration, it is worse than death. You have to move constantly, but it does not relieve the terror that you go through. You cannot physically relax at all. Your mind can only think haunting and terrorizing thoughts. It feels like you have been doused in gasoline, lit on fire, and you have been locked in a coffin. You literally survive moment-by-moment not to kill yourself. By the way, it is gruesomely painful from a perceptual standpoint. One time, when I was extremely sick, I went to the hospital and I had no idea whatsoever when I went to the emergency room that I was in sepsis along with diabetic ketoacidosis, due to being in the throes of akathisia. If you have it severely, it can cause violence and suicide. I had it severely and it lasted for about a year. I have 2 rare immune-mediated neurological disease plus type 1 diabetes (autoimmune and insulin-dependent). I have been through really terrible things in my life due to my health but akathisia by far takes the cake. It is in no exaggeration worse than death.
This is excerpts from Jordan Peterson (whom I do not agree with from a political standpoint) who is a psychologist who suffered from it due to benzodiazepines: https://www.youtube.com/watch?v=UIfllfH0k3I
> It's past time the West reckons with our mental health crisis. Why is it that we're the wealthiest nations in the world, yet our kids are more stressed and depressed than kids in third-world countries? I think society will only become more and more unstable until we spend time seriously addressing that question and adjust our culture accordingly.
Like what? Do what Russia (along with the entire USSR) along with former Yugoslavia did to political dissidents?
Did you know that they used to put political dissidents in 4-point restraints and inject them repeatedly with Haldol, in order to induce severe akathisia as a torture method? If you did not appear "crazy" before coming in to some place like the Serbsky Institute in Moscow, you would appear absolutely "crazy" afterwards whenever you came out of there.
And just FYI, this effectively happened to me in America (although clearly I was not a political dissident). I got picked up by the police due to severe akathisia. I was forced to go to a medical hospital for "observation". I told the nurses that I could not have antipsychotics (which they give for agitation--although akathisia makes you extremely agitated) due to it invoking the akathisia and making it worse. About a week prior to this happening, I had just been diagnosed with akathisia. My world-renowned neurologist in movement disorders put a bunch of allergies in my medical record, including Haldol which he noted the reaction as "Akathisia". However, this particular hospital did not have access to my medical records (thank you "free market"). The nurses said that it was just an "adverse reaction" and therefore I was to receive it. They forced drugged me with antipsychotics and I had to move nonstop and I went really crazy. I was put in 4 point restraints and I was going so crazy that now I even know how to get those things off when they tie them extremely tightly.
Anyways, that was the last straw for me when it came to staying in the United States. I am a Croatian (European Union) citizen so I can live abroad in Europe. Nothing will convince me to live in the United States, even though I have been an American citizen my entire life. It is no longer my homeland. And just FYI, Russia Today did a whole propaganda documentary about people who ended up with akathisia (pretty much all of the people profiled in the documentary had it) consisting of Americans taking a bunch of pills. It is called OverPill: https://www.youtube.com/watch?v=5722_XclQkY
I recently started to fork webkit to make it a Webview with a reduced attack surface. [2]
The most interesting part was the Quirks.cpp file [1] that contains literally randomized css classnames inside the web browser code because a major website was so shitty and spec violating in their implementations.
I mean, fixing a website in a browser source code...this shit got out of hand real quick yo.
The problem with all those drafts is that Google keeps doing their own thing, and others are forced to try to catch-up or implement the same bugs/quirks that chromium does. Everything is rushed so QUICly that even Microsoft gave up at some point. And at some point in the past google realized that they can own the web if they own the Browser. And that's what they effectively do now, because the competition isn't really a competition at all anymore.
If you can, give Tim Maughan’s Infinite Detail a try. It's SF on what would happen if the Internet disappears, and goes quite deeply into collapsing supply chains.
NetBSD-SA2021-001 Predictable ID disclosures in IPv4 and IPv6
NetBSD-SA2020-002 Specific ICMPv6 error message packet can crash the system
NetBSD-SA2019-004 IPv6 neighbor cache leak on expiration
NetBSD-SA2018-004 Remote Memory Corruption in IPv6
NetBSD-SA2018-003 Remote DoS in IPsec (IPv6)
NetBSD-SA2008-015 ICMPv6 Packet Too Big messages
NetBSD-SA2008-013 IPv6 Neighbor Discovery Protocol
NetBSD-SA2008-011 ICMPv6 MLD query
NetBSD-SA2008-003 IPsec in IPv6 Denial of Service
NetBSD-SA2007-005 IPv6 Type 0 Routing Header
NetBSD-SA2006-016 IPv6 socket options can crash the system
NetBSD-SA2004-002 Inconsistent IPv6 path MTU discovery handling
We don't use first person voice on resumes. We use 'implied first person' (no 'I'). So "Former emergency response driver..."
Mentioning a Twitter handle is only useful if your Twitter has things you'd want people to see.
The professional experience section (Modules here) should be in reverse chronological order - so most recent first. It would be useful to say something that you did while working for RustMinded and maybe tell the reader who the company is. So it might look like:
Software Developer, Rustminded $DATE_- present
RustMinded is a Belgian startup dedicated to the promotion of the Rust language.
As others have said, I don't really get the fascination with LaTeX. I get a lot of incoming resumes from my tech clients that are written in LaTeX. It feels more like "I built it using LaTeX to try and impress you" than "it's the best tool for the job".
The project sections are mostly OK other than some language issues.
micro-management, red tape, overly bureaucratic processes, and a lack of developer autonomy
and then this:
essentially have no process. Everything is ad hoc, nothing is written down, deployment is a manual process, and there are meetings and interruptions all the time
They weird thing about enterprise is: I see both happen at the same time.
We have an issue tracker, but its a bad product and the metrics are heavily politicized. So we track our issues in excel. No way to know on whose excel your name appears.
We have a document sharing platform, but the fine grained access control makes it impossible to let the relevant people read the document. So we mail different versions around and forget to update the central truth.
We have architecture documents, but they have nothing to do with what runs in reality. We can't document what runs in reality because it would conflict with the offical architecture documents.
We have a release process that takes a week or a month, and many paper is written about risk and impact, test plans, deployment plans, resource availability, etc... But the actual risks must stay unspoken lest the release is cancelled. Tests were done on an environment that is forbidden to resemble production. People ignore the deployment plan and do whatever they like, and thank god because the deployment plan is unusable. People are not available when things go wrong, because the deployment plan booked them for 2 days for doing 5 minutes of work and they decided their part was done.
The worst problem: Instituting any real process is impossible, because officially there already is one.
My previous job was working for $major_telco in the US, I was in network (not RF engineering). I left right as the "5G" train was starting, however I did get training and have pretty decent familiarity with the implementation plan and 3GPP release 15, the first release with the official New Radio (NR) spec. I also have a large understanding of LTE (3GPP release 10-14), so I'm happy to dive as deep as anyone would like.
For the details below I'm going to not use the term "5G", 5G like 4G is marketing. The technical specifications that more or less make up "5G" are the 3GPP standards releases[1]. The 3GPP is the standards body that ratifies the wireless network standards that nearly the entire world uses. For this discussion I'll ignore alternatives since "5G" effectively means the 3GPP standard.
The standard of 3GPP Release 15 (and newer) are improvements and build off the existing standards of LTE (releases 8-14). Its an evolution of the standard, much like 3GPP Release 8 (first LTE release) was an evolution on Release 5-7 (HSDPA-HSDPA+). While release 15+ are evolutionary, they are not revolutionary in that there is no magically discovered new physics behind it. The improvements largely lie with increased support for higher modulation levels (256 QAM was introduced with Release 14 LTE-Advanced), increased spectrum efficiency (variable sized framing allowed across difference devices and upload/download), mixing upload/download division types (i.e. using TDD[2] for download and FDD[2] for upload), improved MIMO (up to 64x64 in massive MIMO), improved beam-forming and additional frequencies.
Some of these improvements in Release 15+ were available in Release 14 or unofficially rolled out in release 14 + NR draft. I know one carrier that was pushing 64x64 MIMO for TDD LTE.
The new frequencies, many in the "millimeter wave" range, will help with with congestion in the "football stadium". There are two main limitations in high capacity events, the first is backhaul. Have to connect the stadium back to the core, and this is _always_ a bottleneck. The second limitation is available spectrum. No matter how many antennas you have in the DAS, there is a physical limitation to the amount of data that can be sent over the frequencies. The new millimeter wave help here, because while its very short range, its large width allows for a significantly higher number of concurrent connections.
The new frequencies, along with increased efficiency in existing frequencies, plus core changes are the main driver for the "latency" and "bandwidth" improvements. The "connected cars" and "connected IoT to cell network" are just marketing/sales departments pushing for new customers. The main "advantage" "5G" brings here is an increased capacity in the network to handle this.
A few other notes, unlike "3G"->LTE, the upgrade to Release 15+ for carriers will be a lot smoother. First, everyone is now on LTE, aka the precursor so there is no CDMA/EVDO networks that are incompatible that need rip and replace + compatibility modes (ehrpd). Second "NR" is designed to be compatible and multiplexable with existing LTE/LTE-Advanced enodebs, this means in one area you can have NR and LTE towers, and the NR towers can broadcast LTE for devices that are LTE only. This was not the case with the original eNodeBs, which could not handle backwards compatibility without physically separate BTS/nodeBs. Third, the new core for release 15 is designed with backwards compatibility with existing enodeb's. Unlike the previous transition which required a new core that was largely incompatible due to major design changes. So with "NR" RAN elements and existing LTE enodeb's the core can be seamlessly upgraded without having to run two complete networks for multiple years like in the LTE transition.
[2] TDD-> Time Division Duplex, FDD -> Frequency division duplex. Most LTE networks are FDD, a few (i.e. Sprint, Softbank, China mobile..) have certain spectrum they use as TDD. The difference is with TDD, you use the same exact frequencies for upload and download but you divide the by time. So basically t0->t2 is for download, t3->t4 is upload, etc. With FDD the frequency or "band" is divided into to two parts, one for upload and one for download. There is no time division for FDD but you lose of the size of the channel.
I would not change a thing in my life! I am happy where I am.
2002 - went to get my math degree in Russia. Knew close to nothing about software development.
At that period of time, I was thinking about I wish I had a car, so I could work as a taxi driver, and make some money. I should have started collecting for a car a while back.
2005 - sold my first tiny program to a small factory. later got my first job as software engineer.
At that time I was pretty happy, that I did not have a car, and actually spent that time learning more than university could give me. And was able to make some money. That summer I also worked at construction.
2010 - got my first remote job for a company outside of Russia. Started making 5x times more than I used to.
At that time I was thinking, that I should have done it before. But hey, I did not have knowledge and experience. I am glad that I have spent that time not only working, but also learning, getting into community, got Microsoft MVP and MSP awards.
2011 - got a job in Microsoft, moved to USA. If you look at how many big macs I could buy in USA vs Russia, my salary probably went down maybe 2-5 times (if it matters it was $54,000USD in Russia vs $92,000USD in USA).
Was thinking every day, if moving out of Russia was a good idea or not, because Microsoft salary in Redmond was not the best at that time. But you know what? Now I am definitely glad that I moved away from Russia!
2013 - moved from Microsoft to Splunk. Best job I ever landed.
Certainly was thinking that I am so late in the game now. All those kids from college making so much money. And I am in getting close to 30, and only started working for a real company. All those smart people around me. Regretting that I invested more than 10 years in Microsoft technologies, when all the startups in Linux and cool languages like nodejs (it was very popular that year).
2017 - joined Stripe for just a year.
Definitely was thinking that I made a mistake joining them. Great company. I was on the wrong team. The manager could not explained me correctly what the team was doing - "hey you worked for Splunk, that includes Search - we doing something related to search" - turns out that was data engineering. But! Usually I would dedicate 40 hours + unlimited a week for a company I work for. But in case of Stripe my project was sooo boring for me, that I started building my own company while riding a bus everyday 40 minutes one way and 40 minutes another, and in the evening.
2017 (end of the year) - sold my first license for the software I have built.
2018 - left Stripe. I started working 80-100 hours a week. For at least two years. That was not a hobby anymore. There was a stress about starting my own company knowing nothing, and every day fighting with something new and unknown.
2024 - I am making Google Principal Engineer total salary and work for myself. I am very happy and don't want to change a thing. Because every single thing brought me to a place where I am right now.
I went thought painful divorce (happily married now, again). My dad recently died, and I could not go to Russia, because of situation right now. One of my dogs recently died. There is a lot of shit happening around me. But I am happy.
But yes, there is one thing, that I kept saying that I would change. If you want to have kids - make them in your 20. But you know? If I had a kid, I would probably be in a different place right now. Maybe I just did not want to have kids, that is the reason why I kept saying that.
My point is, do not look back. There is going to be so many people who would say, if only I was 10 year younger, or if I knew 10 years ago. Just 2 years ago we were saying that there could be nothing bigger than FFANG, but hey OpenAI came out of nowhere. Maybe OpenAI is going to die next year as a company, and sure there is going to be somebody like my mom who would say "I knew that was coming!" How the fuck did you knew?!