I've never done it myself, so I can't help with that, but I have seen others go through with implementing the Engineer class. From what I've seen, a lot of the work will have to be in the client source and the RDFs. There is already some data on the Engineer class that exists within the client's RDFs, but the amount of data is minimal. If I remember right, only the class ID is available in one of the character related table RDFs and a minimal amount of skill info for the class in the Skill data RDF.
If it were me, I'd first look into how other classes work in the source; like how their data is stored and used in the game and then replicate it for the Engineer class. I think the hardest part will be designing and implementing the skills for the class. Of course, take this with a grain of salt because I haven't tried to implement the Engineer class.