You confuse building with planning. In software building is actually compilation/bundling or running software step. Programming is planning like planning layout of tracks or planning rooms, which equipment should be where etc.. How long did it take to make plans for railroad or hospital? Keep in mind they most likely had already existing plans like having plans for emergency hospital ready in case they need them. But creating those plans most likely took much longer or those plans were reused from existing ones. Most likely all building components were prepared beforehand and no one counted time how much it takes to align stuff before you can "build a railroad in only 9 hours" - I can say by bringing in tools and materials for 3 months or more in advance.
Mateusz Jakub
Posts
-
Can software be built similarly? -
Can a student that can't even handle freshman calculus possibly be a good programmer?You still have Salesforce consultants earning big bucks for configuring it, someone still has to configure/maintain SaaS form generators. Business people mostly won't even know what or how to ask AI - you already have whole bunch of "prompt engineers". When "business people" start actually making things instead of having coffee with each other then I will start to worry and I don't see it coming any time soon.
-
How do you deal with technical debt?How do you know it really is technical debt? Most of the time I see on my team people just nagging because they don't want to spend 20 mins reading and understanding the code. No - not every code should be just drop in and understand it in 30sec. Devs on my team also nag about things that were developed 5 years ago and basically no one touches that code - maybe once in 2 years. I don't consider that code tech debt - they just have to spend time understanding it not rewrite something that is barely changed at all. If something is changed and evolving all the time like every month piece of code is updated and it requires 20 mins to grasp it again for someone who also changes it on monthly basis - yeah that is a problem, but then is it code problem or the person.
-
Pi-hole and ISP-provided routers...What I did was to setup yet another RPi in front of ISP router as my own router and of course the other as DNS/PiHole. So basically I had my other local network that was having my RPi as a gateway to "ISP local network" that had gateway to the internet. It is complicated setup so only if someone really really wants to shield yourself from ISP and has enough time to set it up, for me it was easy because I am quite into networking, but I can imagine for someone not so much into it, can take quite some time.
-
Software Bloat.It should be product owners, business owners, business analysts that should get that message. I think 95% of devs are already agreeing with what was written there :)
-
Notepad++ ....Smoke and mirrors security at its best.
-
GIT Time again - what am I missing?Yeah that is for me "distributed" part that is basically killer feature. Unfortunately people throw "distributed" around like everyone should be mailing patches to Linus himself and other contributors just like it is some holy grail - but no one uses it like that so everyone only gets more confused.
-
GIT Time again - what am I missing?I was using SVN briefly when I was on first job after university so I might not remember it correctly but I remember frustrations it was giving me and I hated it with every piece of my body. Using GIT was a breeze and I instantly got the mental model, so I might be biased for using it for last 14 years and remembering SVN workflow as workflow from hell. So I have a lot to write on the topic - because I feel that GIT is just so much better and it makes me much better developer and development so much easier. Let's start with not needing connection to the server to be able to create commits. When internet is down I still can create commits move them around and publish to server when I want not when SVN wants. Also if I have it locally it is much faster to commit anything than over the network. (almost no one uses fully distributed workflow so yeah) Branching is something you just do in GIT and you don't have to ask anyone because branches don't live on the server. I can do 10 commits then go back to starting point and make new branch in matter of minutes and have different approach developed, I can delete local branch that I don't like and publish stuff I do like. No one will ever see it. Conflicts, I can fetch changes from remote repository and have my local branch separate, I can keep on working on my stuff until I want to merge things while also having possibility to easily switch to. With SVN I am forced to deal with stuff even when I am half way done but I also want to check what is there so I could prepare for it. In general mental model for having undo outside code editor that I can view and cherry pick, staging chunks of files to move parts of my development outside of IDE - because some things can be added by IDE and I can control what I publish in perfect way gives me ease of mind. Where SVN tooling was rudimentary at best, maybe it changed as I not used it.
-
Developing software today ... 15% dev, 85% this and thatSounds like greenfield project and junior team. Dependency injection is like air for me, we don't have to discuss anything it is just there and we just use it. Maybe if some junior joins we have to explain stuff but for any mid/senior we just don't talk. Same with patterns we don't build framework so we don't deal with god know what level of abstractions so we mostly build features. On the other hand there are discussions on interface as everyone feels like they should have an opinion if button should be more to the right or more to the left - but backend is solved problem for me at this point for a web application in .NET/C#.
-
I hate recent C# versions!I think OP is only starting to see these in code bases. Not everyone is on latest/greatest day 1 :) adoption takes time. I have to also say something about "nobody forcing" is - try to write C# 1.0 code and get it past code review :) In the end everyone will have to just put up with it - if they like these features or not.
-
I hate linux. I hate SSL more.I tried other stuff to have IIS/Windows autorenew (wildcard) - but not CertifyTheWeb - I will try it out and if it works I am going to owe you a beer. If not I will just keep on drinking myself :)
-
I hate linux. I hate SSL more.One small correction - browsers don't accept certificates that are valid longer than 1 year.
-
Engineering questionYes.
-
Why would I use Azure?Oh autoscale. I can run a lot of users on a single VM and don't need auto scale. We have high touch sales process and we do B2B. We also do "web applications" so we are doing a lot of writes and "eventual consistency" is not good enough, people expect what they write to read it back right away. Where we don't have that many reads on database, we don't have twitter problems like Shakira tweeting something and pushing it to followers. Auto scale and other stuff seem like killer feature if you serve lots of content and have a lot of reads. But if you write to database and database is bottleneck and auto scaling application would make more problems than it solves. So yeah that is part that I do not understand - everyone is scaling application instances but you have to write to database anyway and for my workloads it does not even make sense.
-
Why would I use Azure?I would stop for a moment and think about calling stuff "outdated" :) Fora lot of workloads/systems having a VM is perfectly good solution. Running VM or two on IaaS provider is much cheaper that having to pay Azure bills.
-
Just bought a new Windows 10 rig - what is the best decrapifier app to clean it?Then you get crap but from the "decrapify" vendor.
-
What comes after the full-stack developer...?I like that one :D
-
article: Why You Should Stop Using UI FrameworksPoint of article is that you should write your own helpers. Because then you are in control. With Angular we just got hit by what is written in article. We have angular 7 in our build process - which depends on node-saas and guess what that version of node-saas is now gone on github 404 not found. Yes we probably should have updated it to newer version earlier. But I am not product owner and guess what - when we told him how much it will take to update and how many regressions might be there decision was: "if it works leave it as is".
-
Blockchain beliefsThe real enthusiasts know and they only wait for those who don't: https://medium.com/@danrobinson/ethereum-is-a-dark-forest-ecc5f0505dff
-
The Software Architecture DemonI worked in a couple of places but maybe because I would not fit in "just code that, no questions asked" approach I am biased.