6

I am the first developer in a large scale web project, in the real estate sector. I am not an expert in any field, I know the basic of all, programming, databases, something about design and a little bit about SEO, and website optimization / caching. And I have some knowledge about other technologies and stuff that could be required in the project.

So I am a developer, my boss does some drawing on a paper to present me his ideas and then I start programming and I show him the result. Until now there was no problem, but now the web application is large enough, and it lacks a little bit of database optimization and intuitive user interface. Beside the website, the project also has an offline newspaper, and a desktop application that is a reduced version of the online one, both this things are not managed by me, but by other people or developers that are external to the company.

We do not use a collaboration tool for sharing knowledge between the people working on this project, just emails, and we do not use a development methodology, as for the team, we are:

  • the developer(me),
  • a designer,
  • a secretary, and
  • the boss.

I have the possibility to ask the boss hire the people I want so I can increase the team and have the right person dealing with the right part of the project.

This is the story, the real question is, what should be my attitude towards the project and the company? Should I stay a developer and participate in taking decisions and organizing tasks from time to time to help the boss? Or should I get more serious about this and try to learn project management and implement everything I consider it's required to ensure the quality of the work and final results?

I am the one who best knows what has been developed until now, should I try to organize all the work and the team? Or should I ask my boss to hire some expert to do that?

3 Answers 3

4

Your job primarily requires interation with 5 entities :

  1. Your boss. Make sure he is informed and appraised of progress (and lack of progress!).
  2. The designer. You need to make sure the design is technically feasable, and implemented correctly.
  3. The code. You need to make sure that all of the code follows the design paradigms setup by the designer.
  4. Any development underlings, you need to review their work, and make sure that it conforms to the design, not just in their little sphere of influence, but across the whole system.
  5. The secretary. Always be nice to the secretary.

In this you essentially take the dual roles of technical advisor and software development manager :)

3

Well it really depends on you. Now that you're in a position to hire people underneath you, you can take one of two central roles:

  1. You can play the role of the project manager. You create the time estimates and organize the specifications for each thing your boss wants you to do. It essentially distants you a little from the technical aspect of the job, and there's a lot of room for growth (perhaps not in the immediate future but down the road). It also means you're the one who gets fired when your hirelings don't do the work on time, so you have to provide good estimates and reasonable deadlines.
  2. Or you can play the role of the technical advisor. Whenever any questions of a technical nature arise, you're the man to consult. It also means you must be able to make educated decisions regarding the direction of technologies used. As for organization, you leave it to your superiors. You're only responsible for the time estimates that you claim. The role of your hirelings is to assist you complete the work that needs to be done and explaining how to do it if they don't know how (which is a subtle difference from handing over the work and letting them make more independent decisions).

Hope that helps. Do whatever sounds more appealing to you for a job. Though I would encourage you not to follow the path to the dark side and stay true to your humble beginnings as a programmer.

2

With your level of knowledge about the project as a whole I would keep your current role, but get some specialized assistance. You could find someone to optimize the database and another to improve the UI. Most of their expertise can be utilized right away and then hire as needed. Maybe you need to make a significant change to the database or it starts to slow down again. You may want a different look to the user interfaces and you can bring that person back.

Ask you boss for the tools to help with coordinating the efforts with outside developers. You want to be involved with the selection and implementation of this application as much as possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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