Hello all,
I have joined recently a small web company, whose only product now is a web product, which until now was being developed by another company (it was outsourced). Recently I am appointed as Tech Lead here with following responsibilities:
- System Optimization for performance and scalability - front-end and back-end - match global benchmarks.
- Usability testing and interface modifications.
- To be on the lookout for interesting applications world-wide that have relevance to our product.
- Integrate apps and work done by freelancers into the system - might need to interact with them for their technical requirements from our end.
- Develop/deploy and manage our presence on other social networks - e.g. Orkut and Facebook - by the app route.
The standard of code developed is very bad and insecure, with no sense of aesthetics in design either. You can understand the quality of code if I tell you that if you click the remember me option while signing in, your username and password are stored in cookie... that too in cleartext format! They don't use SVN and majority of development is still done by that company only... I am the only guy working here in Mumbai while the other company is in Calcutta, and still they don't use SVN :(
Now my boss, who is the founder of the company, wants to rollout new features very fast, but he fails to understand that writing bad code (like the earlier company) is easy, I can also write bad code that will work but that won't be scalable nor will be fast, and most importantly it will not be manageable... and the web site will suck as before... but I don't want to do that, ... I want to improve the quality of code, with implementing good design process and patterns.
Also, I am working in JS nowadays, although I know it very well but sometime it happens that I am stuck in a cross-browser issue that I didn't expect and it takes time to resolve that and more importantly test it on major browsers, but he asks why so much time is wasted. Writing backend code is easy - you have to test once - but in JS/CSS you have to manually test it on various browsers.
Now that I have explained my problem, what do you guys suggest? Should I look for another job or try to explain. If I should try to explain... then please tell me what I should explain because my company's founder doesn't understand tech and the head of the company who has developed the code that's being used, and is still developing major part of code, is so dumb that he feels that login process should be done by Ajax and if JS is off or not loaded then that's the user's problem, not his. This and the previous example can explain fairly well about his knowledge about standards, security and accessibility.
Regards