10 blog posts, videos or books on software architecture and system design every Sunday. Distributed Systems, Databases, CI/CD pipelines, Architecture Patterns, Documentation and many more.
I've always been a bit weary about frameworks and very rarely it's actually helping. In my experience it often ends up creating more problems than it solves.
Depends a lot! I remember writing my own ORM framework for Android, because object mapping was too tedious. Spring may be good too. or Nest. But sometimes they are overkill indeed
It's not like MongoDB cost more, it was inappropriate storage. The rework required migrating to other database, but the client trust was lost at that time
Art is in the details. Yes, paintings that have no other use than to be looked at is often considered art but that's only because it lacks another classification. Art is in the eye of the beholder and there's as much chance now that someone somewhere sees art in software as there always has been. Outside of old men waxing poetic about how good things used to be nothing has changed in that aspect. Don't get me wrong, many things have gotten objectively worse over time but software as art hasn't died just because it is no longer the domain of the sweaty neckbeards. That's not a jab, I'm probably in that category myself. The main difference is that technology has gone from enabling people to do wonderful things to a tool used to oppress. Software today is just as capable of producing wonderful and unique masterpieces but the pressure to get on the hamster wheel has never been stronger. In fact it might even be more capable since open source software is one of the last ways disrupt societal norms by providing alternatives when companies overstep.
I don't know if this will reach the author but bro internal state is more dependent on internal chemical biological physiological state than the three abstract concepts mentioned because writing software is more complex than them, you know what I mean? Writing even parts of a software project regardless if the abstractions suck versions are old, is still more challenging and auto-rewarding than all three abstract concepts. So ... whats left is PROFIT I must say. You need to profit.
@@architectureweekly sure. Everyone strives for different level of responsibility and others. What I’m saying is that for senior role per se that’s too much. If someone interviews you for system design they another see you potentially above senior level or they overkill.
15:30 is a great point. When I got my current job I struggled for a while because I wasn't familiar enough with the industry. Then people talk with specific jargon, use acronyms and specific terms and you are there writing them all down so you can try to decode later what was communicated :D Languages, frameworks etc. are tools, and the domain knowledge is way more valuable in my opinion than knowing the tools.
These sound kind of interesting and I'd say I can already do a lot of it, for what kind of jobs would this be an interview for? This is one part of what is taught to software engineers in academia, so would it be software engineering jobs? Or perhaps something more higher level like architecture?
That's for software engineer/senior software engineers roles. At the big tech companies people expect you to design software to solve business problems.
18:55 - Wait, but I might be traveling and would like to order a ride for my teenage kid who is in my home city but needs to go to school - a pretty valid situation but will be recognized as a fraud.
the situation described here is just a sandbox example. There are way more levels of other fraud patterns that are considered to decide about your credibility.
I think focus is too much on the technology. I'm a .NET developer, 10 years of experience, and I see that a lot of devs still struggle with technology and producing code - and they are not even nerd who live for programming. They struggle to finish tasks, not delivering features that matter. They never grow past that and have the interesting conversation about software design and so. I rarely find someone who I can talk deeply about software development or even the technical side. And now companies seem to look for these people that I mention since they are the ones delivering without questioning the meaning of what they do.
@@train_xcI see building a 3D printer both in software and hardware/mechanics as an art, You can print with it whatever models you want which is definitely an artistic task
With all respect, I couldn't disagree more. My daughter shared with me one day "code is art that does stuff." I know that idea or even the phrasing isn't original to her but it summarized exactly my feelings and I carry it with me every day. I specialize in automations. When I automate a thing that previously took myself or another person or group of people significant energy or time, I FEEL like Michaelangelo. To me, it's so much more than a vocation. The language is the medium; Each line is a brush stroke; I could easily make a dozen more sappy comparisons. When I'm deep in code, It's easy to miss the forest for the trees, but when I step back and take the forest in, I'm always amazed.
You should see some of the massive, profit generating, and quite scalable systems I have written using... BASH. No, it's not the only language I know by a long shot, but depending on the domain of the problem, it can be all the tool you need, when used properly. Tools are just that. Sometimes good old tie wire is better than a custom fabricated bracket or zip ties, also.
I keep agreeing! I often get asked for C++ projects as freelancers. And my first question always is: “what is it that they are developing?” Because my background is in medical, graphical and low-level systems/embedded. I don’t know about simulation of traffic and tunnel emergency systems. That was the last requests, and the head hunter (they should not exist absolutely useless middle man)) was like but C++ is C++… And I couldn’t make him see that C++ was just a tool. I can have a screw driver and be a luthier that doesn’t mean I know how to build for example houses. We are technically both carpenters and some knowledge translates but they are two very different domains of carpentry. We both use viles, saws and routers but we use them so differently.
Oh man web dev in 1995, that was when I started to hate the web. Perl cgi-bin, mSQL. Capturing the HTTP request to get the tokenized arguments ugghhh…. And using tcpdump to see what dynamic sql was generated and what web requests came in and out. React and C# Blazer improved it but it’s still not as flexible and robust as just desktop software. I still hope WASM will take off, where we can just developed desktop applications (that are blazingly fast) with whatever library and it would be smart enough to abstract that into wasm. But…. The problem is the fact that each OS has a different way of professing graphics and to cross compile say Qt (I love it) to then have some web graphic abstraction is really hard. We should have a unified Graphics api that works on everything and is really simple like we used in DOS, just a memory block you write your data into per pixel. Your graphics/ui libraries can actually compile to render that and wasm can then easily use that. We went too far with idiotic abstractions. Why is it so incredibly hard to just render a single pixel through hardware these days?! All the proprietary GPUs uggghh
I agree that there’s too many different technologies in IT and all of them are crap! I find myself reaching back to C (or Zig) and procedural development. Because the best software I wrote was raw C and assembly and they are still running in certain places (after almost 30 years). Web crap doesn’t even live for 5 years because they’ll rewrite in the “next best thing”. I hate Web development, it’s a disease! Just like browsers are terrible things for high performance software.