Firstly, I'd like to say that this message is very important for me. So, I'd really appreciate your replies.
Well, I work for a big well known company and market leader in the electronics field. So, this year we (our development team) have a very big challenge.
Due to top-down decision, we are expected to gradually convert our current desktop legacy applications to Java/Swing as well as implement new system features by using the Java language.
However, our development team has NO Java knowledge, except me, because in the past I reached both SCJP 5 and SCWCD 1.4 certifications as well as a postgraduate degree on WEB Development with Java, even though I've never used Java before in the professional field.
Because of these certifications, postgraduate degree and another certification I have on management field, I'm now in charge to guide our development team (about nine people) and the IT manager regarding investiments on training, best technologies to use and any other kind of things related to Java language such as mentoring the team on technical issues, hands-on coding when needed (and it will be needed for sure !), best design patterns, versioning control, security and deployment of applications on users, etc ...
To be honest, I also know at this time that I'm the most indicated person to perform this kind of "expert judgment role".
I'm not afraid of this challenge and I'm really willing to face this as a great oppotunity to advance in my carreer.
However, even though I may know many things about Java (And I'm expected to know because of my certifications), I don't have the professional Java experience, which sometimes make me think that I'd need some kind of professional support and guidance.
Here lives the problem, these days companies are not willing to spend so much money, it doesn't matter whether the company is big or small, market leader or not, they simply don't want to spend money and it's already clear for me since I received this new company requirement information.
We have a very good budget for training but I don't think they would like to spend more money with professional mentoring or support, so I know that I have to walk on my own legs and help our team to reach this new achievement by using my own knowledge and self paced capacities.
In face of this, I would really like to ask you how would you start if you were me, I'm not telling about trainning because I think it's easy to solve but specially about techologies (JPA or JDBC, Socket or RMI, iReports or any other tool, CVS, Subversion, etc...), design patterns and the base infrastructure such as common database access and other utilitary classes, versioning control (which is totally different from what we use today) and application deployment on users which today is done by manually installing some packages on users through the network.
I know where to find information about technologies, I know where to find trainning for our team but what are the KEY points I'd have to pay special attention when adopting a new programming language such as Java ?
Best regards guys and thanks in advance for reading my post.
"If someone asks you to do something you don't know how to, don't tell I don't know, tell I can learn instead." - Myself
Hi. I'm not the right person to say things to you, but one thing I'm sure: your problem it's not about Java, it's about Software Engeneering.
If you know where to find things (like you said), you have no problems. And I guess that it's not the best way to do your first big development by converting your systems into Java. As far as I can read from senior management and programmers here in Brazil, Java Desktop it's thing of past millenium. Today, big software developments are done with Web Services. The technology you'll use it'll depends of the application.
IMO, you'll have to tell your company that if they want something to be done quickly and be done nicely, they'll (the CEOs) will have to spend money in training. Not for your team, but only for you. For you to get some experience.
I'm not even a programmer yet. But I can tell you that I love management issues and when something doesn't go well or I can't finnish some project the way I wanted, I read 3 things:
Read something of its and please, let me know if it opened your mind. I can't tell you for sure that it'll, but when something goes really bad for me, I read it and my mind starts to think in a better way
See you around and I hope that you can do your work fine!
Training your staff alone is not going to be useful. It is worthwhile having an experienced Java/J2EE consultant/architect to guide you all make the critical design, development, selection of frameworks decisions right (especially building the first vertical slice). Also he/she can mentor & train your internal staff who has the domain knowledge.
If the systems are not designed and built correctly then it can cause lot of heart ache down the track. [ February 05, 2008: Message edited by: arulk pillai ]