Out of everything you've seen or read, what had the biggest impact on your life as a developer?

Out of every single thing you've seen or read, listened or watched, or even people you've talked to, which had the biggest impact on you and why did it have this impact on you?

Did you find this post useful? Show some love!

Here are some quotes that I have been keeping in mind for a long time. I've been glad for the 2 about documentation whenever I had to go back to a project I didn't think I'd see again, and the last one helps when I'm debugging.

"Document unto others as you would have them document unto you."
-- Kreitzberg & Schneiderman, The Elements of Fortran Style

"Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live."
-- Martin Golding

"Computer system analysis is like child-rearing; you can do grievous damage, but you cannot ensure success."
-- Tom DeMarco

"If your project doesn't work, look for the part that you didn't think was important."
-- Arthur Bloch

Gilles Deleuze & Felix Guattari's magnum opus Capitalism and Schizophrenia (I'm still working through volume 2, 1000 Plateaus -- it's incredibly dense stuff) has had an enormous impact on how I think generally, to say nothing of its applicability to software development. D&G discuss the construction of communication, psychology, and politics in terms of machinic assemblages and operations, developing models from the bottom up in a counterpoint to the top-down imposition of structure and taxonomy which characterizes Western philosophy and sociology from Aristotle through Levi-Strauss.

Since, per Mel Conway, we are condemned to reproduce the communication structures of our organizations in our software architectures, a methodology for reducing those communication structures to localized patterns within the broader organizational context of human society gives us a much wider view of what's possible. Some of the concepts they explore are already visible in the technological sphere: the rhizome they discuss in 1000 Plateaus can be recognized in many distributed systems, for example.

I find it amazing that so few people who work in communication have any knowledge about semiotics and related fields.
Your comment is very refreshing and I hope it sparks in others the curiosity to step across domains, which is actually the best way to pump clean blood into the arteries of creativity.
I usually say to people around me (often out of the blue): if you want your children to be successful, have them learn math and philosophy. The rest will fall in place.

I discovered last month that there are people who know that what they want to know about is semiotics but not that semiotics itself exists! It was really a lucky find for me too, through reading & liking Kafka, Borges, Calvino, and so forth; as far as I know, if you learn about anything in that vein in college you've already specialized in the critical humanities.

Though I've been a programmer on-and-off for more than 20 years, my whole college education was in design, in a context very much influenced by art, semiology and media studies. To tell you the truth, the humanities have too much semiology. But tech has none. And it makes a huge difference because the mindset is different. And that difference shows on the two most important aspects of one's work:
1) Doing the right thing (what the users need)
2) Doing things right (coherent architecture)

The biggest impact had "Clean Code" by uncle bob aka Robert C. Martin.

If I would nail it down to one thing, it is the comment of Ward Cunningham in the first chapter:
"You know you are working with clean code when each routine you read turns out to be pretty much what you expected. You can call it beautiful code when the code also makes it look like the language was made for the problem."

As simple as it sounds, it was a revelation for me.

Ben Halpern DEV.TO FOUNDER

Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)

Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. ❀️

Plus, no fake comments when you're signed in. πŸ™ƒ

For me, it was Hackers: Heroes of the Computer Revolution and the Jargon File it the 1980s anonymous-FTP version.

They showed there's a mindset to computing, a culture that I found appealing. Anyone who has seen the line If you can't be a good example, be a horrible warning and remembered with a piteous laugh a point where someone's catastrophic error will be in their memory forever will remember why you should always mount a scratch monkey.

Computer Culture in 2018 is not the same as in 1988, and new histories and new dictionaries should be written, and are. But this is what made me begin to think that making electrons dance is where I should spend my time.

For me, it was a life style "concept".

I've been day dreaming about traveling since I was young(er), it wasn't until a couple of years back that I discovered the term "digital nomad", which is people that work remotely permanently, so they get to travel often. From that moment on, I started joining digital nomads groups, learning more about remote only companies, and just trying to connect with other people with the same life style.

This also pushed me to add more front-end tools to my skill-set because I learned that I would have better chances as a front-end or full-stack dev, so I did.

Now I'm trying to get myself "out there", that's why I built my first portfolio and shared my process right here on dev.to I did it with the solely purpose of sharing what I learnt, but I never thought it would open other doors for me.

Noticing the cycle of hype has allowed me to escape it. I now focus on fundamentals. I don't worry about learning frameworks, libraries, languages, etc. Those are all surface level issues that any competent person can surmount if they understand the fundamentals.

Nothing is too hard. You can learn everything. In this case we are talking about code but whatever it is you want to learn or understand, if you break it into smaller pieces then you find that every individual chunk is easy to master or understand. If it isn't, simply split that part up in pieces again.

For me recently, I've been reading Julia's posts, and they've got some great content in them. She has some great posts about working remotely, like this one here, where she details both the hardships and the benefits of working remotely, which gives those who haven't done work remotely, or even have with or without struggles, some powerful insights into the reality of remote work.

My manager at my second programming job who's attitude was something along the lines of "just do it". I know it sounds silly, like a Nike commercial. I took it to mean, "I know you can do this, so just do it.". The thing is, I didn't use this wisdom right away and passed up many opportunities in the past because I always doubted my competencies.

Nowadays, when I doubt myself (happens often still, Imposter syndrome anyone?), I just think of what he said and I just do it. πŸ‘Ÿ

And here's an example of following that advice so that you know this isn't just a feel good puff piece comment 😜

This one, for sure:

Another one was when I was trying to learn about designing a plugin architecture for .NET, and I found a very informative tutorial about the topic complete with code samples that was close to my use case. I was amazed at how the author figured all that stuff out when I knew I wouldn't have been able to if I didn't find his article. At the end of the tutorial was his bio, and it said he codes during the couple of hours when his small town gets electricity. I was awestruck.

These instances remind me of my privilege. That no matter how hard things may seem for me, I have no excuse to slack off.
They remind me to be empathetic in all of my dealings, because I have no idea of the battles other people are going through.

A great reminder, thanks for sharing.

You're welcome! I still need to remind myself every day.

Classic DEV Post from Jul 13

What tools are in your toolbox?

There are a lot of wonderful tools that help us get stuff done quickly, here is a list of some I use.

READ POST
Follow @lemuelogbunude to see more of their posts in your feed.
dev.to is now open source!
View Announcement Post View GitHub Repo
Michael
Senior full stack developer; speaker; 12 years in development; manages a team of over 20 talented developers
More from @michaelgv
What’s your elevator pitch?
#askdev #elevatorpitch #discuss
What backend are you using?
#askdev #backend #discuss
Trending on dev.to
What's the deal with downing PHP development?
#discuss
We Might Face The Crisis of Creative People in Next Few Years as our young generation is stuck in Just Googling Things
#discuss #crisis #humanity
How old have you been when you started programming and what was your first project?
#discuss
What is your approach to learning a new Javascript framework?
#discuss #learning #vue #javascript
What's your origin story?
#career #learn #webdev
Using Custom Types in JavaScript Docs
#discuss #vscode #javascript #documentation
Explain Hashing + salting Like I'm Five
#explainlikeimfive #webdev
How does the web look if everyone owned their own data?
#discuss