For several decades, programmers have relied on Moore's Law to improve the performance of their software applications. From now on, programmers need to program the multicores if they want to deliver efficient code. In the multicore era, a major maintenance task will be to make sequential programs more parallel. What are the most common transformations to retrofit parallelism into sequential programs? This tutorial equips today's programmers to be ready for tomorrow's task. It presents the process for parallelizing sequential applications and presents several refactorings for (i) making programs thread-safe, (ii) threading sequential applications, and (iii) improving scalability of parallel programs. The tutorial also presents the state of the practice libraries for parallelism in the desktop computing, and helps programmers understand the trade-offs between programmability, scalability, and portability of parallel programs. Participants get hands-on experience on parallelizing realistic applications, and get a preview of the state of the art refactoring tools for parallelism.