Click to See Complete Forum and Search --> : I need help with work issues - Unqualified team and boss.


pnks
12-09-2011, 11:11 AM
Hi, I have a problem in a new job where I started this week and I would really aprecciate some outside view. It's gonna be a really long post, I know it and apologize for that.

First, some backgrounds, I'm a web developer, mainly front-end (PHP, HTML, JS, CSS). I've been in the business for 1 and a half year in a really professional enviroment, with qualified people. I quit that job, but i learned a lot there. We had a propietary MVC framework, it was the first contact I had with SVN, I worked with BIG clients (TV networks mostly), we had our own servers. In a few words, there was a lot of know-how and qualified personnel in that enterprise, who were giving the right solutions to problems and applying what we could consider best practices.

I quit to find another job, wich I now have found. I'm working for a marketing enterprise, wich has a "New Web Businesses" departament. I work there, with a small team, on the development of a new website, a regional marketplace(Latin America) for selling and buying pets. I love the project, it's like working on a start up (Even though it's inside a profitable and established business, we're a new department, creating a new product). I LOOOVE the pay, way above average than other developer jobs in my country, but I hate, and I'm very concerned, about the workflow and the way things are getting done.

I list the reasons I am concerned about:

1.- Unqualified boss: There are two managers in here. One could be considered the CEO, makes the calls, is in charge of planning and strategies and stuff. He's awesome at his job. And there's the techincal manager, in charge of hosting, domains, programming and supervising others programmers. I'm not saying he's an idiot, not at all, but he is unaware of new development and software engineering practices.

2.- No version control: The first day that I got here they told me 'This is our production server FTP', download the code and start working. I guess it worked before cause there were only two persons working with the code base, but next week we'll be hiring a fourth developer. I can see a disaster coming.

3.-No framework, modular, or even functional design: The "application" is just a bunch of scripts that print out HTML. In the same script you handle user input, DB conection and querying and outputing HTML. I'm not saying everything should be MVC, but at least we should have libraries of functions that abstract and centralize behaviour.

No need to explain all the risks of this wokflow: No possibility to scale or add new features, inability to localize and fix bugs, potential risk of hacking for sloppy programming (due to having to rewrite the same input sanitizing routines over and over again)... and many more.

I don't know how to act. I want to take corrective measures for all of these problems. because I like the project, and don't want to loose the awesome paycheck, but i'm not in a management position. I have to propose this to my technical manager, and I'm afraid to hurt some sensibilities, or maybe they'll tell me thaat rewriting the whole "application" is insane and would take too long.

I have thought of these approaches:

-Do nothing and wait, when the whole things blows up in our faces, propose some solutions.

-Tackle one of the issues, giving my technical boss one report (verbal or written) about the flaws in our workflow and my propossition of improvement.

-Tackle both of the issues at the same time, with a report.

I would love to hear your thoughts and recommendations on these problems. Thank you so much.

pnks
12-09-2011, 01:19 PM
Oh, I forgot to mention another couple of issues.

4.-Poor database design: things like using a varchar field (MySQL) to store a date.

5.-Replacing individual records in MySQL by individual XML files, generated on the server everytime a user do certain actions in the website. That means, everytime someone registers, a new XML is created, storing the info of the user. My boss justifies this on the basis that queying the DB slows down the performance. It's such an inefficient method of working that it makes me cry.

Ecom-host-guru
12-17-2011, 10:36 PM
As a boss myself of technical workers I would love to hear things like this from my workers at times, especially up front and not 3, 6 or 12 months down the line. It's all in your approach though don't go in saying something like we are doing everything wrong here. Just be very nice about it and tell them that you learned a lot at your last job and you have some ideas of how you think things could be improved and maybe a few of your concerns and give them a few basic examples and see how they react to it. The hardest thing would be as you said to rewrite the whole application, this would probably not be well accepted, but adding in svn after the fact is very easy and you could start to modularize some of the new code that you are writing. Ie start with a few smaller suggestions and work up to the bigger ones.

pnks
12-18-2011, 04:48 PM
@Ecom-host-guru: Thanks for your advice I really aprecciate it.

That's what I thought about after posting this, to find an polite approach that allows me to address these issues one by one, before it all explodes. Next week I'll start suggesting the use of SVN and I'll try to moularize some of the code; libraries of functions and classes that centralizes algorithms and behaviour, so they don't have to be written over and over again.

I doubt that the application can become totally modular this way, without a full rewrite, but it's a start and it's a better situation.

Regards.

Ecom-host-guru
12-19-2011, 07:31 PM
How did it go?

And yeah it might never be ideal but thats what happens with older software, its to risky to rewrite so you just have to do the best you can.

jacksters
12-20-2011, 03:47 AM
You should tackle both of the issues at the same time, with a report.