ahmedyarub
New member
- Joined
- Jul 9, 2016
- Messages
- 2
- Programming Experience
- 10+
MAIN PART
I had an interview for an online C#, MVC and Web API programming job and they gave me a good evaluation for the test project but I still couldn't score high enough to beat the competitors. I hope that you can help me finding solutions for these problems, which although I'm pretty sure that I do know how to solve, the interviewers are very picky and there are thousands of applicants for this position so they want solutions tailored to huge enterprise applications. I prefer solutions that don't depend on external tools as the point behind this test is demonstrating my software engineering and coding skills. Here is what they didn't like with my comments:
The test project was for a simple CRUD application which assigns tasks to users. The work is done by a Web API service and an accompanying MVC application is used to connect the user to the Web API service. I've created interfaces for a repository and implemented one that uses a NoSql database. I have 3 months to study and apply again to the same position.
END OF MAIN PART
FAQ:
1- Why do you accept such harsh requirements for a rather low salary?
I live in a poor country which I really like and I'll never leave. I can easily make good salary here but this job is giving me 3 times what I earn here working from the house!!
2- Why do you keep on applying for this position?
It's simply because I found their evaluation very professional. First time I applied for a C++ position with similar requirements, I had so much trouble implementing the required functions because I'm not that professional in C++, so I didn't have enough time to write code for anything beyond the basics. Their evaluation for me was terrible, but it revealed to me so many things that I was missing in my programming style which I could apply even to my C# code (which I'm very comfortable coding with). The second time, I was praised for more than 16 points (including all the points that they complained about in the first interview), and I went to the last interview which went pretty well. Unfortunately, I didn't score high enough to get the job. However, this journey has taught me so much about what I'm missing as a programmer and it even made my current clients happier due to added extensibility and flexibility of code.
3- What's your programming background?
I have 14 years experience in programming in many programming languages (Java, C++, C#, PHP, Basic, etc...) making many types of applications (ERP, utility software, educational software, hardware drivers, statistical applications, robotic applications, etc...). Unfortunately, I was mostly self-taught so I've mostly concentrated on the functional part of coding, without any regard to the program structure, flexibility, extensibility, or readability of code. But since my first interview with this company, I've solved many of these problems.
4- What's the name of the company?
I can't tell you that, sorry. And if you know it, please don't mention it here as it might affect my chances for getting the job in the near future.
5- Why don't you get an easier job instead of wasting your time?
In fact, I do have a job! I'm working from the house for multiple online clients mostly for C# based client applications and PHP based server applications. There are two factors pushing me to study and apply again for these jobs: finding what I'm missing and tackling it, and the fact that my current clients are kinda "dirty" and I prefer working with professionals.
I had an interview for an online C#, MVC and Web API programming job and they gave me a good evaluation for the test project but I still couldn't score high enough to beat the competitors. I hope that you can help me finding solutions for these problems, which although I'm pretty sure that I do know how to solve, the interviewers are very picky and there are thousands of applicants for this position so they want solutions tailored to huge enterprise applications. I prefer solutions that don't depend on external tools as the point behind this test is demonstrating my software engineering and coding skills. Here is what they didn't like with my comments:
- No Exception Handling
- Modularity
- More code comments required
- Inline Javascript
- More layering required
- Not enough unit test coverage
- User passwords were not encrypted
- Coding skills could be better
The test project was for a simple CRUD application which assigns tasks to users. The work is done by a Web API service and an accompanying MVC application is used to connect the user to the Web API service. I've created interfaces for a repository and implemented one that uses a NoSql database. I have 3 months to study and apply again to the same position.
END OF MAIN PART
FAQ:
1- Why do you accept such harsh requirements for a rather low salary?
I live in a poor country which I really like and I'll never leave. I can easily make good salary here but this job is giving me 3 times what I earn here working from the house!!
2- Why do you keep on applying for this position?
It's simply because I found their evaluation very professional. First time I applied for a C++ position with similar requirements, I had so much trouble implementing the required functions because I'm not that professional in C++, so I didn't have enough time to write code for anything beyond the basics. Their evaluation for me was terrible, but it revealed to me so many things that I was missing in my programming style which I could apply even to my C# code (which I'm very comfortable coding with). The second time, I was praised for more than 16 points (including all the points that they complained about in the first interview), and I went to the last interview which went pretty well. Unfortunately, I didn't score high enough to get the job. However, this journey has taught me so much about what I'm missing as a programmer and it even made my current clients happier due to added extensibility and flexibility of code.
3- What's your programming background?
I have 14 years experience in programming in many programming languages (Java, C++, C#, PHP, Basic, etc...) making many types of applications (ERP, utility software, educational software, hardware drivers, statistical applications, robotic applications, etc...). Unfortunately, I was mostly self-taught so I've mostly concentrated on the functional part of coding, without any regard to the program structure, flexibility, extensibility, or readability of code. But since my first interview with this company, I've solved many of these problems.
4- What's the name of the company?
I can't tell you that, sorry. And if you know it, please don't mention it here as it might affect my chances for getting the job in the near future.
5- Why don't you get an easier job instead of wasting your time?
In fact, I do have a job! I'm working from the house for multiple online clients mostly for C# based client applications and PHP based server applications. There are two factors pushing me to study and apply again for these jobs: finding what I'm missing and tackling it, and the fact that my current clients are kinda "dirty" and I prefer working with professionals.