So I find myself in a situation.
My company's main service we provide is a massive database. We offer various subscribers various products that interface to this database. I have been hand-picked to go on a team that is the search service for said database. So basically every product my company makes will, in some way, interface with this product.
The problem: the current service is written in C. I do not know C very well. I took C 101 in college and that is about it. I would have to work on this platform for at least a little while.
The future: apparently there is a searching paradigm coming where you use MapReduce, in some fashion, to do large scale searching. My company has recently moved over from using a RDBMS Oracle database (~8b items) over to using Hbase as our master copy. I will be on the team writing the new service that interfaces using MapReduce overtop Hbase.
My current gig is pretty decent. It has good visibility in the company but unfortunantely despite me doing all the real-world implementation architecture for the service there is an official "architect" that has no qualms with saying he designed the entire thing. When in reality he just wrote some giant boxes on the whiteboard that anyone with a brain would have derived we need to create. I was the one actually in charge of filling in those boxes. So I feel like my actual contribution isn't widely known but it is fairly well known in the company I am an expert in MapReduce and Hbase. Currently I have been charged with working directly underneath the architect to move a database my current project relies upon into Hbase and coming up with the key/qualifier structure and how the Scans and MapReduce runs against the data. This isn't a huge database and will only be like 25M rows or so. But I know the actual architect will take full credit for whatever it is we eventually come up with.
The move over to the other team would also come with a promotion. That isn't huge since I am just a "Software Engineer" and I'd move into a Senior Software role. It comes with ~15-20% pay raise. But I'm reluctant because I have always been a Java programmer. Every job I've held has been Java and OOPD. I don't know C, I don't know manual memory management, I don't know pointers. None of it. I don't think I couldn't pick it up but I'm concerned with how long it'll take me to pick it up until the service actually moves into MapReduce when I'll be in my realm of expertise. However if I stay on my current role I should see a promotion in about a year or so.
Any thoughts on what I should do? I know without knowing specifics it is really hard to say but has anyone been in a similar situation?
My company's main service we provide is a massive database. We offer various subscribers various products that interface to this database. I have been hand-picked to go on a team that is the search service for said database. So basically every product my company makes will, in some way, interface with this product.
The problem: the current service is written in C. I do not know C very well. I took C 101 in college and that is about it. I would have to work on this platform for at least a little while.
The future: apparently there is a searching paradigm coming where you use MapReduce, in some fashion, to do large scale searching. My company has recently moved over from using a RDBMS Oracle database (~8b items) over to using Hbase as our master copy. I will be on the team writing the new service that interfaces using MapReduce overtop Hbase.
My current gig is pretty decent. It has good visibility in the company but unfortunantely despite me doing all the real-world implementation architecture for the service there is an official "architect" that has no qualms with saying he designed the entire thing. When in reality he just wrote some giant boxes on the whiteboard that anyone with a brain would have derived we need to create. I was the one actually in charge of filling in those boxes. So I feel like my actual contribution isn't widely known but it is fairly well known in the company I am an expert in MapReduce and Hbase. Currently I have been charged with working directly underneath the architect to move a database my current project relies upon into Hbase and coming up with the key/qualifier structure and how the Scans and MapReduce runs against the data. This isn't a huge database and will only be like 25M rows or so. But I know the actual architect will take full credit for whatever it is we eventually come up with.
The move over to the other team would also come with a promotion. That isn't huge since I am just a "Software Engineer" and I'd move into a Senior Software role. It comes with ~15-20% pay raise. But I'm reluctant because I have always been a Java programmer. Every job I've held has been Java and OOPD. I don't know C, I don't know manual memory management, I don't know pointers. None of it. I don't think I couldn't pick it up but I'm concerned with how long it'll take me to pick it up until the service actually moves into MapReduce when I'll be in my realm of expertise. However if I stay on my current role I should see a promotion in about a year or so.
Any thoughts on what I should do? I know without knowing specifics it is really hard to say but has anyone been in a similar situation?