Obsidian Source: Building(and Maintaining) Software is a Work of Art
Summary
Pending synthesis from local Obsidian source.
Original source title: Building(And Maintaining) Software Is A Work Of Art
Extracted Preview
-> ~~a lot of things that goes goes behind building software. it is not just monkey typing.~~
-> ~~developer need to not only take short term, but long term decisions(something only they have to refactor in the future)~~
-> ~~things change fast.~~
-> ~~it is not just solving problems with code. Engineering is closer to art than to actual science. Functionality and reliability is often times not an exact science~~
-> ~~although sometimes there are strict requirements and deadlines from software perspective, there are ways we can exercise creativity.~~
-> ~~if you look deeper into the problem solving, it is inherently just the act of creating something~~.
-> ~~The naive vs the actual picture.~~
-> ~~How would you characterize your approach to S Dev?(we all take different roles during different phases of building software).~~
-> ~~few notable names, using Ruby and how things need to be made in a way that makes programmers like easier.~~
One more cup of coffee wont hurt right?
Either you are working on a personal project with no deadlines, or working for an organization that demands continuous delivery from you, programming feels like a race against time. The life of a software developer is seldom free - there are always new things coming up, and keeping up to date while building is hard.
There is a general consensus among the industry that developers are often burnt out and always on the lookout for "one more cup of coffee". There used to be a time when developers built complex software in days, but now building even the simplest of application requires huge unrelated cognitive overload. Why is that?
Somewhere along the line, developers didn't get the memo that their job now requires them to do 10x of what they did while adhering to impossible timelines. My answer for this is that as software evolved, we started asking difficult questions on how we can improve existing workflows and developers started solving these through software. With enough evolution in the field and more smart people choosing building software as profession, the bar of what it means to be a "good" developer kept on increasing. This gave rise to even complex sub-systems that although made life easier to deliver software consistently and fast, but required a huge learning curve and often didn't do a good job of abstracting away complexity from user. Rome could've been built in a day, but a reliable data pipeline surely would take months(or years) of consistent developer effort.
Art is The Elimination of Unnecessary
Integration Notes
- Source folder:
/home/yashs/Documents/Docs/Obsidian/Research-Notes - Local source:
/home/yashs/Documents/Docs/Obsidian/Research-Notes/Building(and Maintaining) Software is a Work of Art.md - Raw copy:
raw/obsidian/research-notes/Building(and Maintaining) Software is a Work of Art.md