Responsibilities
- Collaborates with product managers to understand features and provide accurate estimates
- Devise Solution Architecture for customer engagements
- Design and implement features collectively with a team using best practices to meet product or solution deliverables
- Analyzes reviews and refactors code to increase operating efficiency and extensibility and/or adapts programs to new requirements
- Develop reusable unit tests to ensure the integrity of on going product quality
- Provide code reviews for peers with constructive feed back for team members
- Participate in stress tests, load tests, performance tests, making recommendations to improve performance and scalability
- Prepares software packages and documentation for deployment that adheres to the defined standard deployment policies
- Be highly responsive to critical production issues providing timely and effective solutions
- Mentor junior programmers in development life cycle and fulfills the role of senior technical authority on projects
- Minimum 7 years experience architecting, designing and implementing end to end enterprise grade software
- Experiencing modeling using UML (use case, sequence, state, collaboration, class model)
- Proficient using UML (sequence, state, collaboration, class, usecase model)
- Experience using TogetherJ, Rational Rose, StarUML
- Proficient in SCM tools and best practices (Starteam, CVS, Ant)
- Excellent understanding of key architecture considerations/issues associated with distributed multi-tier infrastructure
- Extensive experience using Java, J2EE (JMS, JSP, JSF, EJBs, JDBC, JAX, AJAX) Hibernate, Oracle, XML, Struts, Tag Libraries , MVC, Weblogic and WebServices
- Knowledge of mobile device technologies (J2ME, Brew, Windows Mobile, Symbian, Flash) nice to have
- Experience identifying and utilizing design patterns (singleton, abstract factory, strategy, observable)
- Knowledge and experience with modern web UI technologies
- Strong leadership skills and the ability to execute
- Excellent oral and written communication skill
- A creative thinker and problem solver
- A hunger for success and to get a job done well
- Committed to customer satisfaction
- Wireless telecommunications and data industry experience preferable
- Post-secondary degree in Computer Science, Software Engineering or equivalent academic experience required
