Are technical skills alone or just being a quiet achiever
sufficient to boost your career?
The answer is no. The technical, analytical and problem solving skills must be complemented with:
- Effective marketing skills to promote your skills, knowledge, and achievements along with ability to negotiate your promotions, salary or contract rates. Now days it is a rarity for management to pro-actively recognize or reward their staff unless there is an immediate vacancy to fill. If you cannot determine your net worth, how the management can?
- Effective communication, interpersonal, presentation, mentoring, being a team player and business skills. I have seen candidates with technical, analytical and/or problem solving brilliance getting either sacked or failing to make a mark in their careers due to lack of one or more of the above mentioned skills.
When and where do you market your technical, analytical and problem-solving skills?
- Team meetings and design/technical sessions.
- Pro-actively providing either verbal or written recommendations or suggestions on improving the quality of the software, development process, fixing design and/ or development flaws etc.
- Demonstrating your work and achievements via team/stake holder presentations, conferences, training, hand-over sessions and/or road shows.
- Casual chats/conversations.
- Code review sessions.
- Interviews and CV.
What is required to effectively market your technical, analytical and problem-solving skills?
- Ability to look at the big picture and drill down as and when required.
- A good understanding of the key areas of software design/development.
- Ability to look at things not only from a technical perspective but also from a business/stakeholder perspective.
Technical:
- Struts action classes and Servlets are not thread-safe.
- Valuable resources like database connections, file handles and sockets must be closed properly.
- Throwing an application exception will not rollback transactions in EJB.
- Web search functionality that can return large result sets should consider using true pagination.
- Improper implementation of equals(..) and hashCode( ) methods can cause indeterministic behavior that is hard to debug/reproduce.
- What if an exception is thrown or customer cancels the transaction? Will the transaction be rolled-back?
- What if 100 concurrent clients access this search functionality? Will it be thread-safe? Will it scale well without any performance or memory issues? [Consultants/contractors spend lot of time fixing these types of problems]
- What if these critical messages are published to the live system with some inappropriate and/or sensitive messages? Do we need an approval or work flow process to prevent any human error?
- What if a JMS message is lost? Do we require a guaranteed delivery mode? Or is performance more important than reliability? Can this message be consumed by more than one consumer?
- “Account” objects are not getting added properly to HashMap. A possible cause is that the equals(..) and hashCode() methods are not implemented properly in “Account” class.
Cannot retrieve the stored objects from the HashMap. The possible causes are that the equals(..) and hashCode() methods are not implemented properly or mutable objects are used as keys.
- CPU usage is very high. Possible causes are an endless while loop, never ending recursive method call, spawning a new thread every time instead of using a thread-pool, over-working the thread scheduler, memory starvation, improperly sized heap memory, inefficient Garbage Collection (GC) or GC alogorithm inefficiency etc .
- OutOfMemory exception is thrown. Possible causes are not enough memory allocated for the working of the application, unintentional object retention causing the heap to grow and grow, not making unused objects grabge collectible, memory leak in the JVM etc.
When do you engage in negotiations on your promotions/remunerations?
Everyone wants more money, but it is something entirely different to be worth more!. Your value is established entirely by your ability to render useful service or ability to induce others to render such service. Before you even start to negotiate your salary be sure that you are worth more than you now receive.
- After having proved and promoted your abilities and worthiness (say 6 months to 1 year).
- After having an alternative job offer that is more attractive but you are happy where you are.
- After having multiple job offers if you have decided to move on. Do not rush in to accepting the first offer you get while you have more interviews to attend or waiting on other interview outcomes.
So, shape up your Java/J2EE career by learning and applying the key areas & core-concepts and subsequently selling your personal sevices more effectively.
Did you like this article? If you like please share with your friends
Hi..Really good tips..this weekend I am going to attend an interview..I feel these tips will definitely help to do well...thnks a lot..keep posting..cheers...
ReplyDelete