News for hackers. Stuff that matters.
Re:What I've Learned in 45 Years in the Software Industry by DrBazza on Saturday December 03, 2022 @11:07AM (#33844450)
Two bits of advice I'd add, from 30 years in the industry:

* A colleague once said to me, a few years back, "become an expert in one thing", even if it's a small thing.

* "My superpower is reading the manual"

Re:What I've Learned in 45 Years in the Software Industry by lmg643 on Saturday December 03, 2022 @11:35AM (#33844699)
I think "reading the manual" can be be interpreted not just in the literal sense of whether there's an actual manual, but also in the metaphorical sense, to make sure we're considering easily available sources of information. Great advice.
Re:What I've Learned in 45 Years in the Software Industry by nickjj on Saturday December 03, 2022 @02:23PM (#33846412)
Yep this is a really important skillset.

I've written a post around this topic because you can do this in a systematic way to learn pretty much anything https://nickjanetakis.com/blog/how-i-quickly-find-answers-to....

Re:What I've Learned in 45 Years in the Software Industry by mtlmtlmtlmtl on Saturday December 03, 2022 @02:56PM (#33846692)
The code is the best manual you'll every get in my experience. There's no substitute when working on a codebase.

When I'm introduced to a codebase I'll be doing significant work on, I'll often spend hours at a time just reading the code. Start at main() and skim until you get a feel for the overall architecture, then go figure out whatever subsystems seem mysterious to you. Rinse and repeat. Makes a huge difference when making changes, because that requires reading code anyway, and you'll have a much better idea of what code to read/change.

Re:What I've Learned in 45 Years in the Software Industry by sigha887 on Saturday December 03, 2022 @04:39PM (#33847664)
And it will for all future make it impossible for you to distinguish official API and implementation details.
Re:What I've Learned in 45 Years in the Software Industry by mtlmtlmtlmtl on Saturday December 03, 2022 @04:43PM (#33847716)
That just comes with the territory of being someone who has to understand the implementation details. No getting away from that.
Re:What I've Learned in 45 Years in the Software Industry by tstrimple on Saturday December 03, 2022 @05:11PM (#33847965)
Code also has the advantage of not getting out of date with what the application actually does. Invariably, documentation outside the code base often rots over time until it reaches a point it's outright misleading.
Re:What I've Learned in 45 Years in the Software Industry by rahimnathwani on Saturday December 03, 2022 @05:37PM (#33848188)
Yup, that's a good reason to keep documentation in the same repo, and to update documentation in the same commit as the code that causes the change.
Re:What I've Learned in 45 Years in the Software Industry by noisy_boy on Saturday December 03, 2022 @09:58PM (#33850123)
One scenario where I find external wikis better is when a change encompasses multiple components and you want to present an overarching view to the user + want to refer across sections. This can be managed via something like github pages for each component but the cross referring across multiple repos adds more friction. Plus to present the overall view, something like a synthetic "doc-repo" will be needed that has landing pages that connect the component-level pages. Or we can have a wiki that does the integration by refering to component level github pages but at that point why not just do the whole thing in wiki much more conveniently.

My experience is that it basically comes down to developer discipline. A disciplined developer will update the docs regardless of whether the docs are part of repo or external and vice versa.

Re:What I've Learned in 45 Years in the Software Industry by adave on Saturday December 03, 2022 @11:51PM (#33850719)
Imo reading gets you nowhere and is inefficient. Key piece is to add some form of self explanation or diagram to map the overall picture, since it takes a lot of repetition to understand the code flow but only hours to come up with a data flow diagram and revisit/update when needed. Even faster when someone on the team has already done it.

Maybe its just me but plain text does nothing for me so i convert it into visual elements.

Re:What I've Learned in 45 Years in the Software Industry by jen20 on Monday December 05, 2022 @05:10AM (#33863603)
> Start at main() and skim until you get a feel for the overall architecture

Man I wish that worked for Java ;-)

Re:What I've Learned in 45 Years in the Software Industry by hutzlibu on Saturday December 03, 2022 @11:28AM (#33844607)
"My superpower is reading the manual"

That superpower is very weak, when the manual is incomplete, inconsistent or plain wrong.

Related, manuals that come with consumer products now have warnings and safety advices in 100+ language, but no usable manual anymore.

But if there is a good manual/documentation, then yes go read it.

Re:What I've Learned in 45 Years in the Software Industry by als0 on Saturday December 03, 2022 @11:58AM (#33844913)
> even if it's a small thing

How small is small? Some small fields are quite big when you factor in all global experts.

Re:What I've Learned in 45 Years in the Software Industry by DrBazza on Saturday December 03, 2022 @12:16PM (#33845099)
Something that you, personally, could be reasonably expected to know pretty much everything about, whether that's an internal system, a public API, or tool. It's up to you whether the topic is transferrable.
Re:What I've Learned in 45 Years in the Software Industry by yi_xuan on Saturday December 03, 2022 @01:11PM (#33845755)
This is pretty like the quote from Thomas Huxley: "Try to learn something about everything and everything about something".

But I think people should choose topic carefully it should be fundamental, maybe it's soon unfortunately gone if you choose a trendy and short-lived tech.

Re:What I've Learned in 45 Years in the Software Industry by DrBazza on Saturday December 03, 2022 @02:11PM (#33846313)
Never heard that quote before. +1
Re:What I've Learned in 45 Years in the Software Industry by cratermoon on Saturday December 03, 2022 @02:02PM (#33846241)
"How small a thought it takes to fill a whole life!" – Ludwig Wittgenstein
Re:What I've Learned in 45 Years in the Software Industry by gryf on Saturday December 03, 2022 @12:47PM (#33845442)
My only superpower is knowing what fad is going to make a stack of cash and riding it. The only thing I've actually honestly believed in and honed recently was Go programming.
Re:What I've Learned in 45 Years in the Software Industry by kzzzznot on Saturday December 03, 2022 @02:25PM (#33846425)
Mind sharing what fads have been the most profitable for you?
Re:What I've Learned in 45 Years in the Software Industry by 0x445442 on Saturday December 03, 2022 @02:46PM (#33846610)
I can’t take any credit for having some omniscient insight but I was lucky enough to start Java development in 1996. It pretty much gave me a career.
Re:What I've Learned in 45 Years in the Software Industry by EMM_386 on Saturday December 03, 2022 @03:38PM (#33847070)
Same deal, 2001 when C# was in beta.

That's worked out.

Re:What I've Learned in 45 Years in the Software Industry by gryf on Saturday December 03, 2022 @06:01PM (#33848392)
I've done a wide variety of things. I try to keep two disparate things on the go. Visual Basic between 1992-2000. C# between 2002 and 2015. SunOS/Solaris admin 1995-2002. SQL Server 1999-2010. Linux admin 1998-present. Python 2005-present. Cloud infra/AWS 2012-present. Go 2015-present. I also did some random PHP and Perl things for stupid money in the 00s. Now I'm Linux, Go, Python, cloud infra.

What I really want to do is be locked in a room with a niche project I can look after until I'm dead a this point. But that ain't gonna pay the mortgage off...

Re:What I've Learned in 45 Years in the Software Industry by daveevad on Saturday December 03, 2022 @05:20PM (#33848057)
I too have recently started diving into Go in a more comprehensive way. Any ideas about why it seems to you right now is a good time to cash in on golang?

My best guess is the ascendence of Kubernetes has made reading Go rather instrumental; and as a by-product, writing Go seems much more approachable.

Re:What I've Learned in 45 Years in the Software Industry by bitexploder on Saturday December 03, 2022 @05:27PM (#33848111)
Not GP, but: Critical mass. Accepted in many domains as a valid first class solution. Memory safe. Has that depth of modules now that you can `go get` most things off the shelf. Easy to get a team up to speed, leading to wide adoption.

It is like the Python of statically compiled languages to me, but with way more safety rails and things you need as your code base grows.

There is just demand for it in general from what I see.

Re:What I've Learned in 45 Years in the Software Industry by gryf on Saturday December 03, 2022 @05:50PM (#33848312)
I'm not really cashing in on it. It has become my sidearm. I think that's the best way to describe it. When I want to solve a problem it's just there, trustworthy, reliable and efficient.

What it does is allow me to circumvent demotivating and productivity draining pain which is seen elsewhere which is pretty much summed up as: shitty build tools, runtime environments, libraries, containerisation, IDEs, concurrency approaches, test frameworks.

Really it's a tool that allows me to actually get stuff done.

It's pretty much what I've wanted for years: a memory safe, GC'ed C with a stdlib that wasn't conceived in the 70s.

Re:What I've Learned in 45 Years in the Software Industry by bitexploder on Saturday December 03, 2022 @10:29PM (#33850300)
The stdlib is really great. The things you can cross compile not worrying about glibc all day long is amazing.
Re:What I've Learned in 45 Years in the Software Industry by 0x445442 on Saturday December 03, 2022 @02:44PM (#33846593)
Manual? One should be so lucky.
Re:What I've Learned in 45 Years in the Software Industry by bmitc on Saturday December 03, 2022 @03:36PM (#33847056)
Exactly. I yearn for documentation that doesn’t require me to essentially run experiments to figure out what a library does. It is mind blowing how much time I’ve wasted in my career figuring things out that could have just been explained by accurate documentation.
Re:What I've Learned in 45 Years in the Software Industry by pixl97 on Saturday December 03, 2022 @03:05PM (#33846778)
Manuals used to be great when software was stable... that is new versions we're not updating online at any given moment. After a few updates these days the manual might as well be for different software totally.
Re:What I've Learned in 45 Years in the Software Industry by amelius on Saturday December 03, 2022 @06:12PM (#33848482)
Often the "manual" is just a computer-generated hyperlinked soup of tautological sentences like: this function does what its name suggests it does.
Re:What I've Learned in 45 Years in the Software Industry by begueradj on Saturday December 03, 2022 @02:54PM (#33846679)
Is not that anti "antifragile" by design ? Like a being which is very well adapated to its environment: it can not survive if its environment changes.
Re:What I've Learned in 45 Years in the Software Industry by ok123456 on Saturday December 03, 2022 @03:07PM (#33846797)
Forget manuals, simply being able to read a stack trace puts in the top 10%.
Re:What I've Learned in 45 Years in the Software Industry by icedchai on Saturday December 03, 2022 @03:33PM (#33847021)
Yeah, and being able to use Google, too...
Re:What I've Learned in 45 Years in the Software Industry by cafard on Saturday December 03, 2022 @05:04PM (#33847896)
And actually being able to post the five or six lines of the stack trace that are relevant, without the fifty or sixty that really aren't.
Re:What I've Learned in 45 Years in the Software Industry by ibiza on Saturday December 03, 2022 @09:19PM (#33849897)
Those are great points. Generalizing a bit:

* Identify your superpower

What special mojo do you bring to a problem that no one else on your team can? Recognizing and leveraging your superpower can make running w/ a team of true overachievers a lot more pleasant.

Re:What I've Learned in 45 Years in the Software Industry by jaygray0919 on Sunday December 04, 2022 @05:28AM (#33852337)
RTFM (classic advice to a Unix newbie)