Reddit Reddit reviews The Clean Coder: A Code of Conduct for Professional Programmers

We found 42 Reddit comments about The Clean Coder: A Code of Conduct for Professional Programmers. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Programming
Software Design, Testing & Engineering
Software Development
The Clean Coder: A Code of Conduct for Professional Programmers
Prentice Hall
Check price on Amazon

42 Reddit comments about The Clean Coder: A Code of Conduct for Professional Programmers:

u/YuleTideCamel · 162 pointsr/learnprogramming
  • Clean Code is a really good programming book. It's technical in that it gives you best practice, but you don't need a laptop or to code to follow along, you can just absorb the information and follow along with the simple samples (even if it's not your primary coding language).

  • The Clean Coder is a great book about how to build software professionally. It focuses on a lot of the softer skills a programmer needs.

  • Scrum: The Art of doing twice the work in half the time is a great introduction to scrum and why you want to use it. Agile (and scrum in particular) can have a major improvement on the productivity of development teams. I work for a large technology company and we've seen improvements in the range of 300% for some teams after adopting scrum. Now our entire company is scrumming.

  • Getting Things Done has personally helped me work more efficiently by sorting work efficiently. Having a system is key.

  • How to Win Friends and Influence People I often recommend devs on our team read this because it helps with interpersonal communication in the office.

  • Notes to a Software Tech Lead is a great book so you can understand what a good lead is like and hopefully one day move up in your career and become one.

u/JuanPabloElSegundo · 36 pointsr/cscareerquestions

I read The Clean Coder: A Code of Conduct for Professional Programmers and it introduced quite a few different concepts and lines of thinking for devs. Good read.

u/Chaseshaw · 32 pointsr/learnprogramming

honestly, pick up this book. it'll up your professionalism a great deal. part of the responsibility of a good coder is to be able to push back to management. not rudely, but they make their money decisions based on tech they don't know, and it's your job to make sure they understand what's possible and what's not instead of just rolling over and taking it.

u/Vitate · 26 pointsr/cscareerquestions

Much of this stuff is learnable outside of work, too, at least at a superficially-passable level. Trust me.

Pick up a few seminal books and read them with vigor. That's all you need to do.

Here are some books I can personally recommend from my library:

Software Design

u/0b_101010 · 9 pointsr/learnprogramming

Hi! I recommend the following books:

u/TransFattyAcid · 8 pointsr/webdev

The agile principles are based around the idea of iterative development. This invites what you're calling rework to make the product the best it can be.

Obviously, you're coming at this from a place of frustration because you want to meet deadlines but the "simple" solution is to build all these steps into your estimates. If you're not setting the deadlines, then you need to be up front with your manager about what you can get done in the given time. Maybe it'll work, but not be clean code (the P.S. here is that after it ships, you need time to make it clean). Maybe you can get features X and Y done, but not Z.

Refactoring and code reviews are part of the job. Yes, your manager is going to make suggestions you might not agree with and, yes, the senior devs are going to send you back to the drawing board sometimes. Sometimes it's because they're jerks and sometimes it's because experience has taught them something.

All in all, I'd recommend reading any of the following by Robert Martin. Clean Coder is perhaps most relevant to estimates and deadlines but they're all really helpful.

u/mostlyemptyspace · 6 pointsr/startups

One book I recommend to my CTO friends is The Clean Coder. It really helped me set the culture for how our development team should behave themselves. I bought a copy for everyone on my team.

I also strongly recommend Hooked. If you're at all involved in the product management side of things, this really helped me understand how to build an engaging product.

Many of my fellow CTO's recommend Extreme Ownership. The idea here is that as a startup team, you have to be willing to (figuratively) die for one another, and you have to have each other's back the way a platoon in combat would.

u/Hitthefairway · 5 pointsr/webdev

The Clean Coder: A Code of Conduct for Professional Programmers https://www.amazon.com/dp/0137081073/ref=cm_sw_r_cp_api_i_6rJ6AbTS2DYWA

u/wordsoup · 5 pointsr/books

As software engineer there are of several books like Clean Code and in other fields there are probably other essential books.

But your question probably aims at books that convey general knowledge - increasing specifically the capacity of intelligence is very debatable - in this case my answer is The Art Of Learning.

u/Andy101493 · 4 pointsr/cscareerquestions

i’m sorry for this situation, a lot of others answered this question very well. i just want to add that there’s a book called The Clean Coder that talks about this side of being a software engineer, I’ve personally found it an excellent and relevant read that sheds a lot of light onto this side of the job

https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073/ref=mp_s_a_1_1?crid=3JNY7TQSIG54Y&keywords=the+clean+coder&qid=1555869433&s=gateway&sprefix=the+clean+coder&sr=8-1

u/CSMastermind · 4 pointsr/learnprogramming

I've posted this before but I'll repost it here:

Now in terms of the question that you ask in the title - this is what I recommend:

Job Interview Prep


  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List


    Read This First


  10. Pragmatic Thinking and Learning: Refactor Your Wetware

    Fundementals


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments


  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams

    Mentality


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development

    History


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List


    Read This First


  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth

    Fundementals


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design


  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets


  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example

    Databases


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience


  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos

    Mentality


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering

    History


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    Specialist Skills


    In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/bwainwright · 4 pointsr/java

We assign mentors (usually the more experienced team members, but can vary depending on project and resourcing requirements) to new guys who will help them get to grips with things like our methodologies, coding standards, etc.

If we end up with a team consisting of a lot of guys without TDD experience (rare, but my teams can vary depending on other projects/resources within my company), we'll occasionally run TDD workshops where one of my senior guys or myself will go through a fill worked example of TDD, and then point the new guys in the direction of suitable resources so they can self learn (although we support them as much as required).

In terms of resources, there are a number of books we have on our internal "recommended reading" list:

  1. The Clean Coder : A Code Of Conduct For Professional Programmers by Robert C. Martin (http://www.amazon.com/The-Clean-Coder-Professional-Programmers/dp/0137081073). This is a good book for developers in general, but has a good section on TDD.

  2. Test Driven Development : By Example by Kent Beck (http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530/ref=sr_1_1?s=books&ie=UTF8&qid=1458766760&sr=1-1&keywords=kent+beck). Kent Beck is one of the leading proponents of TDD, and this is well worth a read. I find that the fact the text is example driven really helps our developers relate TDD principals to actual real life situations.
  3. xUnit Test Patterns : Refactoring Test Code by Gerard Meszaros (http://www.amazon.com/xUnit-Test-Patterns-Refactoring-Code/dp/0131495054). This is a bit more advanced and goes above why and how to use TDD - in fact, it's not specifically about TDD, but rather just unit tests in general. However, it explains ways and patterns that can be used to design your code and your tests correctly in order to produce quality tests.

    There's a lot of information on the web, but I find sometimes books are just the best source.
u/CodeBlueDev · 4 pointsr/learnprogramming

A lot of these are known as "Code Smells". Learn to identify them and try to fix them.

Other good books that may help you:

  • Refactoring
  • The Clean Coder

    Use something like StyleCop or Linting which are supposed to check and compare your code against best practices.
u/shaziro · 4 pointsr/cscareerquestions

>The result is that I will feel pressure to commit to a certain amount during a sprint that I know I cannot complete unless I am working over 40 hours a week. This pressure does come from management in the form of surprise or confusion if I try to commit to less than everyone else who is working overtime.

Teams should be working at a sustainable pace. Some overtime is OK but consistent overtime will generally cause more harm than good. The Clean Coder and The Complete Software Developer's Career Guide recommend giving 40 hours per week to your employer. Any hours on top of that should be hours done for your self-improvement.

Only sign up for work that you feel comfortable completing in a 40 hour work week. If you start to get behind on a task towards the end of the sprint, just let the task carry over. My first thought when I see a task not finished in the sprint it was pulled into is "this task must have been more work than we thought." My first thought is not "whoever worked on this task must have been a low performer." If that is the first thought then the team has bigger problems.

The only time I consider it necessary to do overtime is if there is a critical defect in production or we are very far behind on a release and in a situation in which releasing late would cause a lot of problems for our clients or consumers. For example, I sometimes have deadlines set by the government and if I am late on a release, our clients will have to pay fines.

So I recommend only doing more than 40 hours per week during the above scenarios and if your manager has a problem with that then probably consider job searching.

u/sastarbucks · 3 pointsr/UKPersonalFinance

First off starting with some non financial advice stuff

It seems you have things sorted from a technical ability perspective but when it comes down to requirements and understanding what is needed that is something you might fall down on.

This happens a fair bit to be honest with you as systems can get a lot more complex and you are at the mercy of any business analysis which might be done, so as you say you can deliver "it" if you know what "it" is, that comes from experience but can be learnt in other ways.

Couple of book links:

u/sjsu_dropout · 3 pointsr/cscareerquestions

Yeah, that is completely understandable. It really depends on how much time you want to spend on other things besides programming.

But be aware that in our profession, we are expected to always improve our skills on our own time. So if we put in 40 hours at work every week, we should also spend another 20 hours practicing and learning.

Check out the book "The Clean Coder: A Code of Conduct for Professional Programmers": https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073

A lot of the people that get into the top companies follow a lot of principles described in that book.

u/assertchris · 3 pointsr/PHP

I think this is often due to developers not understanding what clean code is or how to motivate it in instances where it will take significantly more time to write than throw-away code. I absolutely love Uncle Bob's Clean Code book, but even more than that, his Clean Coder book talks about the skills to be a professional developer. Skills which include being able to say "no" to poor management decisions and communicate and code professionally.

If the reader must choose between the two, I would recommend the latter. And I do, to all junior developers who ask...

u/gonzofish · 3 pointsr/Angular2

Then read The Clean Coder

u/adrock3000 · 3 pointsr/androiddev

The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series) https://www.amazon.com/dp/0137081073/ref=cm_sw_r_other_awd_RTd6wbGYJT9K3

u/ShadowWebDeveloper · 3 pointsr/cscareerquestions

Agreed. Unfortunate, but true. Self-taught is a great attribute to have, and the fact that you work on this stuff in your spare time is a plus in an interview situation. But it doesn't mean that you can reliably ship code and work well in a team environment.

By the way, one of the bigger things you can do to look more professional is to work on your communication. You probably don't write like this in the workplace, but if you do, try to write in complete, grammatically correct, fully punctuated sentences.

Try reading The Clean Coder for some ideas on how to be perceived as a professional at work and thus (ideally) be given higher status eventually.

Also, longer term, you may wish to expand beyond the LAMP stack. For better or worse, it's perceived as a lower quality stack, with associated lower quality developers (who are thus cheaper in the marketplace). Supply of developers is also higher in LAMP because it has a very low barrier to entry, pushing pay down. I recommend learning Python or Java.

u/erikvillegas · 3 pointsr/learnprogramming

I've heard good things about a book called Clean Coder that might answer some of your questions. I've been meaning to read it myself.

u/UpAndDownArrows · 3 pointsr/learnprogramming

First time see that site, but I would recommend reading:

u/blackblack · 2 pointsr/cscareerquestions

Hey mate, I found that the philosophy of stoicism allowed me to really appreciate what I work on (even those crappy legacy systems). Here is a good primer http://www.goodreads.com/book/show/5617966-a-guide-to-the-good-life.

You said that meditation helps, well I think that a good philosophy for your life can build on that.
You have some awesome savings and at least that is something to appreciate!

Edit: Oh there are also some great tips on "workaholism" and the art of saying "no" in the clean coder by uncle bob (https://www.amazon.com/gp/product/0137081073/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0137081073&linkCode=as2&tag=nodogma-20). It is quite a common problem in our industry that we are overworked, but it comes down to our professionalism and standing up for ourselves and making sure that we don't make false promises. The worst thing that could happen to you if you start leaving on the clock and saying no to ridiculous requests is that you get fired and get to take that sabbatical!!

u/besna · 2 pointsr/programming

That what who8877 wrote and this book are my recommendations for you.

u/_nur · 2 pointsr/Futurology

So you think Uncle Bob is a recent CS graduate?

He authored this book

https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073

u/the_real_chef · 2 pointsr/SoftwareEngineering

Clean Code Books:

u/SpaceIsntReallyCold · 2 pointsr/freelance
u/TheSpoom · 2 pointsr/ExperiencedDevs

The Clean Coder is pretty great as it talks about being a professional developer and all that that entails. Very opinionated though (as all of Uncle Bob's books are). "If you don't do TDD, fuck you" is a fairly accurate paraphrasing of one chapter. Still, I found a lot of value there.

I recently read Rework which is a very quick read, but very dense with information on how Basecamp runs their business and many ideas of things that you should or should not do. If you do any freelancing or are thinking of starting your own business at some point, I'd recommend it.

Probably going to read Remote next as I'm working with remote business partners myself.

u/N-Dufva · 2 pointsr/learnprogramming

Automate the Boring Stuff with Python Is also something you might want to look into. It is a little bit easier than "Python the Hard Way" in my opinion but reading both at the same time is completely doable.

Edit (added this after a bit of thinking):

For CS in general there are a couple of answers, the first is sadly to give up on reading coding literature on the kindle. Most books will make the code unreadable. But that doesn't mean that there aren't things to read related to programming. My first suggestion would be The clean Coder.

But if you are willing to remove yourself from the kindle I have two more suggestions.

First "The Art of Computer Programming" is the extreme answer. It consists of several books and I have tried going trough it multiple times without success. But each time I open the any of the books in the series I learn something new. But the books should come with big warning, these are not easy to read.

Second I would go trough the CS50 course on edX.com, simply put it's the best introduction to CS available, and it is can be accessed for free.

u/KoleCasule1 · 2 pointsr/csharp

This is the third book suggested that was written by Uncle Bob.

Can you maybe explain the Difference between:

Clean Code , Clean Architecture and Clean Coder. All books by Uncle Bob

u/DeliveryNinja · 2 pointsr/learnprogramming

Read these books to get to grips with the latest techniques and ways of working. As an employer I'd be extremely impressed if you'd read these books. They will give you a big head start when trying to move into the professional work environment. Most of them will apply to any programming language but they mainly use Java as the example language but it's very similar to C#. It's books like these that are the difference between a beginner and an expert, but don't forget when you start coding 9-5 with good developers you will very quickly pick things up. We were all in your position at one point, if you get these read it'll all be worth it in the end!

Coding

C# in depth - I've not read this one since I do Java but I've just had a quick glance. This should be pretty useful and it's a respected publisher. I think you should start with this one.

Clean Code - Great book which explains how to write clean concise code, this 1,000,000x. It doesn't matter what language you are using it should apply where ever you write code.

Cleaner Coder - Another Robert Martin book, this one is easy to read and quite short, it's all about conducting yourself in a professional manner when you are coding. Estimating time, working with co-workers, etc.. Another good read.

Growing Object-Oriented Software - This book is about writing code using test driven development. It explains the ideas and methodologies and then has a large example of a project that you build with TDD. I just read this recently and it is really good.

Head first design patterns - This book goes through essential design patterns when coding with an object orientated language. Another essential read. Very easy to read, lots of diagrams so no excuses to not read it!

Work Methodologys

Kanban

Succeeding with Agile


p.s

Start building stuff, get an account on linked in and state the languages you are working with. This will help as well because having something to show an employer is priceless.

u/rfinger1337 · 1 pointr/csharp

if you need a comment for every function then either you are not spending enough time naming your functions or you are not respecting the single responsibility principle.

Comments should be few and far between and only say why something is needed not what it does (with the exceptions of very complicated regex or some unreadable math.)

https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073

u/TanyIshsar · 1 pointr/cscareerquestions

Hey /u/derplefacelel, you are in a tough spot, and this sounds like a tough situation. I think you dodged a bullet here, though I know it doesn't feel like it right now. I think this because the worst thing you can do is delete the wrong data, and the story you've told, as others have pointed out, is a recipe for 'fuck, the users table is gone'.

I think you'll find that /u/UnregisteredIdiot up at the top comments is pretty much right. This screw up is trivial, and you'll need to get used to the pressure. However your story, both in regards to your boss and yourself, points to many serious issues in your office that contributed to this particular situation.

I think you'll find The Clean Coder an excellent resource in helping you learn to better manage your boss, set reasonable expectations and deal with the pressure that /u/UnregisteredIdiot speaks of. Good luck and keep learning man, you'll find your mojo :)

u/ircmaxell · 1 pointr/programming

There's a temptation to fix and release without testing, but that's not the professional thing to do. Remember, you have a responsibility, and part of that is not releasing code that you aren't 100% positive of.

I'd suggest you give Clean Coder a read...

u/robotmayo · 1 pointr/learnjavascript

A year from now you will look at your code and say the exact same thing. One of the best ways is to simply write and read a lot of code. http://www.amazon.com/The-Clean-Coder-Professional-Programmers/dp/0137081073 This is a book a lot of people recommended you may want to give it a look. Here is a breif guide of javascript design patterns http://code.tutsplus.com/tutorials/understanding-design-patterns-in-javascript--net-25930 Another design related link http://addyosmani.com/scalablejs/ I havent gotten the chance to read it myself but the author is very knowledgeable so I have faith its high quality.

My personal favorite way to learn how to structure code is to read tutorials and see how the author designed his program. From there I try to understand why they structured their code that way and compare it to how I would have done it. Lastly, your english is fine. :)

u/bart007345 · 1 pointr/androiddev

Sorry you had to experience that. I suggest you read Clean Coder.

u/recruz · 1 pointr/cscareerquestions

I don't have any for Software Architecture specifically yet. But in regards to skill level as a programmer, definitely have the concepts from this book under your belt: http://www.amazon.com/The-Clean-Coder-Professional-Programmers/dp/0137081073

This level of quality coding should be 2nd nature.