Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have seen many job posting with normal technical skills required but there are few thing mentioned in them , which i have no idea actually how can i go about improving them or how should i prove them that i know this

  1. Software development lifecycle quality control
  2. Setting up version control in a traditional dev/test/stage/production environment with firewalls between stage and production.Note: setting up not just using version control.
  3. Automating and optimising software release processes
  4. Simultaneous database updates and code revisions
  5. Releases to distributed server farms in multiple locations
  6. Setting up error checking, error reporting processes and alert systems
  7. Knowledge of search technologies is highly desirable.
  8. Agile Programming Methodology and Unit testing Experience

Now i want to know from experienced programmers or job interviewers how much deeply they ask for these things.

The reason i am asking this is that if someone can guide how can i learn those so that at least i can have those thing in resume so that i can get an edge over those who have not written anything about it. I don't want to tell lie but what i want to do is apply those small to some websites so that at least i can tell them i covered this here. I have 6 months free time before i go to my country to start applying for jobs, so i am just searching for jobs requirements so that i am capable of write them in my resume.

share|improve this question
add comment

5 Answers

up vote 4 down vote accepted

It sounds like they are looking to find someone with experience in Continuous Integration and other skills that typically aren't taught in a classroom setting.

Questions 1-6 are all directly or indirectly related to CI. Each of those steps are part of building an automated system that you set up which builds, runs unit tests, deploys (both your code changes and your changes to the database) automatically and then setting up alerts so that you are notified of problems without having to manually check for them or wait for someone to say "Uh, I get a 500 error when I go to your site". I would start looking at build/CI servers and platforms such as Cruise Control, TeamCity, TFS or Jenkins.

Number 7 really relates to the ability most great programmers have that make them so great - They know how to Google search for the answer to something instead of giving up or asking someone. Unless they are looking for someone to implement search-based applications, in which case knowing how to use search engines is great, but so is knowing about search algorithms.

Number 8 - Automated testing using unit tests, automated deployment and indicators are of paramount importance in Agile. Agile expects change and fast change at that, which the automated processes and tests are there to allow and to mitigate the risk involved in that often change.

share|improve this answer
    
Thanks buddy that was really good stuff which i didn't knew before . –  mario May 30 '11 at 13:16
1  
A few things. First, quality control is a lot more than CI - it involves everything from requirements engineering practices through testing and maintenance practices. Release processes are also a lot more than CI, dealing with software reliability practices and analyzing test results. Knowing CI tools is far from all you need to answer points 1-6 in the original question. –  Thomas Owens May 30 '11 at 13:47
add comment

I think you're taking the wrong approach here. In your resume, you should write about the things that you have done and the tools and methodologies that you have used to do those things. If the company you are applying to feels that you might be a good candidate based on your education and experiences, they'll bring you in for an interview where you get to talk about your education and experiences with these different topics. That's where you can get into the details.

It's also important to note that a company might list a number of things that they want a candidate to know. However, it's very unlikely that a candidate will know everything that is being asked for. You want to emphasize the skills that the company is looking for that you have using a cover letter, if they aren't explicit on your resume. From there, let the rest come out in the interview.

share|improve this answer
1  
You should also be honest about your qualifications and experience. Do not tell lies to get a job. –  Jay Elston May 30 '11 at 16:02
    
That should be a given. But it's absolutely true. Don't even stretch things to try to make it fit. Honesty goes a long way. –  Thomas Owens May 30 '11 at 17:03
add comment

Every interivewer has a different style. A single interviewer may use a different technique or pattern for different candidates, so it is impossible to predict what you will face. But here is a general rule.

If you are asked something you havent worked on you will only be expected to provide basic textbook answers.

If you claim to have experience in a particular technology methodology , you will need to show that you have really worked on them. Texbook answers wont be sufficient. You will be asked "deeper" questions which you can only answer from experience.

share|improve this answer
    
The thing is i have worked on many websites so if i can know how can i apply those , then i can somehow put in projects so that i can have advantage over candidiate not having those. I have no idea what is Agile and unit tetsing and whether these things applies to php based sites or not –  mario May 30 '11 at 12:40
    
You can read up on those from sources such as Wikipedia. Agile is a methodology that is not language specific. So if you show that you have theoretical knowledge it should be fine. Unit testing is all about testing your code using code instead of using functional testing. Finding tutorials that explain UT shouldnt be hard. You may not find something PHP specific(as long as there is a UT framework for PHP) but the principles are the same. –  DPD May 31 '11 at 10:10
add comment

There are two skillsets that every programmer should know: technologies and fundamentals.

Technologies are incredibly varied but are necessary evils to fitting job requirements. If someone wants a Java programmer, you can't expect to fulfill the requirements if you have never written a line of Java code for example. If you have some idea about what type of programmer you want to be, you can begin to learn commonly used technologies. For example, if I wanted to be a web programmer, perhaps I'd try to learn HTML, javascript, AJAX, possibly ASP or PHP.

The other skillset are fundamentals. Maybe your knowledge of technologies will get you into the interview, but your knowledge of fundamentals will win you the job. If the interviewer asks you how you would go about reversing a string without using a single loop, it's not because he wants to see that you know Java or C++. It's testing your ability to know when to use recursion for example. These, unlike technologies, you must know the basics completely.

My advice is to pick which one of these is your weakness and try to improve upon it.

share|improve this answer
    
Frankly speaking i don't any single one of these. Can you just give me some direction on what are the important ones and any links to it so that i can start working on it –  mario May 30 '11 at 12:38
    
If you don't know any of these, you need to start developing more. A good start could be any of the kata-style programming challenges, see projecteuler.net or codekata.pragprog.com –  Pål Brattberg May 30 '11 at 13:50
    
They're all important in the same way that a carpenter can't hope to perform well with only a hammer in his pocket and no screwdriver or saw. –  Neil Jun 6 '11 at 14:05
add comment

I can't answer on those specific questions, but I can say that when I help interview at work, I actually have no idea what the job listing says, nor do most of my peers. Management/HR probably knows what it says, but they don't know enough to ask beyond the superficial. So when we are interviewing, any in-depth question related to the skills in the job posting is probably accidental!

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.