3 ms·
> The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learni
by tekstar 9y ago
> The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning.
This is really untrue. On the surface, code might look the same between a beginner and a senior developer, but the decisions underlying the code will be night and day. Beginners will solve the problem of the day directly, with no care for introducing complexity and no willingness to reconsider past decisions.
- hinkley 9y agoIn many fields, it takes a master to make everything look easy. It really seems to be the same with programming. Coming from the other direction, just because it's straightforward to you doesn't mean it's obvious to everybody else. Try to be patient.
- cookiecaper 9y agoMy interpretation is that most of this disagreement is just from ambiguity left by the parent's brevity. Experience certainly shines bright in architectural and design decisions. I think the parent's point is that no one's code should be considered sacrosanct; all of us can make mistakes, and all of us, even the senior guys, will end up writing some ugly hacks just to get something out the door on time. More junior programmers should not be afraid to make a pass at improving something, nor should they try to emulate their peers' styles or behaviors without thinking about and processing them, lest they internalize bad habits. If a junior dev notices an error, they should point it out, instead of assuming the senior developer's code is beyond reproach. They should understand that once they get added to the resident Wizard's project, they're still going to have to deal with the reality of a production application, which means shortcuts, impurities, bugs, and mistakes. The principle of Linus's Law depends on developers who are willing to call out mistakes and at least prompt a discussion about the tradeoffs. This doesn't mean that senior developers won't be much better at writing maintainable code on a macro level. This is especially true because I've found it usually takes until upper-mid-level for developers to really get an appreciation for simplicity and avoidance of technical debt, and to register that you're actually better if you can do more with less. (n.b.: speeding up a computer program is just making it do less)
- lsiebert 9y agoThat's why comments should mostly indicate the why of a design/architecture choice that was made, not what the code is doing.
- deleted 9y ago[deleted]
- ge96 9y agoProbably unrelated It pisses me off how I keep having to rewrite/resolve this particular problem I have of deploying a photo sharing site based in a poor network area. One day I feel satisfied with the work I've just done, the next day it is garbage and I do it again a different way. Faster but not fast enough. Then you get this huge block of code and feel this heavy weight like ahhh.... Slash and burn... Am I doing this the right way? What is the right way? Look at other major sites, why don't I achieve that same performance? It is nicer to start over but is it a waste?
- tekstar 9y agoAhh, rewrite vs letting it stay! The classic maintainer dilemma! Answering this really depends. I think I would start with "what do I hope to get out of this process". Are you doing this to learn? Are you doing it to grow a user-base? If it's a user-base, is this the biggest problem preventing your growth? If it's learning, is this the most interesting problem for you to solve?
- ge96 9y agoI'm doing it because the site is too slow where people don't stay/staring at a loading icon. 0.5Mbps and lower is really annoying to deploy a photo-based site gee who would have known. The Dom loads just over 1 second, but things are still waiting to show up(js?) So I'm thinking of building empty templates like "Hey something is here don't worry." I don't know. I'm actually not sure what progressive loading is. I currently use that blur-up method but I've seen those sites that use a technique where the photo is super pixelated (large pixels about a quarter of an inch or 1/8) before loading the high res. I think that is true progressive loading but don't know what it means with code.
- honopu 9y agoserver side render or put in HTML as placeholder. I've wanted to placeholder images with the primary color or some gradient that can be made in canvas but never got around to it for a project.