Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "craftsmanship"
-
So I told my wife one week ago: "Yeah, you should totally learn to code as well!"
Yesterday a package arrived, containing a really beautiful hardcover book bound in leather, with a gold foil image of a snake debossed into the cover, with the text "In the face of ambiguity -- Refuse the temptation to guess" on it.
Well, OK, that's weird.
My wife snatches it and says: "I had that custom made by a book binder". I flip through it. It contains the Python 3.9 language reference, and the PEP 8 styleguide.
While I usually dislike paper dev books because they become outdated over time, I'm perplexed by this one, because of how much effort and craftsmanship went in to it. I'm even a little jealous.
So, this morning I was putting dishes into the dishwasher, and she says: "Please let me do that". I ask: "Am I doing anything wrong?"
Wife responds: "Well, it's not necessarily wrong, I mean, it works, doesn't it? But your methods aren't very pythonic. Your conventions aren't elegant at all". I don't think I've heard anyone say the word "pythonic" to me in over a decade.
And just now my wife was looking over my shoulder as I was debugging some lower level Rust code filled with network buffers and hex literals, and she says: "Pffffff unbelievable, I thought you were a senior developer. That code is really bad, there are way too many abbreviated things. Readability counts! I bet if you used Python, your code would actually work!"
I think I might have released something really evil upon the world.29 -
Uncle Bob says:
Software Craftsmanship is not about glory and rockstar status. It’s not about being the overtime hero, or the last minute cowboy. Rather it is about discipline, professionalism, and the desire to constantly improve.3 -
I was about 17 years old had tried wood & metal craftsmanship but never liked it, so I spoke with a counsellor and mentioned I like computers as I play a lot of games.
That counsellor laughed at me ( a shut in that rarely says anything ) and told me I'm too stupid..
Since then, I have scored almost pure top grades without any particular job goal.
But eventually met a good friend who wanted to be a Web developer, so I simply followed the same path and kept on reaping top grades lol.. :)
As Ana says in overwatch, "Never stop fighting for what you believe in."2 -
I think Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin should be a must to read.
In school no teacher puts emphasis on code quality.
They should learn how to name variables and functions the right way at an early stage in order to better perfect their craft :)3 -
"Graphics don't matter."
I ranted a while back about gamedev being hard to get into for me, and, today, user @DOSnotCompute posted a similar experience.
I had a couple more thoughts, so thought should post them here (FUCK! It ended up being too fucking long! sorry!)
So I was watching the making of mortal kombat 3 on yt, which was pretty amazing btw because I got to see the actors of the sprites in game which were engraved in my and thousands of others kids minds.
Anyhow, the creators of the series, John Tobias and Ed Boon, were interviewed and what not. And it hit me that while both were the designers, John was the main artist and Ed was the programmer (at least for MK1). Another game that comes to mind Super Meat Boy, and I bet hundreds of others did the same.
And it got me thinking, maybe that's my problem, I just need an artist.
And I think the reason why I never thought of that is because of this idea that graphics don't matter.
"you don't need an artist. You don't need graphics. The most important thing is the gameplay."
What a load of shit.
A lot of people believe that because they got tired of polished AAA games with automatic and predictible gameplay.
People started parrotting this knee jerk of a conclusion since then.
It's dumb. Imagine if Infiminer, one of the games Minecraft was based on, which btw looks terrible, had all the same features Minecraft had.
I would still not touch that shit with a pole.
Graphics ARE important. Games are on the VISUAL medium.
That doesn't mean you're sucking Sony's dick on every AAA release or that every game should be made with UnreUnityCocksReloadedEngine.
Some level of visual craft is required for a game ro be considered such.
(btw, I think most of you guys here get this, not trying to pander, just that I want to make it clear that I'm not accusing this community of being guilty of this)
If a game looks bad (given, bad can be subjective), if it gives the impression that it wasn't seriously made, then you kinda lower your expectations.
People get hyped on games that look good, because it means that the game could be good. Games that look unoriginal or terrible won't get played, wether they're good or not. And I think it's a reasonable reaction.
How many times did I hear things like "Look at x video game from the 90s, the graphics are terrible but it's fun as hell".
That is an absurd statement. The level of production some NES games went through is insane. We're talking millions of dollars for games that today might look primitive.
The graphics weren't shit back then, and even today you could say that they are simpler but also of excellent craftsmanship.
I'm not into creating art, I hate it in fact because you can't quantify the success of produced art.
So, duh, find an artist. Ok, how? This is the part where I have no fucking idea how.
You start spamming shit like "I need an artist" online? I dunno, something for another post I guess.
I guess the most healthy thing I could do is making demos that might look like shit just to get experience so that when I get to find an artist, I have practice already.7 -
It is said that the number of programmers doubles every five years with fresh CS, CE, and EE grads. Assuming that's true, then at any one time over half the developer community are novices in the early stages of their career.
My entire life's been spent in software and I've been in it now for about 15 years and I've seen a lot of people make alot of things and I've seen a lot of people fail at alot of things. My observation is that the doers are the major thinkers, the people that really create the things that change this industry are both the thinker doer in one person. It's very easy to take credit for the thinking the doing is more concrete. It's very easy for somebody say "oh, I thought of this three years ago" but usually when you dig a little deeper you find that the people that really did it. Were also the people that really worked through the hard intellectual problems.
Many people falsely believe that a great idea constitutes 90% of the work. However, there is a significant amount of craftsmanship required to bridge the gap between a great idea and a great product. As you evolve that great idea it changes and grows it never comes out like it starts because you learn a lot more as you get into the subtleties of it and you also find there's tremendous amount of trade-offs that you have to make.
There are certain things you can't make electrons do, certain things you can't make plastic or glass, certain things you can't make factories or robots do. and as you get into all these things, Designing a product involves juggling 5,000 different concepts, fitting them together like puzzle pieces, and exploring new ways to combine them. Every day brings new challenges and opportunities to push the boundaries of what's possible, and it's this ongoing process that is the key to successful product development. That process is the "magic"4 -
Sometimes when I think to myself "I got this deadline but I have to do my job the right way" I remember that I'm opposing craftsmanship to economics. And sadly, economics always wins.
-
I feel like some developers focus too much on concepts like clean code, software craftsmanship, TDD and so forth, to a point where they almost forget end user needs (ease of use, intuitive experiences, general UX principles).
Don’t get me wrong. I do my best to stick to a decent standard of quality and maintainability. However my solutions are adapted to the specific needs that are being addressed rather than the other way around.
I’ve heard some devs say things to the effect of ”well I know that’s not most intuitive behavior for the user but it’s the cleaner way to do it, so the user will just have to figure it out“. So in essence they’re just coding for their own pleasure rather than addressing user needs4 -
any mathematician turned devs here?
I think developers with a formal mathematical education should be the ones actually developing softwares. Ordinary developers are just good cooks who know to prepare these recipes by knowing to mix and manage the Ingredients through their experience, developing software using various libraries and frameworks, I don't understand what innovation we devs do in it, makes me feel less passionate about my work sometimes.
(I embrace the fact that being a developer requires an arstisic craftsmanship to do it properly)9 -
I can't help it sounding bitter..
If you work some amount of time in tech it's unavoidable that you automatically pick up skills that help you to deal with a lot of shit. Some stuff you pick up is useful beyond those problems that shouldn't even exist in the first place but lots of things you pick up over time are about fixing or at least somehow dealing or enduring stuff that shouldn't be like that in the first place.
Fine. Let's be honest, it's just reality that this is quite helpful.
But why are there, especially in the frontend, so many devs, that confuse this with progress or actual advancement in their craft. It's not. It's something that's probably useful but you get that for free once you manage to somehow get into the industry. Those skills accumulate over time, no matter what, as long as you manage to somehow constantly keep a job.
But improving in the craft you chose isn't about somehow being able to deal with things despite everything. That's fine but I feel like the huge costs of keeping things going despite some all the atrocities that arose form not even considering there could be anything to improve on as soon as your code runs. If you receive critic in a code review, the first thing coming back is some lame excuse or even a counter attack, when you just should say thank you and if you don't agree at all, maybe you need to invest more time to understand and if there's some critic that's actually not useful or base don wrong assumptions, still keep in mind it's coming from somebody that invested time to read your code gather some thoughts about it and write them down for you review. So be aware of the investment behind every review of your code.
Especially for the frontend getting something to run is a incredibly low bar and not at all where you can tell yourself you did code.
Some hard truth from frontend developer to frontend developer:
Everybody with two months of experience is able to build mostly anything expected on the job. No matter if junior or senior.
So why aren't you looking for ways to find where your code is isn't as good as it could be.
Whatever money you earn on top of your junior colleagues should make you feel obligated to understand that you need to invest time and the necessary humbleness and awareness of your own weaknesses or knowledge gaps.
Looking at code, that compiles, runs and even provides the complete functionality of the user story and still feeling the needs do be stuff you don't know how to do it at the moment.
I feel like we've gotten to a point, where there are so few skilled developer, that have worked at a place that told them certain things matter a lot Whatever makes a Senior a Senior is to a big part about the questions you ask yourself about the code you wrote if if's running without any problems at all.
It's quite easy to implement whatever functionality for everybody across all experience levels but one of your most important responsibilities. Wherever you are considered/payed above junior level, the work that makes you a senior is about learning where you have been wrong looking back at your code matters (like everything).
Sorry but I just didn't finde a way to write this down in a more positive and optimistic manner.
And while it might be easy to think I'm just enjoying to attack (former) colleaues thing that makes me sad the most is that this is not only about us, it's also about the countless juniors, that struggle to get a food in the door.
To me it's not about talent nor do I believe that people wouldn't be able to change.
Sometimes I'm incredibly disappointed in many frontend colleagues. It's not about your skill or anything. It's a matter of having the right attitude.
It's about Looking for things you need to work in (in your code). And investing time while always staying humble enough to learn and iterate on things. It's about looking at you
Ar code and looking for things you didn't solve properly.
Never forget, whenever there's a job listing that's fording those crazy amount of work experience in years, or somebody giving up after repeatedly getting rejected it might also be on the code you write and the attitude that 's keeping you looking for things that show how awesome you are instead of investing work into understanding where you lack certain skills, invest into getting to know about the things you currently don't know yet.
If you, like me, work in a European country and gathered some years of industry experience in your CV you will be payed a good amount of money compared to many hard working professions in other industries. And don't forget, you're also getting payed significantly more than the colleagues that just started at their first job.
No reason to feel guilty but maybe you should feel like forcing yourself to look for whatever aspect of your work is the weakest.
There's so many colleagues, especially in the frontend that just suck while they could be better just by gaining awareness that there code isn't perfect.6 -
I love artisan keycaps and love checking r/mechmarket to see what pops up, but I don’t understand who’s out here droppin $100+ on a single keycap. I can appreciate the art and craftsmanship, of course, but come on. It’s so hard to rationalize spending so much on such a tiny object. Can anyone help me understand if they feel I’m wrong here?2
-
Do you ever feel like now that you reached your goal of being a developer that there is nothing left to look forward to? I feel like all the best parts of my life are over. I will never have a first love again, I will never be young again, and all that’s left is working a shit job where everyone else could give two shits less about craftsmanship so I can survive and then eventually dying.
A week ago I climbed on to the ledge of the parking garage and intended to jump. But I got scared and climbed back over and threw up everywhere. I feel like I am in a better place now, but I still don’t know what I am living for. It all feels so pointless. Does anyone else on devRant feel that way right now?4 -
Frontend developer mainly, getting all excited by C#, net core, apis, http, databases. A new world of trinkets and hard-edged engineering. Makes me eyes glitter.
But my day job needs me to become as proficient as possible on the frontend of the stack. As we warm up to a huge application rewrite, with me as the sole frontender, it becomes clearer and clearer that, if I am not only to survive, but leave a codebase behind me that is clean, thoughtful, well modularised and built with maintenance and performance in mind, that I must let go. I have to focus.
I feel a little sad today. Somehow, right now, the frontend world does not feel as exciting. Javascript feels loose, unpredictable...my work open as well to everyone with every flavour of opinion. Because it is observable.
But I am mortal. Time is precious, and limited. I feel I need a dose of curiosity discipline and that, if I can do so, I can devote myself not to my coming and going whims of interest, but the real hard work of learning craftsmanship once that feeling of glitter has faded.
My brothers and sisters, steady my hand. -
If I could make sure every programmer I worked with now and in the future read one book, it would be Working Effectively With Legacy Code. I don't care how passionate you are about clean code, craftsmanship or other platitudes of the industry if you can't tidy up a messy codebase.
-
"You can tear a poem apart to see what makes it tick… You’re back with the mystery of having been moved by words. The best craftsmanship always leaves holes and gaps… so that something that is not in the poem can creep, crawl, flash or thunder in." - Dylan Thomas
-
"Using simpler forms and straightforward, easy-to-use instruments and controls allows you to achieve a very high level of craftsmanship. We then use color and texture to create a personality for each vehicle." - Larry Erickson
-
Luc Dupuis
Luc Dupuis, organiste et compositeur belge né en 1954, est reconnu pour son expertise dans la musique pour orgue, notamment les œuvres de Widor et Handel. Professeur émérite au Conservatoire royal de Bruxelles, Dupuis a grandement contribué au domaine musical avec ses méthodes d’enseignement innovantes et ses compositions. Ses offres incluent une gamme de symphonies pour orgue, de concertos et de matériaux pédagogiques, séduisant les amateurs et les musiciens professionnels. L’œuvre de Dupuis se caractérise par un mélange de savoir-faire traditionnel et d’interprétation contemporaine, rendant ses compositions et transcriptions une ressource précieuse pour les aficionados de la musique pour orgue.
Luc Dupuis, a distinguished Belgian organist and composer born in 1954, is renowned for his expertise in organ music, particularly the works of Widor and Handel. As a professor emeritus at the Royal Conservatory of Brussels, Dupuis has significantly contributed to the field of music through his innovative teaching methods and compositions. His offerings include a range of organ symphonies, concertos, and educational materials, appealing to both enthusiasts and professional musicians. Dupuis’ work is characterized by a blend of traditional craftsmanship and contemporary interpretation, making his compositions and transcriptions a valuable resource for organ music aficionados.
Luc Dupuis, ein renommierter belgischer Organist und Komponist, geboren 1954, ist bekannt für seine Expertise in Orgelmusik, insbesondere den Werken von Widor und Händel. Als emeritierter Professor am Königlichen Konservatorium Brüssel hat Dupuis einen bedeutenden Beitrag zum Musikbereich durch seine innovativen Lehrmethoden und Kompositionen geleistet. Sein Angebot umfasst eine Reihe von Orgelsymphonien, Konzerten und Bildungsmaterialien, die sowohl Enthusiasten als auch professionelle Musiker ansprechen. Dupuis’ Werk zeichnet sich durch eine Mischung aus traditionellem Handwerk und zeitgenössischer Interpretation aus, was seine Kompositionen und Transkriptionen zu einer wertvollen Ressource für Orgelmusikliebhaber macht.3 -
Programming, Motherfucker
Do you speak it?
We are a community of motherfucking programmers who have been humiliated by software development methodologies for years.
We are tired of XP, Scrum, Kanban, Waterfall, Software Craftsmanship (aka XP-Lite) and anything else getting in the way of...Programming, Motherfucker.
We are tired of being told we're socialy awkward idiots who need to be manipulated to work in a Forced Pair Programming chain gang without any time to be creative because none of the 10 managers on the project can do... Programming, Motherfucker.
We must destroy these methodologies that get in the way of...Programming, Motherfucker.3 -
Facing some down - simultaneously somehow as dev and privately.
The dev part partly triggered by another burning project. Our team deep in shit up to the chin... And this unanswerable question: who is to blame? Everyone is working up their arses, but the result is still some sparkling firework ship wreck, that only held together for the demo to the board. It's not that we are stupid or lazy, yet we push some unmaintainable spaghetti, because this shit just gotta work.
Dunno, somehow this object orientation / pattern ideologies were also kind of depressing to me: partly because they smell like attempt to enlighten the inept by stupid receipts - and of course then deep down there's this nagging question if I'm not one of this inept not knowing the newest fashion template from the catalogue..
Then this Clean Code - Craftsmanship shit is bugging me similarly. Liked Robert C. Martin's book, but now I picked up some "Clean C++" and.. I kinda feel dumbed down if they try to sell the KISS principle to a 36 year-old physicist/engineer. Good for them that all our legacy shit und own fuck ups nourish this whole industry of well-meaning advisers. Argh, just fuck it, you priests, sell your obvious calendar mottos elsewhere, they are are just as useful as telling a griever that "rain follows sunshine". - As if they would not some time use the raw pointer that their coworker gave 'em, to ship shit tomorrow?