Developers spend most of their time figuring the system out
1–10 of 418 posts
Re: Developers spend most of their time figuring the system out
#2Re: Developers spend most of their time figuring the system out
#3Re: Developers spend most of their time figuring the system out
#4He argues that the biggest determinant on whether maintainers on a system they did not build will succeed is whether they will have access to the original developers: "The conclusion seems inescapable that at least with certain kinds of large programs, the continued adaptation, modification, and correction of errors in them, is essentially dependent on a certain kind of knowledge possessed by a certain group of programmers who are closely and continuously connected with them."
Re: Developers spend most of their time figuring the system out
#5I've found that for most systems, there are three great ways to "figure it out".
* Start from input. (Browser, API, whatever starts a process.) Map from there.
* Start from data storage. (Database, flat files, whatever.) How does state get persisted?
* How does the system move into production? If you can make a small change (even adding an innocuous comment) and see it all the way from your machine to prod, you can iterate and start to map the system.
Re: Developers spend most of their time figuring the system out
#6We start teaching about software like it's 'algorithms' when that is frankly, almost pedantic. That was never the hard part.
Scaling the complexity was always the hard part.
Simple, clear code, absent leaky abstractions, enough documentation etc..
Re: Developers spend most of their time figuring the system out
#7Re: Developers spend most of their time figuring the system out
#8Re: Developers spend most of their time figuring the system out
#9Re: Developers spend most of their time figuring the system out
#10* Coaching/Mentoring - Original developers there to help
* Great documentation - App is documented, and it's easy to discover how it's put together
* Great API / abstraction - The api or structure is really easy to understand and use - this is why REST beat out more sophisticated API models. Even so, it needs great documentation to be easy to learn and build with
I think a lot of companies don't get any one of the three above right, so everything is very opaque. Also, you can't let tooling block developers from getting into understanding the code. New dev onboard times are a great way to measure this.