Categories: work » ibm

RSS - Atom - Subscribe via email

Remote training that rocks

Posted: - Modified: | ibm, presentation, speaking

Some IBMers convinced me to share presentation tips with Lotus instructors. Here’s what I’m thinking about:

You know what’s really difficult in training? Staying interesting – and /interested/ – session after session after session. I used to teach university, and I’ve also given lots of presentations as an IBMer. It can be tough to be energetic and engaged when giving a presentation that you’ve given many times before. Even if you’re giving a new presentation, if it’s your umpteenth lunch-and-learn this year, you might feel tired just thinking about it.

I want to share some tips that help me when I’m giving presentations, and I want to hear from you what works for you and what you want to do even better.

First (and probably the most important for people who give presentations a lot): If you’re bored by your own presentations – and admit it, this can happen – it’s very hard to avoid boring others. How can you stay interested?

Let’s take the worst-case scenario: Your job is to present XYZ every week. Same presentation. Same slides. You could do it in your sleep.

Instead of just going through the presentation, look for small ways you can improve each time. Experiment with your timing. Try different examples. Ask questions. Try different questions. See if standing up makes a difference in your voice. Experiment with the capabilities of your web conference. This is a great time to experiment, actually – when you’ve practically memorized the material and can recover confidently from anything Murphy’s Law throws at you.

Would that help you stay interested? Yes. And other people will be interested because you’re interested. And you’ll be a better presenter at the end, too.

So that’s a good start. Let’s say your work is better than that. Let’s say you can improve your training as you learn – make new slides, add more resources, and so on.

Save time and create more value. Record your presentation. Share your slides and your speaker notes. Now you can give yourself a better challenge: How can you improve your training so that it’s really worth attending? What extra value will people get from you that they can’t get from recordings, slides, or speaker notes?

It’s a good idea to build plenty of room for interaction into your presentations. That’s because people can get everything else from the extra resources, but this is where they can really ask and learn. It’s also a great way for you to learn from people: what’s important to them, what else they want to learn, how to make your training better. Teach less, listen more.

Attend other people’s training sessions. See what you like – and what drives you crazy. Take notes.

It’s also a good idea to work on the next actions for your presentation. You should have a clear idea of what you want people to do after your presentation. What changes do you want them to make to the way they work? What resources do you want them to check out or bookmark? As you learn more by teaching people, build up those resources and refine those next steps. This is one of the areas where you can make a real difference as a trainer – you can help people get ready for and commit to change.

You can do lots of things to make your next steps even better. Can you make a checklist that people can save and follow? Can you share recordings and other resources? Can you tell people about other training they’ll find useful? For example, after this presentation, I want you to pick one small, specific way you can improve your next training session, and practise using it until you get the hang of it.

Let’s talk about some of those specifics. Here are three quick presentation tips that might help you make even better use of your web conference (and if you’re not using a web conference for remote training yet, switch to one!).

First: You can use the text chat for Q&A throughout your talk. Why? It’s important to see when people have questions. It’s hard for most people to interrupt speakers on the phone. You can pause for questions, but you’re probably not going to pause for questions often enough, and it breaks the momentum. Some people might use the hand-raising feature in web or phone conferences, which is good, but it’s even better to ask people to type their question into the text chat if possible. Why? You can prioritize questions, you can adjust your presentation on the fly, and you might even find that people are answering each other’s questions. If you find the text chat distracting, have a moderator or buddy keep an eye out for questions, or take a look at it every so often.

Second: Make your summary your Q&A slide. I can’t tell you how many presentations I’ve seen that end on “Thank you!”, “Q&A”, or some other mostly-blank slide. This is probably the slide that will be shown the longest – make it count! Show a one-slide summary that helps people remember what they want to ask questions about and reiterates the next steps you want them to take. Don’t let your session trail off into Q&A, either. 5-10 minutes before the end of your session, summarize the key points and review the next actions so that people can remember them.

Third: Consider adding video. Webcams are inexpensive and you can make your presentation more engaging. If you do use video, make sure your background isn’t distracting, and warn other people who might walk in!

So that’s what I’ve got to share, and I hope you’ve found one or two ideas you can use to improve your presentations. Let’s talk about it! What’s working well for you right now? What do you want to improve?

2011-04-27 Wed 17:56

On developing a reputation for project work

Posted: - Modified: | ibm, mentoring, work

Over lunch, Archie and I talked about one of his business goals for this year. He wanted to work on his personal brand.

I asked him what he meant by his personal brand. “What would success look like?” I asked.

Archie said that he’d like to be known more for troubleshooting, and that he would consider himself successful if more project managers asked him to troubleshoot their projects – both technical and non-technical issues. He’s been working at the company for 12 years, and he had plenty of war stories and lessons learned to share with me. He told me that his peers know about his skills, but he wanted to hear about more projects, expand the kinds of roles he took on projects, and go into projects with more authority and leverage.

Now that was a much more useful vision than “improve personal brand.” We could work with that. It might not even have anything to do with wikis, blogs, or Twitter.

So: How can one build a reputation for project work?

We figured that the best ways to reach the people Archie was interested in would be through managers and resource deployment managers. There are a couple of ways to do that: e-mail and presentations.

In terms of e-mail, one of the best things Archie can do is to make sure that the results that he’s getting turn up in the right people’s e-mail inboxes. As it can sometimes be difficult to get recognition or documentation of results from busy project managers, I suggested that Archie write up the problems he solves, the results, and tips for avoiding such problems in the future. If he sends this e-mail to the project manager and to our manager, they can forward it to other people as needed – if they hear of a project that has a similar problem, if someone asks them who can help with a troubled project, and so on. It’s important to keep one’s manager up to date on the kinds of things one is good at or interested in, because managers talk to other managers and can refer you to opportunities.

In terms of presentations, Archie can summarize key tips from his experiences into a short presentation – maybe a top 10 list, or focused on a topic such as performance. This gives him plenty of opportunities to use and reuse the material. Speaking at a lunch-and-learn is one way to do it, and he’ll get extra exposure from the invitations going around. Speaking at one of our internal education events will let him reach even more people. The presentation can be shared internally, included with newsletters, forwarded to other people.

What else would you recommend?

2011-04-08 Fri 20:40

The Busy Person’s Guide to Learning from the Network (a guide for IBMers)

| ibm, learning, presentation, tips, work

I promised to put together a talk on learning for an IBM virtual conference for new hires. Here’s a rough draft, just to get it out of my head and into a form I can work with. I’ll add URLs internally. The next steps I want people to take are:

  • Find a mentor, or even several mentors.
  • Bookmark Lotus Connections so that they can easily search it in the future.
  • Learn to find people based on documents and other shared information.

One of my mentors told me that at IBM, it’s okay if you don’t know something. If you don’t ask for help and things get messed up, though, that’s when you get into trouble. So I want to share with you some tips I’ve picked up on how to learn as quickly as you can, from as many people as you can.

I’ve been with IBM for almost four years. I know what it’s like to feel overwhelmed by all the different things there are to learn: working with Lotus Notes and other applications, dealing with technologies, working with team members and clients… It can be really intimidating. Fortunately, at IBM, there are plenty of people who can help – but sometimes you need to step up and ask.

  • Mentors

    If you don’t have a mentor yet, find one. Even better, find several mentors. Mentors can help you figure things out: the specific technology you’re learning, the tools you need to work with, the processes in your team or business unit, even your career plans.

    How can you find a mentor? Share your questions with your manager and ask your manager to refer you to some people who might be good mentors for you. Look for people on Bluepages or Lotus Connections. Take advantage of the speed mentoring events that IBM Learning sometimes organizes and see if you can connect with anyone. Attend presentations and connect with speakers or other participants. Once you have a mentor, ask him or her for introductions to other people who might be able to help.

    Maybe you’re feeling shy. Maybe you think, “Well, I’m new to IBM. Why would anyone mentor me?” I found it hard to ask people to mentor me, too, but I was amazed by how generous people were when it came to helping new people. Many mentors help others because other people mentored them. Others mentor people because they learn a lot in the process. Mentors have lots of reasons for helping, so don’t be afraid to ask.

    Social networking tip: Look for mentors and role models who blog or post updates in Lotus Connections or on the Internet. That way, you can easily learn from people in between your meetings. You can even learn from people around the world, and people whom you might be too shy to reach to right now. For example, if you’re curious about what IBM Fellows do (they have the highest technical rank in IBM), or what vice presidents are like, or so on, you can learn from their blogs, tweets, and other posts. Maybe you’ll find something you can comment on or ask about!

    How to work with mentors: Talk to your mentors about your goals and figure out how they can help you. Take the lead in setting up meetings and asking questions. Show your appreciation through thank-you notes – and even better, show your appreciation through the results that come from taking your mentors’ advice.

    Okay. You’ve got mentors. But you can’t go to your mentors for every little thing you need to learn, so you still need to figure out things on your own.

  • Documentation, assets, and other sources of information

    You’re probably already used to searching the Internet for information when you’re trying to learn something new. It can be harder to find just the right document within IBM. If you’re new to a topic, it can be difficult to find beginner-level resources, or even to know what and where to search.

    If you’re stuck, ask your coworkers or your manager for help in getting started. Take notes! Make a list of the resources you find useful as a beginner, and you’ll be able to share that list with other people who join the project. It’s a quick way to create value – and people are more likely to invest time into helping you if they know that your notes will help them and other people save time in the future.

    Don’t stop with the documents you find, too. One of the best things you can learn from a document or an asset is where you can go to find more information. Are there related communities? Can you look up other things the author has written? When you come across a useful document, look for any author information or lists of related experts. If you need help finding the right resources or you have a question that’s not answered by the document, you might be able to ask those people for help. (Look for communities or forums first, though – this helps avoid e-mail overload, and you can ask more people for help. We’ll talk more about communities later.)

    Okay. Formal documentation is great, but there’s often very little of it, especially for new tools and technologies. What do you do when you need to learn about something that doesn’t have a lot of articles or manuals yet?

  • Files, bookmarks, wikis, and blog posts

    When I need to find out about something new, informal, or obscure, I often check people’s files, bookmarks, wikis, or blog posts. This is where Lotus Connections really shines. You can search people’s public files and presentations for new information, search bookmarks for information other people have found useful, check out wikis to see what people have collaborated on, and read blog posts for people’s notes and articles.

    What if you still can’t find what you need, and the people you ask don’t know of any resources, either? This is where you might need to ask more people.

  • More questions and answers

    Have a short question? Try posting it on IBM Answers. You’ll get an e-mail notification if anyone replies. While you’re there, see if you can answer any of the pending questions.

    Tip: Don’t just post your question on IBM Answers and walk away. Reach out to specific people to see if they can share anything. If you use Profile status updates, post your question with a link to the answer page.

    Regarding experts: If you have a question that needs deep expertise, you might want to give Expertise Locator a try. You don’t want to waste experts’ time, though, so if your request is non-urgent, it’s probably better to start at a lower level. People can escalate your request if needed.

    Sometimes it helps to ask many people instead of focusing on just a few. This is where Lotus Connections Communities and IBM forums come in.

  • Lotus Connections Communities

    Whatever you’re looking for, there’s probably a community or forum related to it. Search Lotus Connections Communities to find groups related to the topic. IBM Forums has older groups, too.

    Many communities have discussion forums. You’ll need to join the community in order to ask a question. Look at other posts to see how people ask for help. Provide as much information as you can in your message, but don’t post any confidential information. Show that you’ve “done your homework” – describe how you’ve tried to solve the problem or where you’ve looked for information. That way, people might be more encouraged to help you.

    Important: Ask the community owners (see the Members tab) Some communities use the “Mail community” feature to handle questions, before mailing the community. Many communities have thousands of members, and too much community e-mail can make the community useless.

  • Building your network

    What about all those questions that people haven’t answered before, and for which there are no active communities? This is where your personal network becomes important. When you’re faced with questions that need much broader or deeper experience than you have, or you have no idea where to even start learning, your network is essential.

    If you can’t think of anyone who would know the answers you need, try thinking of people who might know people who would know the answer. Ask them for referrals. You can also look for people in Lotus Connections Profiles or Bluepages and try reaching out to them.

    Social networking tip: Lotus Connections Profiles is a great way to ask questions and get quick responses from whoever’s available in your network at the time. You need to build your network before you can use this effectively, though. Look at the main Profiles page to see who’s been participating, and invite them to your network. If they agree, you’ll be able to see their updates in your timeline, and they can see yours. That means that if you post questions in Lotus Connections, people might see it and answer it.

    Why would people spend time checking out Lotus Connections and possibly answering questions? For many people, it’s like a quick break by the virtual office watercooler, a way to catch up with lots of people and to help out people if they can. Try it – spend a little time each day or each week building your relationships by reading people’s profile updates, answering other people’s questions, sharing useful resources, and posting notes of thanks or encouragement.

  • Wrapping up

    You’ll need to learn a lot at IBM, and you’ll need to learn it quickly. Not everything will be written down, and you might not find everything you need using w3 or an Internet search engine. You’ll need to learn from the network.

    • Learn from managers, coworkers, mentors, and role models about things you might not even know to ask about
    • Follow the clues from people’s files and assets to find related communities and experts.
    • Search people’s files, bookmarks, blog posts, and profile updates to see the latest.
    • Check out Q&A sites for additional resources.
    • Reach out to communities and forums if you need help from more people.
    • Gradually build your network so that you can easily ask for people’s help when you have new questions.

    Good luck!

    2011-04-02 Sat 21:42

Learning more about Websphere and web service development

Posted: - Modified: | development, geek, ibm

So I finally figured out what was wrong with the way I was trying to generate my web services for Websphere 6.1. I’d been using “Generate Java bean skeleton” from the WSDL file, which worked fine for the 6.0 target, but which didn’t work for 6.1. The correct way to do it is to right-click on the service and choose “Generate – Top-down Service”.

I also spent some time figuring out how to correctly use the XSD the IT architect sent me in order to use it for the data types in the WSDL. This is how:

<xsd:import schemaLocation="....xsd" namespace="...">
</xsd:import>

One of the pieces that was missing for me was dealing with namespaces, but once I got my head around XML again, I added some namespaces and got the referred types working.

So I’ve retwiddled our web services and gotten them to work with the new data structures. My test cases pass again. Progress!

2011-03-21 Mon 20:03

Thinking about a developer setup template

| geek, ibm, kaizen, work

Development on one of my projects has gone in fits and starts. It’s been particularly challenging because the information about server configuration has been incomplete and scattered, trickling in as the IT architects sort out what’s going on and find people who can answer questions. The other developer and I are both new to this software stack (Websphere Portal, Websphere Application Server, FileNet, Enterprise Content Manager, DB2, Rational Software Architect). This means that we run into all the things that experienced developers take for granted: where to find documentation at the right level of detail, which ports and URLs to use (or even how to go about finding them), how to deploy our code, and how to diagnose and troubleshoot problems.

Stoic philosophy to the rescue. It’s no use whinging about not having all the bits and pieces up front. =) Besides, the people who set up the virtual images are people too, doing the best job they can while probably being pulled in a million directions or afflicted with the curse of expertise, forgetting the kind of knowledge they take for granted. It’s okay. It is what it is.

We’ve managed to figure most of the pieces out with a lot of poking around and experimentation. I’ve successfully deployed a web service, found sample code that can post a file to our Filenet object store, and written a web service client. We’ve previously been able to connect to DB2, so we should have all the major pieces now. The next step is to wire it all up with application-specific code.

I’m thinking of organizing all the bits and pieces of information we needed into a template that I can share with server administrators and developers next time we’re on a project like this. It would make work a lot faster and easier.

So, what do developers need? We typically need to:

Set up our development environment
software, licensing, config, source code control information, bugtracking, etc.
Orient ourselves on different environments
login/access/VPN details for integration, testing, and production environments; deployment procedure
Confirm that the service is running correctly
the full URL to the web-based administration console and to other web interfaces we can use, any hosts entries needed (for name-based virtual hosts, for example)
Log on the server and look around
VPN details, boundary firewalls, IP addresses, usernames, passwords, connection software (Remote Desktop? VNC?), file paths, location of log files
Write code
API documentation, software versions, ports, paths, usernames, passwords
Deploy and run code
file paths or upload interface, instructions on starting or restarting services
Test that things are working
web interfaces, ports, URLs, etc.

This could be a lot of information, and it might not be worth doing if you’ve got a couple of developers who can pick things up quickly. On the other hand, if you’re preparing a demo image that could be used dozens or hundreds of times for development, or if you gradually build this document over time, that could be pretty handy.

What’s in your developer setup template?

Photo (c) 2009 Mecookie – Creative Commons Attribution License

2011-03-15 Tue 20:03

Leveling up as a developer!

Posted: - Modified: | geek, ibm, work

It’s satisfying adding a bunch of IBM acronyms to my “marketable skills.” They’re not that intimidating after all!

I spent the morning and part of the afternoon pair-programming with Bharat Boddu on a time-sensitive project involving an IBM software stack. It was a struggle in the beginning. Both of us were new to all of this, and the sheer volume of information available for Rational Software Architect, Websphere Application Server, DB2, and other parts of the stack was overwhelming. The simplest of things tripped us up because we didn’t know how to debug them. For example, we learned the hard way that adding the DB2 classes to the project’s classpath didn’t mean that they were part of the runtime configuration classpath when the web services were deployed to the server. I also spent what seemed like an hour trying to deal with this issue from the web service explorer:

IWAB0135E An unexpected error has occurred. 
302 
Found 

(Solution: Check the endpoints you’ve defined in your WSDL, or define new ones. example.org won’t work.)

Once we got over those roadblocks, things flowed smoothly. We used Rational Software Architect to define web services, deployed them on Websphere Application Server, and queried a DB2 database. We also figured out how to work with complex data types and lists for both input and output. We needed to figure out how to consume web services too, so I dug around until I found a web service defined by a WSDL that played well with our configuration. All these bits and pieces will come in handy when we start working on the real requirements.

I can feel myself learning all sorts of new things. I love these moments: the magic of concepts snapping together, like the way you reach out and find things right where you’re looking for them. And I’m slowly inching my way into another area of developer awesomeness: dealing with middleware, service-oriented architecture, and all sorts of other business-y things.

Here’s what I do well, and what I’m learning to do even better.

  • I’m good at breaking down tasks or ideas into small chunks that I can work on or test. This is really helpful when learning something new, because it helps me gain skills and confidence. It’s challenging when I can’t get enough of a grip on something to figure out what a good first task is, or sometimes what the intermediate tasks are, but once I get the hang of the internal logic of something, I can go pretty quickly. I’m getting even better at this by learning about more platforms and toolkits, and by learning bigger “chunks”.
  • Similarly, I’m good at breaking down unknown quantities and figuring out how to test parts of them. I can apply the problem-decomposition skill I use in development to estimating and planning, too. The book I recently read (How to Measure Anything) had great tips on how to strategically reduce uncertainty; reading that gave me a way to recognize what I’m doing and to improve that. So, for example, I can start with an estimate with a wide range, and I can break it down into the risky parts and some ideas on how to get a better understanding of the numbers.
  • I’m getting better at quickly prototyping applications. It’s fun taking a simple idea from a whiteboard sketch to a mostly-working prototype in a day. =D
  • I’m doing surprisingly well at juggling multiple projects. I’ve got two projects that are time-sensitive, and we seem to be doing okay. There are several projects in the pipeline that I’m working on, too. I keep personal notes on what’s on my radar and what I need to do, and I’m good at keeping folks up to date. I can get even better at this by spending more time to communication and planning, and possibly setting up some filtering rules for my inbox.

I’m glad my manager took a chance on these projects, even though I did have to work through looming panic. ;) (It gets much easier to deal with intimidating systems when you get going!)

This is good. I like this feeling. And I can still fit in sleep, presentations, blog posts, homework help, and sanity breaks. =) Hmm…

2011-03-09 Wed 16:51

Dealing with intimidating projects

| career, ibm, work

I’m working on my first big IBM project, something that goes beyond Perl scripts and Drupal websites. My manager thinks it will be a good assignment for me. The component diagram looks like alphabet soup, and I haven’t worked with any of the pieces before. It’s intimidating.

Open source projects like Drupal or Rails don’t scare me as much, even though they require a lot of figuring out and hacking as well. I think it’s because I’m confident that I can figure things out from the source or from the Internet, and because I can hold more of it in my head. This project will involve quite a few IBM components, and I can’t work with, understand, or even remember everything. It’s big.

But I know this feeling of incipient panic, and I’ve dealt with worse before. It’s the same feeling I got as a teaching assistant at the University of Toronto, doubting myself because I was helping people learn something I was just learning about myself. I remember feeling uncertain. I remember feeling like an impostor. I felt like giving up. Then my department chair set me straight, and I made it through.

I can deal with this. My manager thinks I can handle it. IBM has a great support network and I’ve got plenty of mentors. I’m learning a lot from the other people on the team. It’s going to be okay. And at the end of the day, I’ll learn how to work with a pretty decent-sized IBM software stack, integrate with lots of middleware, work with complex web services, and maybe even turn things that scare me into things that I enjoy.

Here’s what I’m planning to do:

  • [X] Install Rational Software Architect and learn how to use it to view project designs.
  • [X] Learn how to use Rational Software Architect for web services.
  • [X] Figure out what I need to learn for Websphere Application Server or Websphere Portal to make the web services happen.
  • [X] Stay sane throughout the process. =)

2011-03-01 Tue 16:26