I don't want to be negative, but this post reads like a list of things that I want to avoid in my career. I did a brief stint in cloud stuff at a FAANG and I don't care to go back to it.
Right now I'm engineer No. 1 at a current startup just doing DDD with a Django monolith. I'm still pretty Jr. and I'm wondering if there's a way to scale without needing to get into all of the things the author of this article mentions. Is it possible to get to a $100M valuation without needing all of this extra stuff? I realize it varies from business to business, but if anyone has examples of successes where people just used simple architecture's I'd appreciate it.
You can scale to any valuation with any architecture. Whether or not you need sophisticated scaling solutions depends on the characteristics of your product, mostly how pure of a software play it is. Pure software means you will run into scaling challenges quicker, since likely part of your value add is in fact managing the complexity of scaling.
If you are running a marketplace app and collect fees you're going to be able go much further on simpler architectures than if you're trying to generate 10,000 AI images per second.
Don't need any of it. Start simple. Some may be useful though. The list makes good points. Keep it around and if you find yourself suffering from the lack of something, look through the list and see if anything there would be good ROI. But don't adopt something just because this list says you should.
One thing though, I'd start with go. It's no more complex than python, more efficient, and most importantly IMO since it compiles down to binary it's easier to build, deploy, share, etc. And there's less divergence in the ecosystem; generally one simple way to do things like building and packaging, etc. I've not had to deal with versions or tooling or environmental stuff nearly as much since switching.
You don't need this many tools, especially really early. It also depends on the particulars of your business. E.g. if you are B2B SaaS, then you need a ton of stuff automatically to get SOC2 and generally appease the security requirements of your customers.
That said, anything that's set-and-forget is great to start with. Anything that requires it's own care and feeding can wait unless it's really critical. I think we have a project each quarter to optimize our datadog costs and renegotiate our contract.
Also if you make microservices, you are going to need a ton of tools.
I'm currently early in my career and "the software guy" in a non-software team and role, but I'm looking to move into a more engineering direction. You've pretty much got my dream next job at the moment — if you don't mind me asking, how did you manage to find your role, especially being "still pretty Jr."?
The things I did to get here are honestly kind of stupid. I started out at a defense contractor after graduating and left in the first six months because all the software devs were jumping ship. Went to a small business defense contractor (yep that's a thing) and learned to build web apps with React and Django. Then the pace of business slowed so after about 18 months I got on the Leetcode grind and got into a FAANG. Realized I hated it, so I quit after about 9 months with no job lined up.
While unemployed I convinced myself I was going to get a job in robotics (I actually got pretty close, I had 3 final level interviews with robotics companies), but the job market went to shit pretty much the exact day I quit my job lol. I spent about 6 months just learning ROS, Inverse Kinematics, math for robotics, gradient descent and optimization, localization, path planning, mapping etc. I taught at a game development summer camp for a month and a half, that was awesome. Working with kids is always a blast. Also learned Rust and built a prototype for a multiplayer browser-based coding game I had been thinking about for a while. It was an excuse to make a full stack application with some fun infrastructure stuff.
The backend is no longer running, but originally users could see their territory on the galaxy grow as their code won battles for them.
For the current role, I really just got lucky. The previous engineer was on his way out for non-job related reasons. He had read a lot of the books I had (Code Complete, Domain Driven Design) and I think we just connected over shared interests and intellectual curiosity.
I think that in the modern day, so many people are really just in this space for the paycheck-- and that's okay! Everyone needs to make a living. But I think that if you have that intellectual curiosity and like making stuff, people will see that and get excited. It ends up being a blessing and a curse.
I have failed interviews because of honesty "I would Google the names of books and read up on that subject" or "I think if I was doing CSS then I would be in the wrong role" (I realize how douchey that sounds but I just was not meant to design things, I have tried). But I have also gone further in interviews than I should have because I was really engrossed in a particular problem like path planning or inverse kinematics and I was able to talk about things in plain terms.
I think it's easier to learn things quickly if they are something you're actually interested in, it becomes effortless. Basically I just try to do that so I can learn optimally, then I try to get lucky.
EDIT: Oh I just thought of more good advice. Find senior devs to learn from. They can be kind of grumpy in their online presence, but they help you avoid so many tar pits. I am in a Discord channel with a handful of senior engineers. The best way to get feedback is to naively say "I'm going to do X", they will immediately let you know why X is a bad idea. A lot of their advice boils down to KISS and use languages with strong typing.
I did this myself for a good 15 years or so, but eventually with a family, money became a bit more of a priority, and it's hard to get a good job if all you've worked at is small shops. Any next role in a larger tech company will likely be a downgrade until you can prove yourself out, which of course you may not be able to because things are so different, and motivation will run low because you're being tasked with all the stuff that caused you to leave big tech in the first place. It can be quite miserable to be grouped with a bunch of kids with 3-5 YOE that have no idea how to build something from scratch, and they're outperforming you because they know the system.
In my case it took a good five years and a couple job hops to rebalance. But eventually you get back to a reasonable tech leadership role and back to making some of the bigger decisions to help make the junior devs' lives less miserable.
No regrets, but the five years it takes to rebalance can be pretty hard.
I think that my work is honestly the most important factor in my happiness. I spend 8 hours a day (probably for the rest of my life) at work so it's going to be the thing that impacts me the most psychologically in my life.
After realizing that, I decided I'd try as hard as I possibly could to never have to work at a job that I didn't like. I already didn't want kids so that part is easy. The other part of the equation is saving lots of money. I'm not an ascetic by any means, but I live well below my means on a SWE salary which means I can save quite a bit of money each year.
I also recognize that not wanting to go corporate severely limits my options down the line. But capitalism is all about making money for other people. If I can make someone a lot of money, they're not going to care about if I have the chops to stand up a Kubernetes cluster or write a Next.js app or whatever (I hope).
I don't think I'm super smart, I'd say I'm pretty average for this line of work. But I reckon that most SWEs are focused on learning new technologies to get to their next job, or are overly concerned with technical problems. I like to think that I am pragmatic enough about only doing things that are going to deliver business value to make up for being average in smarts.
Anyways, there's not really a point to this rant. These are just some thoughts I have had about optimizing my career for my own happiness, and how I hope I can stay a hot commodity even though I hate working in the cloud and my software skills aren't bleeding edge.
Currently working at a $100M valuation tech company that fundamentally is built on a Django monolith with some other fluffy stuff lying around it. You can go far with a Django monolith and some load balancing.
Stackoverflow famously grew huge for a long time on a single Windows box. I don’t recommend that but yeah KISS rule definitely. Floss version: supabase, open telemetry, etc.
I work at a startup and most of the stuff in the article covers things we use and solve real world problems.
If you're looking for successful businesses, indie hackers like levelsio show you how far you can get with very simple architectures. But that's solo dev work - once you have a team and are dealing with larger-scale data, things like infrastructure as code, orchestration, and observability become important. Kubernetes may or may not be essential depending on what you're building; it seems good for AI companies, though.
30-40 people; not much TPS but we're not primarily building a web app; we have event-driven data pipelines and microservices for ML data.
If you're primarily building a web app, a monolith is fine for quite a while, I think. But a lot of the stuff in the post is still relevant even for monoliths - RDS, Redis, ECR, terraform, pagerduty, monitoring/observability.
It sounds like they were never given written confirmation for the bonuses. How likely are you to face penalties if you put a "time bomb" in a codebase like this? Something with plausible deniability like let's say like an authentication script that you have to run every 30 days or the program stops working for "security reasons". Also you're the only one who knows where the script is and how to run it.
This won't get you the bonus, it'll just get you possibly sued and/or prison time.
I think a better fix is to just not give to a company what you would regret giving. Don't put in 80 hours a week for months unless you have good reason to think it's going to be worth it and do it with the full knowledge that you might be gambling on the company's generosity.
I mean, you could come back as a contractor and have them pay your rate to show them how to get the authentication script authenticating again. Obviously this isn't ethical.
> Don't put in 80 hours a week for months unless you have good reason to think it's going to be worth it and do it with the full knowledge that you might be gambling on the company's generosity.
I agree. I'm also not 100% convinced the original story is even true.
Is there anywhere to read about what CI/CD looks like for a Mars rover? Curious what a pipeline for something like that looks like and how they account for bugs, what kinds of conventions they must use to keep errors from occurring.
> All of this would end in an instant if Hamas would give up hostages and surrender.
No, it would not. There would still be 400,000 Israeli settlers in the West Bank. Palestinians in the West Bank would still live under occupation. Do you think that situation will not also reach a boiling point and end in ethnic cleansing as fascist rhetoric in Israel increases?
> Modern-day Zionism to me and many others means that Israel has the right to exist.
I think the framing of this argument is so tricky, because states don't have any rights. States aren't human beings. There is so much to unpack in the statement "X state has a right to exist".
> On other hand, my interpretation of people who are self-proclaimed anti-Zionists logically flows from above statement that they believe that the present state of Israel DOES NOT have a right to exist. Which implies deportation of extermination of 6 million Jewish Israelis
I am not saying that Israel's borders should be dissolved, but if Israel and Palestine were integrated into a single state where Jews and Arabs had equal rights, would this not still be a home for Jews?
Destruction of the state of Israel is not equivalent with the genocide of all Israeli Jews, unless your definition of genocide is the same as the one used by white supremacists in the US, who believe that letting non-whites into the country is genocide.
The point I am trying to make is that is Zionism, by your definition, exclusionary? If so then what you are describing is an ethnostate, which many would argue is a fascist idea.
Jews, Roma, Kurds, and all ethnic minorities deserve human rights. However, they are not entitled to statehood and their states are not entitled to any rights themselves.
Also, I do agree there are antisemites who say "zionism" as a dogwhistle for "jews".
Do you really think this is possible? Can you name a single state in the world with a majority muslim population that hasn't adopted any laws based on religion or passed any laws that discriminate against non-muslims?
Do you think it's realistic that if Israel is replaced by a new state tomorrow that has a majority arab muslim population it won't quickly become somewhat theocratic and enforce some degree of religious law against people of other religions? I think this outside view of a one state solution pretends the entire population of Israel believes in some sort of Western Democratic values and will provide a strong foundation of individual rights. I just don't see good evidence for that.
> Can you name a single state in the world with a majority muslim population that hasn't adopted any laws based on religion or passed any laws that discriminate against non-muslims?
I don't know that Turkey has zero discriminatory laws against non-muslims, but they managed to operate as a secular state for almost 100 years before Erdogan.
> Do you think it's realistic that if Israel is replaced by a new state tomorrow that has a majority arab muslim population it won't quickly become somewhat theocratic and enforce some degree of religious law against people of other religions?
I have no way of knowing this.
> I think this outside view of a one state solution pretends the entire population of Israel believes in some sort of Western Democratic values and will provide a strong foundation of individual rights. I just don't see good evidence for that.
Noam Chomsky and Norm Finkelstein both agree with you on this point, and I tend to agree with them. My argument was not that a one-state solution was viable, but I was trying to get the OP to say if their idea of Zionism was exclusionary or not.
Personally I do not think that a one-state solution would be possible unless mass de-radicalization took place, because Israeli ethno-nationalists see coexistence as genocide. I think the most viable option is a two-state solution, where a competent Palestinian standing army could hopefully force some sort of detente.
> Can you name a single state in the world with a majority muslim population that hasn't adopted any laws based on religion or passed any laws that discriminate against non-muslims?
Ironically this can be applied on isreal which declare itself Jewish state and have law of return [1] which allow any Jewish a right to "come" to isreal but does not extend the same to arab who were kicked during establishment of isreal
I'm not arguing there shouldn't be two states. I see the best path forward as likely Israel existing as a Jewish state and Palestine existing as a Muslim state. I don't think either side has a majority population willing to exist in a state with absolute freedom of religion and no religious policies. Far fewer people live as oppressed minorities if there are two states than if there is one.
As a westerner, I have never heard a single person in the western sphere mention a peaceful, non-occupational one state solution. How common is the idea of a democratic single state solution in Israeli politics? Do the advocates for it have a plan for dealing with the backlash from extremists on both sides? I'd like to read more about it. Now in the west it seems like even the two-state solution isn't up for discussion post-Trump.
The idea is common, but is rejected by the Israeli mainstream because they fear demographic changes - Palestinians are poor, so they have bigger families, hence eventually they would outnumber ethnic Jews and <insert fear here>.
If this sounds very similar to "great replacement" fears in US and Europe, it's because it is based on the exact same principles: the concept that a state's ethnic composition should be fundamentally immutable, and it's legitimate to fight against any threat to this immutability with discriminatory laws (or worse).
Unsurprisingly, that means that the European right, these days, have largely dropped their traditional antisemitism, and will happily share a platform with the Israeli government. The fact that a purposely Jewish state now cooperates with the heirs of Hitler and Mussolini should surely appear revolting to Israeli citizens. Alas, it does not.
Funnily enough, these arguments also deliberately ignore second generations, which by virtue of living in the country, they form a more cohesive identity based on the country itself, so diluting this ethnic composition in usually a positive fashion.
To add to this, OP if you want to learn more about why Israel is so callous to Palestinian life you need to learn about the Israeli right wing and how it came to power. I mean, this whole thing goes back further than that but for understanding today it really helps to understand the movement of ultra nationalism in Israel from the fringe into the majority.
Fascism does not "just stop". You can already hear the far right wingers claiming that Israel also has a right to expand into Lebanon and the Transjordan. Ironically looking at how Germany was radicalized is really useful for understanding how Fascism has taken hold in Israel.
A common sentiment I have heard in the US is that "TikTok causes antisemitism".
What I believe is actually happening is that TikTok debunks a lot of Hasbara talking points about the Israeli occupation of palestine (because people can see the violence with their own eyes), but then people are not educated further about the nuances of Zionism and Judaism, the different political movements within Israel like Gush Emunim and how they are not related to Judaism at large.
Because Israel has so successfully conflated Zionism (a political movement) with Judaism (a religious one), it increases the possibility that when westerners stop supporting Israel they can adopt antisemitic viewpoints.
> when westerners stop supporting Israel they adopt antisemitic viewpoints.
That is very definately not a given. There are many, a majority I hope, of "westerners" who oppose the actions of the state of Israel without becoming anti semetic
Not all, sorry I should have qualified that statement. I was just trying to point out that when Israel claims that it stands for all jews, it can backfire and actually end up causing more antisemitism. I have added some qualifying statements.
There is disinformation on TikTok. There are white supremacists and antisemites that take every Israeli conflict as an opportunity to spread their hate. This is true.
What is also true is that you can clearly see Israel conducting a genocide live, while every news outlet in the west denies it or justifies it.
I am not talking about fake news, I am talking about citizen journalists, footage of children who have been pulled out of rubble. Footage of leaflets dropped on a column of refugees. The civilian death tolls that the US confirms themselves. The harder Israel denies their atrocities, the stronger the backlash becomes when people see the truth with their own eyes.
Israel's far right and Netanyahu bear a huge amount of blame for the rise of antisemitism, because they point to these atrocities and say "this is what Jewish people globally stand for".
Are you sure you can see this genocide? Remember when there was footage of Israeli bulldozers crushing people and it turned out to be footage of Egypt from 2014? Just because some social media account says what you’re seeing is the truth doesn’t make it so.
Yes, I make sure that I have verified that what I am seeing is real. I immediately do a fact check. I read Haaretz because if Israeli media is confirming it then it is undoubtedly real.
So many people ask "how could people have just let this happen" with respect to the Holocaust. This is how. They didn't want to believe it. Or they justified it. Or they were more worried about other things.
This is literally the second sentence of that article.