6 ms·
He uses good practices, but at the time he can be bad dev. Because programming isn't about variable naming and etc. It's about writing working algorithms and if
by sjapkee 9y ago
He uses good practices, but at the time he can be bad dev. Because programming isn't about variable naming and etc. It's about writing working algorithms and if you can't do this, then nobody cares how good you at not writing working things.
- cocktailpeanuts 9y agoTrue, I just remembered there are too many developers nowadays just blindly focused on "best practice" so that they can be "seen as" a good developer, but the real good developers are the ones who actually come up with creative solutions to get things done and not always dogmatic about these things.
- alex_hitchins 9y agoA good dev is one who knows when they write bad code, IMO.
- didymospl 9y agoIf programming is really about writing algorithms then why people(both candidates and employers) complain about whiteboard interviews? I think that most of the programming done today are in fact declarative due to abundance of high-level languages frameworks, libraries and other great tools that abstract business logic away from the low level imperative instructions. Obviously it's good to know how everything works behind the scenes but I know many people who are far less familiar with the CS basics than me yet they are tremendously more productive in software development.
- sjapkee 9y agoIf all your work is to read/write data from DB and represent it in different ways, then yes, you can know absolutely nothing, use standard framework functions and be stackoverflow developer 8/5. But if you need to write something specific, something more complex, you can't just take two functions from your %framework_name% and make it beautiful and working. You should know how to do it and furthermore, you should know how to do it with existing tools. And here the majority begin to have problems.
- didymospl 9y agoWell, it really depends what do you mean by "something more complex". I remember when the author of rather non-trivial tool used by many of HN users went on Twitter rant because he could not invert a binary tree and failed a whiteboard interview https://news.ycombinator.com/item?id=9695102 https://news.ycombinator.com/item?id=9695102 To me, and possibly most CS freshmen, this task would be a piece of cake, yet I think Max is a better programmer than most of us - a.k.a. rockstar developer.
- sjapkee 9y agoSomething more complex is like audio/video codecs, image compression, etc. When they are developed, existing algorithms and libraries cover, at best, half of the needs. That's what I'm talking about. There almost isn't exist areas where you can use only existing code base and feel good with it.
- didymospl 9y agoI assume you're absolutely right about the areas you mentioned but it's not something that an average developer works on nowadays. In the same way as the majority of professional drivers are not race drivers.
- sjapkee 9y agoFraud detection, billing systems, infosec, banking, HFT, image/video processing and pattern recognition, games development, firmware, highload tools and services, tools for programmers (IDEs, linters, etc.), programming languages design, browsers, search systems, data processing and storage systems, electronic document management, cryptosystems, operating systems, frameworks, etc. It seems to me that this is a large part of the software being developed right now. And the development of all this requires rather non-trivial knowledge and skills. So your comparison with the race drivers is quite far from the truth.
- pyjammas 9y ago
- yorwba 9y agoAlgorithms are not "what you learn in an algorithms course" and also not "what you are asked to do in a whiteboard interview". Writing an algorithm is what you do when you specify a way to mechanically obtain a solution to a problem, whether you do that in a declarative language or an imperative one or even in a language whose only interpreter is your own head.
- didymospl 9y agoOk, if we stick to your definition of algorithm that it actually makes much more sense.
- pyjammas 9y agoI disagree. Programming is about whatever the particular case is about. In some cases that can be about 'working algorithms', but in other cases it can be about building a CRUD app and knowing the nuances of front-end development concerns (including, sometimes, CSS quirks and the like). I find many discussions about these issues tiresome because they feel like someone arguing that 'writing', in general, is about grammar, or vocabulary, or style, or whatnot. It's about all these things, and none of these things, depending on the context.