How to find out if a company follows best practices in development? [duplicate]

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
2
down vote

favorite













This question already has an answer here:



  • What are specific ways to learn meaningful information about company culture in interviews?

    5 answers



  • How can I ask a potential employer to show production code?

    11 answers



I've been on Stack Overflow and Code Review for some time and I admire people who help there and provide amazing code reviews. I myself have also quite a bit of experience. Unfortunately to meet and work with such people in real life is almost impossible.



Each and every company I worked for (approx 8-12 so far, also as a contractor) was so unprofessional that I wonder how it even still functions. People there had no idea about the most basic concepts. Everywhere magic strings, namespaces named Classes, classes with several responsibilities, everything you can do wrong they managed to do it this way.



What is worse, they did not strive to improve. They needed tremendous amount of time to implement simplest changes because their code was so bad.



I decided to try to find a new job where I can work with real professionals so I created this new account to ask this question (because I use the other one for CVs).



The question is: How do you find out whether a company employees are good at what they do?



Would you say it's a good idea to ask for a sample of their code? If they want to check what I can I would also like to see if they are worth my time. I don't want to waste almost my entire time at work debugging some old code where each variable is a tmp1, str1, lst3 to tmp23.



I don't want to be just a coder but an engineer and create software that is robust and extendable because of its design and not because of try/catch everywhere and hundreds of ifs to fix some stupid bugs or few hundreds lines of code inside an event handler.



I've tried linkedin and xing but closed both accounts after I noticed that most people have just fake confirmations about their skills.



What should I do to not only be interviewed but also to interview the prospective company. Do you have any experience with that and could give me some advice?



Should I ask for a trial work?



Should I bring my own questions to the interview?







share|improve this question














marked as duplicate by David K, gnat, paparazzo, scaaahu, Kent A. Oct 3 '15 at 14:48


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 2




    Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
    – Elysian Fields♦
    Oct 2 '15 at 14:58






  • 6




    "Should I bring my own questions to the interview?" - Yes, regardless of the position.
    – Brandin
    Oct 2 '15 at 15:02






  • 2




    @DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
    – BSMP
    Oct 2 '15 at 16:03






  • 1




    Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
    – paparazzo
    Oct 2 '15 at 16:36






  • 1




    @eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
    – Kent A.
    Oct 3 '15 at 14:54
















up vote
2
down vote

favorite













This question already has an answer here:



  • What are specific ways to learn meaningful information about company culture in interviews?

    5 answers



  • How can I ask a potential employer to show production code?

    11 answers



I've been on Stack Overflow and Code Review for some time and I admire people who help there and provide amazing code reviews. I myself have also quite a bit of experience. Unfortunately to meet and work with such people in real life is almost impossible.



Each and every company I worked for (approx 8-12 so far, also as a contractor) was so unprofessional that I wonder how it even still functions. People there had no idea about the most basic concepts. Everywhere magic strings, namespaces named Classes, classes with several responsibilities, everything you can do wrong they managed to do it this way.



What is worse, they did not strive to improve. They needed tremendous amount of time to implement simplest changes because their code was so bad.



I decided to try to find a new job where I can work with real professionals so I created this new account to ask this question (because I use the other one for CVs).



The question is: How do you find out whether a company employees are good at what they do?



Would you say it's a good idea to ask for a sample of their code? If they want to check what I can I would also like to see if they are worth my time. I don't want to waste almost my entire time at work debugging some old code where each variable is a tmp1, str1, lst3 to tmp23.



I don't want to be just a coder but an engineer and create software that is robust and extendable because of its design and not because of try/catch everywhere and hundreds of ifs to fix some stupid bugs or few hundreds lines of code inside an event handler.



I've tried linkedin and xing but closed both accounts after I noticed that most people have just fake confirmations about their skills.



What should I do to not only be interviewed but also to interview the prospective company. Do you have any experience with that and could give me some advice?



Should I ask for a trial work?



Should I bring my own questions to the interview?







share|improve this question














marked as duplicate by David K, gnat, paparazzo, scaaahu, Kent A. Oct 3 '15 at 14:48


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 2




    Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
    – Elysian Fields♦
    Oct 2 '15 at 14:58






  • 6




    "Should I bring my own questions to the interview?" - Yes, regardless of the position.
    – Brandin
    Oct 2 '15 at 15:02






  • 2




    @DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
    – BSMP
    Oct 2 '15 at 16:03






  • 1




    Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
    – paparazzo
    Oct 2 '15 at 16:36






  • 1




    @eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
    – Kent A.
    Oct 3 '15 at 14:54












up vote
2
down vote

favorite









up vote
2
down vote

favorite












This question already has an answer here:



  • What are specific ways to learn meaningful information about company culture in interviews?

    5 answers



  • How can I ask a potential employer to show production code?

    11 answers



I've been on Stack Overflow and Code Review for some time and I admire people who help there and provide amazing code reviews. I myself have also quite a bit of experience. Unfortunately to meet and work with such people in real life is almost impossible.



Each and every company I worked for (approx 8-12 so far, also as a contractor) was so unprofessional that I wonder how it even still functions. People there had no idea about the most basic concepts. Everywhere magic strings, namespaces named Classes, classes with several responsibilities, everything you can do wrong they managed to do it this way.



What is worse, they did not strive to improve. They needed tremendous amount of time to implement simplest changes because their code was so bad.



I decided to try to find a new job where I can work with real professionals so I created this new account to ask this question (because I use the other one for CVs).



The question is: How do you find out whether a company employees are good at what they do?



Would you say it's a good idea to ask for a sample of their code? If they want to check what I can I would also like to see if they are worth my time. I don't want to waste almost my entire time at work debugging some old code where each variable is a tmp1, str1, lst3 to tmp23.



I don't want to be just a coder but an engineer and create software that is robust and extendable because of its design and not because of try/catch everywhere and hundreds of ifs to fix some stupid bugs or few hundreds lines of code inside an event handler.



I've tried linkedin and xing but closed both accounts after I noticed that most people have just fake confirmations about their skills.



What should I do to not only be interviewed but also to interview the prospective company. Do you have any experience with that and could give me some advice?



Should I ask for a trial work?



Should I bring my own questions to the interview?







share|improve this question















This question already has an answer here:



  • What are specific ways to learn meaningful information about company culture in interviews?

    5 answers



  • How can I ask a potential employer to show production code?

    11 answers



I've been on Stack Overflow and Code Review for some time and I admire people who help there and provide amazing code reviews. I myself have also quite a bit of experience. Unfortunately to meet and work with such people in real life is almost impossible.



Each and every company I worked for (approx 8-12 so far, also as a contractor) was so unprofessional that I wonder how it even still functions. People there had no idea about the most basic concepts. Everywhere magic strings, namespaces named Classes, classes with several responsibilities, everything you can do wrong they managed to do it this way.



What is worse, they did not strive to improve. They needed tremendous amount of time to implement simplest changes because their code was so bad.



I decided to try to find a new job where I can work with real professionals so I created this new account to ask this question (because I use the other one for CVs).



The question is: How do you find out whether a company employees are good at what they do?



Would you say it's a good idea to ask for a sample of their code? If they want to check what I can I would also like to see if they are worth my time. I don't want to waste almost my entire time at work debugging some old code where each variable is a tmp1, str1, lst3 to tmp23.



I don't want to be just a coder but an engineer and create software that is robust and extendable because of its design and not because of try/catch everywhere and hundreds of ifs to fix some stupid bugs or few hundreds lines of code inside an event handler.



I've tried linkedin and xing but closed both accounts after I noticed that most people have just fake confirmations about their skills.



What should I do to not only be interviewed but also to interview the prospective company. Do you have any experience with that and could give me some advice?



Should I ask for a trial work?



Should I bring my own questions to the interview?





This question already has an answer here:



  • What are specific ways to learn meaningful information about company culture in interviews?

    5 answers



  • How can I ask a potential employer to show production code?

    11 answers









share|improve this question













share|improve this question




share|improve this question








edited Oct 2 '15 at 20:31









Étienne

11916




11916










asked Oct 2 '15 at 14:45









stringbuilder

112




112




marked as duplicate by David K, gnat, paparazzo, scaaahu, Kent A. Oct 3 '15 at 14:48


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.






marked as duplicate by David K, gnat, paparazzo, scaaahu, Kent A. Oct 3 '15 at 14:48


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.









  • 2




    Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
    – Elysian Fields♦
    Oct 2 '15 at 14:58






  • 6




    "Should I bring my own questions to the interview?" - Yes, regardless of the position.
    – Brandin
    Oct 2 '15 at 15:02






  • 2




    @DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
    – BSMP
    Oct 2 '15 at 16:03






  • 1




    Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
    – paparazzo
    Oct 2 '15 at 16:36






  • 1




    @eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
    – Kent A.
    Oct 3 '15 at 14:54












  • 2




    Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
    – Elysian Fields♦
    Oct 2 '15 at 14:58






  • 6




    "Should I bring my own questions to the interview?" - Yes, regardless of the position.
    – Brandin
    Oct 2 '15 at 15:02






  • 2




    @DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
    – BSMP
    Oct 2 '15 at 16:03






  • 1




    Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
    – paparazzo
    Oct 2 '15 at 16:36






  • 1




    @eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
    – Kent A.
    Oct 3 '15 at 14:54







2




2




Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
– Elysian Fields♦
Oct 2 '15 at 14:58




Very related question - perhaps even a duplicate? workplace.stackexchange.com/q/4259/2322
– Elysian Fields♦
Oct 2 '15 at 14:58




6




6




"Should I bring my own questions to the interview?" - Yes, regardless of the position.
– Brandin
Oct 2 '15 at 15:02




"Should I bring my own questions to the interview?" - Yes, regardless of the position.
– Brandin
Oct 2 '15 at 15:02




2




2




@DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
– BSMP
Oct 2 '15 at 16:03




@DavidK - Even if the question isn't quite the same; the answer there is definitely what the OP is looking for.
– BSMP
Oct 2 '15 at 16:03




1




1




Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
– paparazzo
Oct 2 '15 at 16:36




Yes there are companies with professional code practices, They are selective and tend to keep employees. As far as professional - your question is more rant than question.
– paparazzo
Oct 2 '15 at 16:36




1




1




@eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
– Kent A.
Oct 3 '15 at 14:54




@eckes I once tried to interview with a company that listed themselves on Careers.SE as meeting all of the Joel metrics. The interview never happened because their email service that was supposed to send me the code problem failed, and nobody bothered to check it, or respond to my emails for 4 hours. A good Joel score is fine, but it doesn't say everything you would want to know about a company.
– Kent A.
Oct 3 '15 at 14:54










8 Answers
8






active

oldest

votes

















up vote
2
down vote













It's not a question of bringing the subject up in the interview or ask trial work, it's way before that: you need to do your homework before applying for a certain position/company and understand if it offers what you are looking for.



You have stated you are a contractor. It's likely you were hired to fix problems and or create solutions for non-IT companies (companies which the core business is something non IT related).



It's clear to me that if you apply for, say, a retail company - you will find an internal IT department at best with limited knowledge about your skills. They will maintain some staff to do the basic maintenance of the systems they have and for bigger projects they will probably outsource it.



In your shoes I would apply for either an IT Consultancy company (Consultancy companies will demand more from you, but you will work with usually very skilled professionals and pushed to the limits) or a sofware houses with a relatively big presence in the market. Not to mention Big techs like Google or Microsoft where I've never worked for but will guess their staff must be close to the best available.



Good Luck






share|improve this answer



























    up vote
    2
    down vote













    Firstly good luck getting them to give production code to a candidate.



    I have one suggestion that you may or may not like. Maybe you should try applying for a start up. If the company doesn't have existing products and you're part of a very small team you can shape the coding practices and hopefully grow with the company i.e. have input on their hiring decisions.



    As @User012876768 suggests, the alternative is applying for the Marquee IT companies as they will often have their pick of grads. I've never worked for a company like that but you would imagine they have fairly tight coding standards.






    share|improve this answer




















    • Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
      – Bill Leeper
      Oct 2 '15 at 18:58

















    up vote
    2
    down vote













    Here's the thing: interviews go both ways. So make sure to ask them questions to let them convince you of their competence. For example, ask them what tools they use, what code standards they have, what their process is, how do they ensure code quality, what they think about their code base, even what they think their company can work on, what do they do to try to identify and fix problems, and what their company is good at. When you do technical interviews, use it as an opportunity to start a two way dialog, and also think about does your interviewer seem like they know what they're talking about too.



    Use this technique, and it'll work for you in that it makes you look like a good candidate, AND you will get an idea of the company's quality too.






    share|improve this answer



























      up vote
      2
      down vote













      With virtually all companies, you're not going to be able to see private code before being hired. What you can try to do is to find people who previously worked there and see if they're willing to comment on the state of affairs.



      If you want to see significant amounts a companies code before being hired, you're going to need to be selective in what types of companies you apply for. For most fields of software development you'll be limited to companies doing major amounts of open source work are the easiest ones to do so: Find out what projects they work on, look at what their people are committing to public repositories, and see what they're advocating on discussion lists/etc. The only major partial exception is companies who do public facing web development; in those cases you can look at the client side half of their sites look like although the backend will largely remain a black box.






      share|improve this answer



























        up vote
        2
        down vote














        What should I do to not only be interviewed but also to interview the
        prospective company. Do you have any experience with that and could
        give me some advice?




        The best way to learn about how the company/department actually works is to talk with someone who actually works there.



        If you have someone in your network with inside knowledge of the company and its development practices, talk with them.



        If not, during your interviews try to talk with someone who would be one of your peers in the company. When I'm the hiring manager, I make sure to include a peer as part of the interview process. When I'm the candidate, I ask to speak with one of the peers of the open position.



        During this discussion, you can ask about the company, the manager, and all of the processes in use.



        Don't just ask "Do you follow best practices?" because "best" is very contextual. Instead, ask about the specifics that are of interest to you.




        Should I ask for a trial work?




        You could. Some companies make a habit of hiring people for an initial trial period, and would welcome that offer.




        Should I bring my own questions to the interview?




        Always bring your own questions.



        Not only will that ensure that you get the answers to items you need to know, but it will demonstrate your interest in the company, the job, and your career. Those are all good signs for hiring managers.






        share|improve this answer



























          up vote
          1
          down vote













          Ask for opinions from your tech-oriented peers, teachers and mentors about the reputation of any company you're considering, along with suggestions of other places you should consider.



          I emphasize "tech-oriented" because a great culture for a firm's salespeople or customers might not translate into the same for their engineers.



          An ideal source of insight would be a hackathon, where you can work directly with tech and other people from within the company.



          Another source of insight is customer ratings / service complaints - if the products stink and the service is terrible, it's unlikely it will be a great place to work, especially if they are a technology company.



          In this vein, if possible, become a user of the company's products and services. This will provide terrific insight.



          Lastly, yes, do have questions for your interviewer(s), but make sure they aren't simple ones that are already answered on their website or elsewhere. Asking "How many employees do you have" makes you look lazy and unprepared. Good luck!






          share|improve this answer






















          • Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
            – stringbuilder
            Oct 2 '15 at 16:44

















          up vote
          1
          down vote













          Companies can be big places. One group or division may have completely different practices than another.



          I would not worry too much about what other people in the company are doing. Usually each programmer works on their own stuff. In 25 years of programming I have never had somebody mess with my code at any significant level. When people take over other peoples code I find they always rewrite it completely.



          As far as debugging other people's code, that is inevitable. The more junior and less productive you are, the more cleanup and junk work you will get. If you are highly productive, you will spend very little time doing secondhand coding. There is nothing more annoying than a junior 3000-lines-a-year programmer complaining about the style of the base code. Once, a company I was at hired a contractor of weak abilities who was assigned to work on some components which were a tiny fraction of my output and complained about my "spaghetti" code. Of course, Mr. Beautiful Code did not actually write much beautiful code and consequently he was fired after a few weeks.



          Personally, I never have a problem with other people's code. I don't care how bad it is, or what language it is, or what its style is. I am a master programmer so I can handle it and it doesn't bother me at all.



          Once I wanted to play tennis with somebody and they refused, saying, "Sorry, I don't play with bad tennis players because it throws off my game." That's the mark of a total amateur. If you think playing with a novice will "throw off your game", you have a long way to go to master class.



          If you want to know what good code looks like, check out Google Code Jam. The submissions from the top guys there completely blow me away. I am a very good programmer, but seeing that stuff, it is like watching a grandmaster play chess, just amazing. Forget the OO nonsense your professors spout, they are worthless; let the Code Jam guys be your models, because they are gods. You will learn WAY more reading their code than some dumb design handbook.






          share|improve this answer


















          • 1




            My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
            – Étienne
            Oct 3 '15 at 16:20


















          up vote
          -1
          down vote













          Nobody 100% agrees on best practices, especially since the recommendations keep changing.



          Nobody 100% implements best practices, for reasons ranging from past history of the project to needs of the business to up-front cost of adopting them.



          And it 100% doesn't matter. If you're any good at your craft, you can adapt to the environment they do have, learn what the constraints are, and then work with them to introduce improvements where they make sense.



          A good workman can do good work even if the tools aren't the latest and greatest. And that includes cognitive and process tools as well as the ones more commonly recognized as tools.



          That isn't intended to defend the old tools... just to defend their users, and to suggest that setting this particular requirement may cause you to reject some darned good opportunities.






          share|improve this answer
















          • 1




            That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
            – stringbuilder
            Oct 3 '15 at 6:46










          • You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
            – keshlam
            Oct 3 '15 at 20:42

















          8 Answers
          8






          active

          oldest

          votes








          8 Answers
          8






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          2
          down vote













          It's not a question of bringing the subject up in the interview or ask trial work, it's way before that: you need to do your homework before applying for a certain position/company and understand if it offers what you are looking for.



          You have stated you are a contractor. It's likely you were hired to fix problems and or create solutions for non-IT companies (companies which the core business is something non IT related).



          It's clear to me that if you apply for, say, a retail company - you will find an internal IT department at best with limited knowledge about your skills. They will maintain some staff to do the basic maintenance of the systems they have and for bigger projects they will probably outsource it.



          In your shoes I would apply for either an IT Consultancy company (Consultancy companies will demand more from you, but you will work with usually very skilled professionals and pushed to the limits) or a sofware houses with a relatively big presence in the market. Not to mention Big techs like Google or Microsoft where I've never worked for but will guess their staff must be close to the best available.



          Good Luck






          share|improve this answer
























            up vote
            2
            down vote













            It's not a question of bringing the subject up in the interview or ask trial work, it's way before that: you need to do your homework before applying for a certain position/company and understand if it offers what you are looking for.



            You have stated you are a contractor. It's likely you were hired to fix problems and or create solutions for non-IT companies (companies which the core business is something non IT related).



            It's clear to me that if you apply for, say, a retail company - you will find an internal IT department at best with limited knowledge about your skills. They will maintain some staff to do the basic maintenance of the systems they have and for bigger projects they will probably outsource it.



            In your shoes I would apply for either an IT Consultancy company (Consultancy companies will demand more from you, but you will work with usually very skilled professionals and pushed to the limits) or a sofware houses with a relatively big presence in the market. Not to mention Big techs like Google or Microsoft where I've never worked for but will guess their staff must be close to the best available.



            Good Luck






            share|improve this answer






















              up vote
              2
              down vote










              up vote
              2
              down vote









              It's not a question of bringing the subject up in the interview or ask trial work, it's way before that: you need to do your homework before applying for a certain position/company and understand if it offers what you are looking for.



              You have stated you are a contractor. It's likely you were hired to fix problems and or create solutions for non-IT companies (companies which the core business is something non IT related).



              It's clear to me that if you apply for, say, a retail company - you will find an internal IT department at best with limited knowledge about your skills. They will maintain some staff to do the basic maintenance of the systems they have and for bigger projects they will probably outsource it.



              In your shoes I would apply for either an IT Consultancy company (Consultancy companies will demand more from you, but you will work with usually very skilled professionals and pushed to the limits) or a sofware houses with a relatively big presence in the market. Not to mention Big techs like Google or Microsoft where I've never worked for but will guess their staff must be close to the best available.



              Good Luck






              share|improve this answer












              It's not a question of bringing the subject up in the interview or ask trial work, it's way before that: you need to do your homework before applying for a certain position/company and understand if it offers what you are looking for.



              You have stated you are a contractor. It's likely you were hired to fix problems and or create solutions for non-IT companies (companies which the core business is something non IT related).



              It's clear to me that if you apply for, say, a retail company - you will find an internal IT department at best with limited knowledge about your skills. They will maintain some staff to do the basic maintenance of the systems they have and for bigger projects they will probably outsource it.



              In your shoes I would apply for either an IT Consultancy company (Consultancy companies will demand more from you, but you will work with usually very skilled professionals and pushed to the limits) or a sofware houses with a relatively big presence in the market. Not to mention Big techs like Google or Microsoft where I've never worked for but will guess their staff must be close to the best available.



              Good Luck







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Oct 2 '15 at 15:02









              User012876768

              1,126143




              1,126143






















                  up vote
                  2
                  down vote













                  Firstly good luck getting them to give production code to a candidate.



                  I have one suggestion that you may or may not like. Maybe you should try applying for a start up. If the company doesn't have existing products and you're part of a very small team you can shape the coding practices and hopefully grow with the company i.e. have input on their hiring decisions.



                  As @User012876768 suggests, the alternative is applying for the Marquee IT companies as they will often have their pick of grads. I've never worked for a company like that but you would imagine they have fairly tight coding standards.






                  share|improve this answer




















                  • Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                    – Bill Leeper
                    Oct 2 '15 at 18:58














                  up vote
                  2
                  down vote













                  Firstly good luck getting them to give production code to a candidate.



                  I have one suggestion that you may or may not like. Maybe you should try applying for a start up. If the company doesn't have existing products and you're part of a very small team you can shape the coding practices and hopefully grow with the company i.e. have input on their hiring decisions.



                  As @User012876768 suggests, the alternative is applying for the Marquee IT companies as they will often have their pick of grads. I've never worked for a company like that but you would imagine they have fairly tight coding standards.






                  share|improve this answer




















                  • Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                    – Bill Leeper
                    Oct 2 '15 at 18:58












                  up vote
                  2
                  down vote










                  up vote
                  2
                  down vote









                  Firstly good luck getting them to give production code to a candidate.



                  I have one suggestion that you may or may not like. Maybe you should try applying for a start up. If the company doesn't have existing products and you're part of a very small team you can shape the coding practices and hopefully grow with the company i.e. have input on their hiring decisions.



                  As @User012876768 suggests, the alternative is applying for the Marquee IT companies as they will often have their pick of grads. I've never worked for a company like that but you would imagine they have fairly tight coding standards.






                  share|improve this answer












                  Firstly good luck getting them to give production code to a candidate.



                  I have one suggestion that you may or may not like. Maybe you should try applying for a start up. If the company doesn't have existing products and you're part of a very small team you can shape the coding practices and hopefully grow with the company i.e. have input on their hiring decisions.



                  As @User012876768 suggests, the alternative is applying for the Marquee IT companies as they will often have their pick of grads. I've never worked for a company like that but you would imagine they have fairly tight coding standards.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Oct 2 '15 at 15:08









                  Dustybin80

                  5,85732125




                  5,85732125











                  • Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                    – Bill Leeper
                    Oct 2 '15 at 18:58
















                  • Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                    – Bill Leeper
                    Oct 2 '15 at 18:58















                  Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                  – Bill Leeper
                  Oct 2 '15 at 18:58




                  Not always a given. Any large organization is going to provide lots of places for bad programmers to hang out. Small startups is a good point, a lot less likely to have bad habits and a lot more likely you can influence them.
                  – Bill Leeper
                  Oct 2 '15 at 18:58










                  up vote
                  2
                  down vote













                  Here's the thing: interviews go both ways. So make sure to ask them questions to let them convince you of their competence. For example, ask them what tools they use, what code standards they have, what their process is, how do they ensure code quality, what they think about their code base, even what they think their company can work on, what do they do to try to identify and fix problems, and what their company is good at. When you do technical interviews, use it as an opportunity to start a two way dialog, and also think about does your interviewer seem like they know what they're talking about too.



                  Use this technique, and it'll work for you in that it makes you look like a good candidate, AND you will get an idea of the company's quality too.






                  share|improve this answer
























                    up vote
                    2
                    down vote













                    Here's the thing: interviews go both ways. So make sure to ask them questions to let them convince you of their competence. For example, ask them what tools they use, what code standards they have, what their process is, how do they ensure code quality, what they think about their code base, even what they think their company can work on, what do they do to try to identify and fix problems, and what their company is good at. When you do technical interviews, use it as an opportunity to start a two way dialog, and also think about does your interviewer seem like they know what they're talking about too.



                    Use this technique, and it'll work for you in that it makes you look like a good candidate, AND you will get an idea of the company's quality too.






                    share|improve this answer






















                      up vote
                      2
                      down vote










                      up vote
                      2
                      down vote









                      Here's the thing: interviews go both ways. So make sure to ask them questions to let them convince you of their competence. For example, ask them what tools they use, what code standards they have, what their process is, how do they ensure code quality, what they think about their code base, even what they think their company can work on, what do they do to try to identify and fix problems, and what their company is good at. When you do technical interviews, use it as an opportunity to start a two way dialog, and also think about does your interviewer seem like they know what they're talking about too.



                      Use this technique, and it'll work for you in that it makes you look like a good candidate, AND you will get an idea of the company's quality too.






                      share|improve this answer












                      Here's the thing: interviews go both ways. So make sure to ask them questions to let them convince you of their competence. For example, ask them what tools they use, what code standards they have, what their process is, how do they ensure code quality, what they think about their code base, even what they think their company can work on, what do they do to try to identify and fix problems, and what their company is good at. When you do technical interviews, use it as an opportunity to start a two way dialog, and also think about does your interviewer seem like they know what they're talking about too.



                      Use this technique, and it'll work for you in that it makes you look like a good candidate, AND you will get an idea of the company's quality too.







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Oct 2 '15 at 17:19









                      Kai

                      3,358921




                      3,358921




















                          up vote
                          2
                          down vote













                          With virtually all companies, you're not going to be able to see private code before being hired. What you can try to do is to find people who previously worked there and see if they're willing to comment on the state of affairs.



                          If you want to see significant amounts a companies code before being hired, you're going to need to be selective in what types of companies you apply for. For most fields of software development you'll be limited to companies doing major amounts of open source work are the easiest ones to do so: Find out what projects they work on, look at what their people are committing to public repositories, and see what they're advocating on discussion lists/etc. The only major partial exception is companies who do public facing web development; in those cases you can look at the client side half of their sites look like although the backend will largely remain a black box.






                          share|improve this answer
























                            up vote
                            2
                            down vote













                            With virtually all companies, you're not going to be able to see private code before being hired. What you can try to do is to find people who previously worked there and see if they're willing to comment on the state of affairs.



                            If you want to see significant amounts a companies code before being hired, you're going to need to be selective in what types of companies you apply for. For most fields of software development you'll be limited to companies doing major amounts of open source work are the easiest ones to do so: Find out what projects they work on, look at what their people are committing to public repositories, and see what they're advocating on discussion lists/etc. The only major partial exception is companies who do public facing web development; in those cases you can look at the client side half of their sites look like although the backend will largely remain a black box.






                            share|improve this answer






















                              up vote
                              2
                              down vote










                              up vote
                              2
                              down vote









                              With virtually all companies, you're not going to be able to see private code before being hired. What you can try to do is to find people who previously worked there and see if they're willing to comment on the state of affairs.



                              If you want to see significant amounts a companies code before being hired, you're going to need to be selective in what types of companies you apply for. For most fields of software development you'll be limited to companies doing major amounts of open source work are the easiest ones to do so: Find out what projects they work on, look at what their people are committing to public repositories, and see what they're advocating on discussion lists/etc. The only major partial exception is companies who do public facing web development; in those cases you can look at the client side half of their sites look like although the backend will largely remain a black box.






                              share|improve this answer












                              With virtually all companies, you're not going to be able to see private code before being hired. What you can try to do is to find people who previously worked there and see if they're willing to comment on the state of affairs.



                              If you want to see significant amounts a companies code before being hired, you're going to need to be selective in what types of companies you apply for. For most fields of software development you'll be limited to companies doing major amounts of open source work are the easiest ones to do so: Find out what projects they work on, look at what their people are committing to public repositories, and see what they're advocating on discussion lists/etc. The only major partial exception is companies who do public facing web development; in those cases you can look at the client side half of their sites look like although the backend will largely remain a black box.







                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Oct 2 '15 at 18:34









                              Dan Neely

                              3,08111527




                              3,08111527




















                                  up vote
                                  2
                                  down vote














                                  What should I do to not only be interviewed but also to interview the
                                  prospective company. Do you have any experience with that and could
                                  give me some advice?




                                  The best way to learn about how the company/department actually works is to talk with someone who actually works there.



                                  If you have someone in your network with inside knowledge of the company and its development practices, talk with them.



                                  If not, during your interviews try to talk with someone who would be one of your peers in the company. When I'm the hiring manager, I make sure to include a peer as part of the interview process. When I'm the candidate, I ask to speak with one of the peers of the open position.



                                  During this discussion, you can ask about the company, the manager, and all of the processes in use.



                                  Don't just ask "Do you follow best practices?" because "best" is very contextual. Instead, ask about the specifics that are of interest to you.




                                  Should I ask for a trial work?




                                  You could. Some companies make a habit of hiring people for an initial trial period, and would welcome that offer.




                                  Should I bring my own questions to the interview?




                                  Always bring your own questions.



                                  Not only will that ensure that you get the answers to items you need to know, but it will demonstrate your interest in the company, the job, and your career. Those are all good signs for hiring managers.






                                  share|improve this answer
























                                    up vote
                                    2
                                    down vote














                                    What should I do to not only be interviewed but also to interview the
                                    prospective company. Do you have any experience with that and could
                                    give me some advice?




                                    The best way to learn about how the company/department actually works is to talk with someone who actually works there.



                                    If you have someone in your network with inside knowledge of the company and its development practices, talk with them.



                                    If not, during your interviews try to talk with someone who would be one of your peers in the company. When I'm the hiring manager, I make sure to include a peer as part of the interview process. When I'm the candidate, I ask to speak with one of the peers of the open position.



                                    During this discussion, you can ask about the company, the manager, and all of the processes in use.



                                    Don't just ask "Do you follow best practices?" because "best" is very contextual. Instead, ask about the specifics that are of interest to you.




                                    Should I ask for a trial work?




                                    You could. Some companies make a habit of hiring people for an initial trial period, and would welcome that offer.




                                    Should I bring my own questions to the interview?




                                    Always bring your own questions.



                                    Not only will that ensure that you get the answers to items you need to know, but it will demonstrate your interest in the company, the job, and your career. Those are all good signs for hiring managers.






                                    share|improve this answer






















                                      up vote
                                      2
                                      down vote










                                      up vote
                                      2
                                      down vote










                                      What should I do to not only be interviewed but also to interview the
                                      prospective company. Do you have any experience with that and could
                                      give me some advice?




                                      The best way to learn about how the company/department actually works is to talk with someone who actually works there.



                                      If you have someone in your network with inside knowledge of the company and its development practices, talk with them.



                                      If not, during your interviews try to talk with someone who would be one of your peers in the company. When I'm the hiring manager, I make sure to include a peer as part of the interview process. When I'm the candidate, I ask to speak with one of the peers of the open position.



                                      During this discussion, you can ask about the company, the manager, and all of the processes in use.



                                      Don't just ask "Do you follow best practices?" because "best" is very contextual. Instead, ask about the specifics that are of interest to you.




                                      Should I ask for a trial work?




                                      You could. Some companies make a habit of hiring people for an initial trial period, and would welcome that offer.




                                      Should I bring my own questions to the interview?




                                      Always bring your own questions.



                                      Not only will that ensure that you get the answers to items you need to know, but it will demonstrate your interest in the company, the job, and your career. Those are all good signs for hiring managers.






                                      share|improve this answer













                                      What should I do to not only be interviewed but also to interview the
                                      prospective company. Do you have any experience with that and could
                                      give me some advice?




                                      The best way to learn about how the company/department actually works is to talk with someone who actually works there.



                                      If you have someone in your network with inside knowledge of the company and its development practices, talk with them.



                                      If not, during your interviews try to talk with someone who would be one of your peers in the company. When I'm the hiring manager, I make sure to include a peer as part of the interview process. When I'm the candidate, I ask to speak with one of the peers of the open position.



                                      During this discussion, you can ask about the company, the manager, and all of the processes in use.



                                      Don't just ask "Do you follow best practices?" because "best" is very contextual. Instead, ask about the specifics that are of interest to you.




                                      Should I ask for a trial work?




                                      You could. Some companies make a habit of hiring people for an initial trial period, and would welcome that offer.




                                      Should I bring my own questions to the interview?




                                      Always bring your own questions.



                                      Not only will that ensure that you get the answers to items you need to know, but it will demonstrate your interest in the company, the job, and your career. Those are all good signs for hiring managers.







                                      share|improve this answer












                                      share|improve this answer



                                      share|improve this answer










                                      answered Oct 3 '15 at 12:16









                                      Joe Strazzere

                                      223k104653921




                                      223k104653921




















                                          up vote
                                          1
                                          down vote













                                          Ask for opinions from your tech-oriented peers, teachers and mentors about the reputation of any company you're considering, along with suggestions of other places you should consider.



                                          I emphasize "tech-oriented" because a great culture for a firm's salespeople or customers might not translate into the same for their engineers.



                                          An ideal source of insight would be a hackathon, where you can work directly with tech and other people from within the company.



                                          Another source of insight is customer ratings / service complaints - if the products stink and the service is terrible, it's unlikely it will be a great place to work, especially if they are a technology company.



                                          In this vein, if possible, become a user of the company's products and services. This will provide terrific insight.



                                          Lastly, yes, do have questions for your interviewer(s), but make sure they aren't simple ones that are already answered on their website or elsewhere. Asking "How many employees do you have" makes you look lazy and unprepared. Good luck!






                                          share|improve this answer






















                                          • Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                            – stringbuilder
                                            Oct 2 '15 at 16:44














                                          up vote
                                          1
                                          down vote













                                          Ask for opinions from your tech-oriented peers, teachers and mentors about the reputation of any company you're considering, along with suggestions of other places you should consider.



                                          I emphasize "tech-oriented" because a great culture for a firm's salespeople or customers might not translate into the same for their engineers.



                                          An ideal source of insight would be a hackathon, where you can work directly with tech and other people from within the company.



                                          Another source of insight is customer ratings / service complaints - if the products stink and the service is terrible, it's unlikely it will be a great place to work, especially if they are a technology company.



                                          In this vein, if possible, become a user of the company's products and services. This will provide terrific insight.



                                          Lastly, yes, do have questions for your interviewer(s), but make sure they aren't simple ones that are already answered on their website or elsewhere. Asking "How many employees do you have" makes you look lazy and unprepared. Good luck!






                                          share|improve this answer






















                                          • Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                            – stringbuilder
                                            Oct 2 '15 at 16:44












                                          up vote
                                          1
                                          down vote










                                          up vote
                                          1
                                          down vote









                                          Ask for opinions from your tech-oriented peers, teachers and mentors about the reputation of any company you're considering, along with suggestions of other places you should consider.



                                          I emphasize "tech-oriented" because a great culture for a firm's salespeople or customers might not translate into the same for their engineers.



                                          An ideal source of insight would be a hackathon, where you can work directly with tech and other people from within the company.



                                          Another source of insight is customer ratings / service complaints - if the products stink and the service is terrible, it's unlikely it will be a great place to work, especially if they are a technology company.



                                          In this vein, if possible, become a user of the company's products and services. This will provide terrific insight.



                                          Lastly, yes, do have questions for your interviewer(s), but make sure they aren't simple ones that are already answered on their website or elsewhere. Asking "How many employees do you have" makes you look lazy and unprepared. Good luck!






                                          share|improve this answer














                                          Ask for opinions from your tech-oriented peers, teachers and mentors about the reputation of any company you're considering, along with suggestions of other places you should consider.



                                          I emphasize "tech-oriented" because a great culture for a firm's salespeople or customers might not translate into the same for their engineers.



                                          An ideal source of insight would be a hackathon, where you can work directly with tech and other people from within the company.



                                          Another source of insight is customer ratings / service complaints - if the products stink and the service is terrible, it's unlikely it will be a great place to work, especially if they are a technology company.



                                          In this vein, if possible, become a user of the company's products and services. This will provide terrific insight.



                                          Lastly, yes, do have questions for your interviewer(s), but make sure they aren't simple ones that are already answered on their website or elsewhere. Asking "How many employees do you have" makes you look lazy and unprepared. Good luck!







                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited Oct 2 '15 at 16:33

























                                          answered Oct 2 '15 at 15:45









                                          Careerasaurus.com

                                          23117




                                          23117











                                          • Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                            – stringbuilder
                                            Oct 2 '15 at 16:44
















                                          • Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                            – stringbuilder
                                            Oct 2 '15 at 16:44















                                          Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                          – stringbuilder
                                          Oct 2 '15 at 16:44




                                          Sure ;-) I wouldn't ask anything obvious or something that one can google. It would definitely be very spcific questions to see how deep their knowledge is. I don't really like situations where I need to explain how I did something in a particular way (not logically but technicaly (it was really basic stuff))... or even some people requested that I'd rather didn't use something because they don't understand it.
                                          – stringbuilder
                                          Oct 2 '15 at 16:44










                                          up vote
                                          1
                                          down vote













                                          Companies can be big places. One group or division may have completely different practices than another.



                                          I would not worry too much about what other people in the company are doing. Usually each programmer works on their own stuff. In 25 years of programming I have never had somebody mess with my code at any significant level. When people take over other peoples code I find they always rewrite it completely.



                                          As far as debugging other people's code, that is inevitable. The more junior and less productive you are, the more cleanup and junk work you will get. If you are highly productive, you will spend very little time doing secondhand coding. There is nothing more annoying than a junior 3000-lines-a-year programmer complaining about the style of the base code. Once, a company I was at hired a contractor of weak abilities who was assigned to work on some components which were a tiny fraction of my output and complained about my "spaghetti" code. Of course, Mr. Beautiful Code did not actually write much beautiful code and consequently he was fired after a few weeks.



                                          Personally, I never have a problem with other people's code. I don't care how bad it is, or what language it is, or what its style is. I am a master programmer so I can handle it and it doesn't bother me at all.



                                          Once I wanted to play tennis with somebody and they refused, saying, "Sorry, I don't play with bad tennis players because it throws off my game." That's the mark of a total amateur. If you think playing with a novice will "throw off your game", you have a long way to go to master class.



                                          If you want to know what good code looks like, check out Google Code Jam. The submissions from the top guys there completely blow me away. I am a very good programmer, but seeing that stuff, it is like watching a grandmaster play chess, just amazing. Forget the OO nonsense your professors spout, they are worthless; let the Code Jam guys be your models, because they are gods. You will learn WAY more reading their code than some dumb design handbook.






                                          share|improve this answer


















                                          • 1




                                            My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                            – Étienne
                                            Oct 3 '15 at 16:20















                                          up vote
                                          1
                                          down vote













                                          Companies can be big places. One group or division may have completely different practices than another.



                                          I would not worry too much about what other people in the company are doing. Usually each programmer works on their own stuff. In 25 years of programming I have never had somebody mess with my code at any significant level. When people take over other peoples code I find they always rewrite it completely.



                                          As far as debugging other people's code, that is inevitable. The more junior and less productive you are, the more cleanup and junk work you will get. If you are highly productive, you will spend very little time doing secondhand coding. There is nothing more annoying than a junior 3000-lines-a-year programmer complaining about the style of the base code. Once, a company I was at hired a contractor of weak abilities who was assigned to work on some components which were a tiny fraction of my output and complained about my "spaghetti" code. Of course, Mr. Beautiful Code did not actually write much beautiful code and consequently he was fired after a few weeks.



                                          Personally, I never have a problem with other people's code. I don't care how bad it is, or what language it is, or what its style is. I am a master programmer so I can handle it and it doesn't bother me at all.



                                          Once I wanted to play tennis with somebody and they refused, saying, "Sorry, I don't play with bad tennis players because it throws off my game." That's the mark of a total amateur. If you think playing with a novice will "throw off your game", you have a long way to go to master class.



                                          If you want to know what good code looks like, check out Google Code Jam. The submissions from the top guys there completely blow me away. I am a very good programmer, but seeing that stuff, it is like watching a grandmaster play chess, just amazing. Forget the OO nonsense your professors spout, they are worthless; let the Code Jam guys be your models, because they are gods. You will learn WAY more reading their code than some dumb design handbook.






                                          share|improve this answer


















                                          • 1




                                            My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                            – Étienne
                                            Oct 3 '15 at 16:20













                                          up vote
                                          1
                                          down vote










                                          up vote
                                          1
                                          down vote









                                          Companies can be big places. One group or division may have completely different practices than another.



                                          I would not worry too much about what other people in the company are doing. Usually each programmer works on their own stuff. In 25 years of programming I have never had somebody mess with my code at any significant level. When people take over other peoples code I find they always rewrite it completely.



                                          As far as debugging other people's code, that is inevitable. The more junior and less productive you are, the more cleanup and junk work you will get. If you are highly productive, you will spend very little time doing secondhand coding. There is nothing more annoying than a junior 3000-lines-a-year programmer complaining about the style of the base code. Once, a company I was at hired a contractor of weak abilities who was assigned to work on some components which were a tiny fraction of my output and complained about my "spaghetti" code. Of course, Mr. Beautiful Code did not actually write much beautiful code and consequently he was fired after a few weeks.



                                          Personally, I never have a problem with other people's code. I don't care how bad it is, or what language it is, or what its style is. I am a master programmer so I can handle it and it doesn't bother me at all.



                                          Once I wanted to play tennis with somebody and they refused, saying, "Sorry, I don't play with bad tennis players because it throws off my game." That's the mark of a total amateur. If you think playing with a novice will "throw off your game", you have a long way to go to master class.



                                          If you want to know what good code looks like, check out Google Code Jam. The submissions from the top guys there completely blow me away. I am a very good programmer, but seeing that stuff, it is like watching a grandmaster play chess, just amazing. Forget the OO nonsense your professors spout, they are worthless; let the Code Jam guys be your models, because they are gods. You will learn WAY more reading their code than some dumb design handbook.






                                          share|improve this answer














                                          Companies can be big places. One group or division may have completely different practices than another.



                                          I would not worry too much about what other people in the company are doing. Usually each programmer works on their own stuff. In 25 years of programming I have never had somebody mess with my code at any significant level. When people take over other peoples code I find they always rewrite it completely.



                                          As far as debugging other people's code, that is inevitable. The more junior and less productive you are, the more cleanup and junk work you will get. If you are highly productive, you will spend very little time doing secondhand coding. There is nothing more annoying than a junior 3000-lines-a-year programmer complaining about the style of the base code. Once, a company I was at hired a contractor of weak abilities who was assigned to work on some components which were a tiny fraction of my output and complained about my "spaghetti" code. Of course, Mr. Beautiful Code did not actually write much beautiful code and consequently he was fired after a few weeks.



                                          Personally, I never have a problem with other people's code. I don't care how bad it is, or what language it is, or what its style is. I am a master programmer so I can handle it and it doesn't bother me at all.



                                          Once I wanted to play tennis with somebody and they refused, saying, "Sorry, I don't play with bad tennis players because it throws off my game." That's the mark of a total amateur. If you think playing with a novice will "throw off your game", you have a long way to go to master class.



                                          If you want to know what good code looks like, check out Google Code Jam. The submissions from the top guys there completely blow me away. I am a very good programmer, but seeing that stuff, it is like watching a grandmaster play chess, just amazing. Forget the OO nonsense your professors spout, they are worthless; let the Code Jam guys be your models, because they are gods. You will learn WAY more reading their code than some dumb design handbook.







                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited Oct 2 '15 at 20:45

























                                          answered Oct 2 '15 at 19:37









                                          Socrates

                                          5,3951717




                                          5,3951717







                                          • 1




                                            My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                            – Étienne
                                            Oct 3 '15 at 16:20













                                          • 1




                                            My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                            – Étienne
                                            Oct 3 '15 at 16:20








                                          1




                                          1




                                          My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                          – Étienne
                                          Oct 3 '15 at 16:20





                                          My experience has been rather the opposite, I have to modify code written by others a lot and other people have to modify my code heavily too. When people leave a company, go on holiday or simply are currently not available, their old code still has to be maintained/extended.
                                          – Étienne
                                          Oct 3 '15 at 16:20











                                          up vote
                                          -1
                                          down vote













                                          Nobody 100% agrees on best practices, especially since the recommendations keep changing.



                                          Nobody 100% implements best practices, for reasons ranging from past history of the project to needs of the business to up-front cost of adopting them.



                                          And it 100% doesn't matter. If you're any good at your craft, you can adapt to the environment they do have, learn what the constraints are, and then work with them to introduce improvements where they make sense.



                                          A good workman can do good work even if the tools aren't the latest and greatest. And that includes cognitive and process tools as well as the ones more commonly recognized as tools.



                                          That isn't intended to defend the old tools... just to defend their users, and to suggest that setting this particular requirement may cause you to reject some darned good opportunities.






                                          share|improve this answer
















                                          • 1




                                            That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                            – stringbuilder
                                            Oct 3 '15 at 6:46










                                          • You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                            – keshlam
                                            Oct 3 '15 at 20:42














                                          up vote
                                          -1
                                          down vote













                                          Nobody 100% agrees on best practices, especially since the recommendations keep changing.



                                          Nobody 100% implements best practices, for reasons ranging from past history of the project to needs of the business to up-front cost of adopting them.



                                          And it 100% doesn't matter. If you're any good at your craft, you can adapt to the environment they do have, learn what the constraints are, and then work with them to introduce improvements where they make sense.



                                          A good workman can do good work even if the tools aren't the latest and greatest. And that includes cognitive and process tools as well as the ones more commonly recognized as tools.



                                          That isn't intended to defend the old tools... just to defend their users, and to suggest that setting this particular requirement may cause you to reject some darned good opportunities.






                                          share|improve this answer
















                                          • 1




                                            That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                            – stringbuilder
                                            Oct 3 '15 at 6:46










                                          • You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                            – keshlam
                                            Oct 3 '15 at 20:42












                                          up vote
                                          -1
                                          down vote










                                          up vote
                                          -1
                                          down vote









                                          Nobody 100% agrees on best practices, especially since the recommendations keep changing.



                                          Nobody 100% implements best practices, for reasons ranging from past history of the project to needs of the business to up-front cost of adopting them.



                                          And it 100% doesn't matter. If you're any good at your craft, you can adapt to the environment they do have, learn what the constraints are, and then work with them to introduce improvements where they make sense.



                                          A good workman can do good work even if the tools aren't the latest and greatest. And that includes cognitive and process tools as well as the ones more commonly recognized as tools.



                                          That isn't intended to defend the old tools... just to defend their users, and to suggest that setting this particular requirement may cause you to reject some darned good opportunities.






                                          share|improve this answer












                                          Nobody 100% agrees on best practices, especially since the recommendations keep changing.



                                          Nobody 100% implements best practices, for reasons ranging from past history of the project to needs of the business to up-front cost of adopting them.



                                          And it 100% doesn't matter. If you're any good at your craft, you can adapt to the environment they do have, learn what the constraints are, and then work with them to introduce improvements where they make sense.



                                          A good workman can do good work even if the tools aren't the latest and greatest. And that includes cognitive and process tools as well as the ones more commonly recognized as tools.



                                          That isn't intended to defend the old tools... just to defend their users, and to suggest that setting this particular requirement may cause you to reject some darned good opportunities.







                                          share|improve this answer












                                          share|improve this answer



                                          share|improve this answer










                                          answered Oct 3 '15 at 1:58









                                          keshlam

                                          41.5k1267144




                                          41.5k1267144







                                          • 1




                                            That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                            – stringbuilder
                                            Oct 3 '15 at 6:46










                                          • You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                            – keshlam
                                            Oct 3 '15 at 20:42












                                          • 1




                                            That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                            – stringbuilder
                                            Oct 3 '15 at 6:46










                                          • You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                            – keshlam
                                            Oct 3 '15 at 20:42







                                          1




                                          1




                                          That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                          – stringbuilder
                                          Oct 3 '15 at 6:46




                                          That's true, nobody is 100% perfect but I prefer and seek to work in an environment where things are nearly 90% pefect than in one that hardly achieves 5%.
                                          – stringbuilder
                                          Oct 3 '15 at 6:46












                                          You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                          – keshlam
                                          Oct 3 '15 at 20:42




                                          You'll be doing unusually well if they reliably hit 50%, unless you go for a startup that has no past code to maintain and that happens to agree sith your particular idea of what best practices are and their relative priority. If it's that critical to you, I won't argue, but I think you're talking yourself out of some good jobs, and unless you have a good cash reserve you may put yourself in the position of eventually having to settle for something worse than the ones you passed up. Your call; if that's your sine qua non, go for it
                                          – keshlam
                                          Oct 3 '15 at 20:42


                                          Comments

                                          Popular posts from this blog

                                          What does second last employer means? [closed]

                                          List of Gilmore Girls characters

                                          One-line joke