Rails Pacific 2016

Continuous Learning, Teaching and the Art of Improving Yourself

Continuous Learning, Teaching and the Art of Improving Yourself

by Luis Ferreira

In his talk "Continuous Learning, Teaching and the Art of Improving Yourself," Luis Ferreira shares insights from his personal journey in coding and productivity. He emphasizes the interconnectedness of productivity, learning, and teaching, providing practical advice to enhance these areas in one's life.

Key points discussed include:

- Defining Productivity: Ferreira introduces the concept of "perceived productivity," where achieving a sense of accomplishment at the end of the day fuels personal satisfaction, regardless of traditional measures of output.

- Planning Your Day: He stresses the importance of daily planning through task lists and prioritization methods such as the ABC analysis and the Eisenhower matrix, helping individuals tackle their workload effectively.

- Time Management Techniques: Ferreira advocates for methods like the Pomodoro Technique, which promotes focused work intervals followed by short breaks to enhance concentration and productivity. He also discusses managing interruptions in open workspaces to maintain focus.

- Continuous Learning: He emphasizes the necessity of lifelong learning, recommending that individuals consciously make time to learn new skills. Finding mentors and balancing learning with practical application are critical elements for effective learning.

- Teaching as a Learning Tool: Ferreira shares his experience as a teacher, encouraging others to embrace teaching as a way to reinforce their own knowledge. He argues that it is never too early to teach, as there is always someone who can benefit from what you've learned.
- Company Culture for Learning: He mentions practices companies can implement to foster an environment of continuous learning, such as hackathons, development meetings, and book clubs to encourage knowledge sharing and collaboration among employees.

In conclusion, Ferreira highlights that both learning and teaching are essential for personal growth and professional development. The joy of learning and the importance of sharing knowledge are reiterated as fundamental components of a fulfilling career amid the tech industry's rapid evolution.

00:00:12.230 Hello everyone, as Mark mentioned, I'm Luis Ferreira. I come from Braga, and this is a picture of a church in my city. But on to my talk.
00:00:17.310 I eventually submitted the title, but it was a bit too long in the slide, so I condensed it down to the three main topics that I feel are all related to each other. I'm going to talk about productivity, learning, and teaching—ways I managed to improve all of these in my life and how they relate to each other.
00:00:35.190 Let's start with productivity. The first thing I want to talk about here is trying to define what productivity is, because learning and teaching are relatively easier to define.
00:00:41.840 Learning can be simplified as the process where you start by not knowing something and end up knowing something. Whatever happens in between doesn’t really matter. In teaching, hopefully, someone else starts by not knowing something, and you help them achieve that knowledge. But what about productivity? That’s harder to define.
00:01:09.600 I looked it up on Wikipedia, and I’m not going to read all of it, but it basically says that productivity is a measurement of efficiency, defined as output per unit of input. But what does this mean? What qualifies as output? Is it lines of code? I don’t really know. This is actually the economics definition of productivity, so it probably doesn’t apply here.
00:01:36.360 Let’s look up the definition of programming productivity on Wikipedia. It describes productivity as the quantity of software divided by the cost of software. But what does the quantity of software mean? Is it the number of lines of code, lines of tests, number of features, or how many clients are happy? Again, this is too complex and philosophical for us to discuss in a 15 to 20 minute talk.
00:02:29.000 So instead, I’ll talk about something I call perceived productivity. The definition of that is when you reach the end of the day feeling happy and confident that you did a good job. You completed the tasks you set for that day, so you can go home and have quality time with yourself, friends, or family without feeling guilty about something you didn’t accomplish.
00:02:39.890 To quote Game of Thrones, "I couldn't find a definition of this, but this is what I want to talk about." There are a couple of things I have been doing lately to try to achieve this, and I wanted to share them.
00:03:04.430 The first thing that I think is very important is to plan your day. This is something I started doing recently, and it has really improved my productivity and how I feel about it. I’m going to go over a couple of steps you can take to plan your day. The first recommendation is to list all your tasks for the day. I usually do this the day before—just write them down wherever you want.
00:03:50.540 The next step is to prioritize those tasks. You can do this in a lot of ways. There's one implicit method where you just do it ad hoc—whatever you think is more important goes to the top of the list. But I’m going to show you two more organized ways to do this.
00:04:17.329 The first method is called ABC analysis. It has a fancy name, but it’s pretty straightforward. You assign a letter to each task: A means urgent and important, B means important but not urgent, and C means unimportant. If you leave a task classified as C, you can probably drop it altogether, as it’s not essential.
00:04:41.170 This is often paired with the Pareto Principle, which states that 20% of your efforts yield 80% of your results. So do you can put the 20% that will get you those results at the top of your list. The other more complex method is called the Eisenhower method, which divides tasks into four quadrants: urgent and important, important but not urgent, urgent but not important, and not important.
00:05:24.910 When a task is urgent and important, it’s like finding your house on fire—something you must take care of right away. The idea is that if you don’t do those tasks immediately, at least you should schedule them for first thing.
00:05:50.500 Not urgent but important tasks can include recreation and exercise—they are important for life balance but don’t need to be done immediately. So set deadlines for them. Urgent but not important tasks like interruptions and meetings should be delegated if possible. If it’s not urgent and not important, this is busy work and time wasters. You should try to drop those activities as much as you can.
00:06:29.000 Once you have all your tasks prioritized, it’s important to record them somewhere you won’t forget. For this, I use a tool called Actionalist. I think it’s a Mac-only tool, but it’s very nice for tracking tasks because it stays on your screen.
00:06:40.040 I highly recommend it. It’s a paid app, but it’s a one-time payment, so if you use it daily, it’s worth it. Another recommendation is to avoid setting time slots for each task. Planning your day strictly by saying, 'I’m going to do this task from 9 AM to 10 AM,' can set you up for failure.
00:06:57.930 You might underestimate some tasks and overestimate others, which can lead to extra time spent on social media while waiting to start the next task. Instead, we should focus on time management—doing more with our available time, rather than trying to allocate specific times for everything. Time management is vital.
00:07:50.390 So having your tasks and managing your time effectively to accomplish them is essential. This sounds very basic, but if you prioritize your tasks correctly and get them done, you’re likely to end each day feeling accomplished. One technique I use to enhance productivity is the Pomodoro Technique.
00:08:30.730 This technique involves focusing intensely for about 25 minutes on one task with no interruptions. Afterward, you take a five-minute break to recharge—stretch your legs, talk to someone—anything to take your mind off the task for a bit without being completely derailed.
00:09:12.390 Now, considering many of us work in open spaces, achieving 25 uninterrupted minutes can be difficult. One way to combat this is to control your interruptions. Make sure that interruptions happen on your own terms.
00:10:06.770 One effective strategy is to set alarms. I set alarms for everything, so I don’t forget tasks. For instance, with Pomodoros, when your 25 minutes is up, an alarm will signal it’s time for a break. If someone needs to talk to you later, set that as an alarm as well.
00:10:42.920 This way, once you set an alarm, you can stop worrying about the task, which clears your mind to focus on your current work. Alongside this, ensuring you communicate to your team when you’re available is crucial.
00:11:21.510 It could be as simple as wearing headphones to show you're not to be disturbed. Be proactive about setting these signals with your teammates so they know when you’re focused on deep work.
00:12:14.140 Another important point is that while it’s crucial to be available for your team, you also need to take breaks and check in with them at least once an hour. It’s a balance; if you’re constantly in blackout mode, it can isolate you from your team.
00:12:57.820 You might experience what is commonly known as FOMO (fear of missing out) if you completely shut off communication. You may miss out on something important, but remember that if something significant occurs, someone will inform you.
00:13:32.430 It's okay to step away from communication channels like Slack or email for a decent stretch, as someone will usually let you know if something urgent arises. Having daily routines also significantly boosts productivity. Some may view this as limiting, but routine can actually help eliminate decision fatigue.
00:14:34.520 Establishing habits can save mental energy for important tasks. For instance, I started recording daily stand-up video updates for myself, tracking my progress and noting what I’m working on. This routine helps me mentally shift into work mode and provides visibility to colleagues.
00:15:25.290 Setting a predefined start and end time to your work hours is beneficial too. This way, you avoid the risk of working all night without clear boundaries between work and personal time.
00:16:20.450 Famous figures like Steve Jobs and Mark Zuckerberg have routines to wear the same outfit daily to reduce the number of decisions to make in the day.
00:17:07.350 For developers, the editor you use should be a tool that helps you, not a hindrance. Ensure you can run tests from within your editor rather than leaving it to do so, as that can be disruptive.
00:17:55.940 Extract repetitive tasks into keyboard shortcuts and improve your typing skills to make your workflow easier. Keeping your mind clear of unnecessary distractions will ultimately save time.
00:18:33.200 In wrapping up this section, the key points to improving daily productivity are to plan your day and prioritize your tasks. Knowing what you need to do without thinking about it allows you to see your progress and improve your skills.
00:19:20.700 Cultivating time management skills is essential for ensuring you can tackle more tasks with the time you have. You should also focus on continuous learning every day.
00:20:05.480 I’ll divide the learning section into two parts—what you can do as an individual and what you can do within your company.
00:20:24.790 On an individual level, it is vital that you take conscious steps to learn and allocate time for it. Without setting aside learning time, you will not be able to grow.
00:20:47.560 A good way to expedite your learning is by finding a mentor, whether inside your company or externally. Having someone experienced guide you through the maze of topics can be invaluable, especially when deciding what to focus on.
00:21:45.030 We can source our learning from books, articles, podcasts, and conferences. However, an essential aspect to consider is how we process and apply that learning.
00:22:09.410 There's a balance between learning and doing. It’s crucial to know when to stop learning and start applying what you have learned. The principle of just-in-time learning states that you should learn precisely what you need at any given time.
00:23:01.929 This prevents your knowledge from becoming obsolete, especially in fast-changing fields like technology. While it is important to learn from various fields, learning needs to be practical.
00:24:00.720 As a member of a team or company, fostering a positive learning environment can be incredibly beneficial. If you are in a position to influence your company culture, consider implementing practices that prioritize continuous learning.
00:24:50.270 For instance, pursuing hackathons is an excellent way to allow your teams to experiment with new ideas, technologies, and solutions. It promotes teamwork and spars creativity.
00:25:45.280 Development meetings can also be a great way for team members to share knowledge, show off personal projects, or share new techniques they’ve learned.
00:26:27.640 In our company, we have talks at the end of each week on Fridays, where someone presents a topic of choice. These gatherings allow for informal knowledge-sharing across teams.
00:27:05.350 Book clubs can also be effective in promoting learning. They can push you to finish books you may have started but lost interest in, as you have accountability with fellow readers.
00:27:57.140 In the final analysis, nurturing an environment conducive to learning benefits both the individual and the organization. As a company, encourage your employees to prioritize continuous learning and provide them with the resources to succeed.
00:28:52.680 Now, for a quick commercial break, I want to mention that we're opening an office in Boston, and we are organizing Rubicon Portugal.
00:29:01.950 This conference will happen in October this year, and if you're interested in talking more about it, please do connect with me. Tickets are available, and we have some exceptional speakers lined up.
00:29:54.030 Moving to the last section of my talk: teaching. I teach classes at two universities and also run a boot camp, which has given me valuable teaching experience in Rails and web development.
00:30:40.540 One of the most important things I’ve learned about teaching—and one of the hardest—is to set your ego aside. Whether I’m giving a conference talk or teaching, it’s not about me; it’s about the learners and the messages they take away.
00:31:27.860 You learn so much by teaching. It pushes you out of your comfort zone and helps you see things from the perspective of those new to the subject. You’d be surprised what you can learn from your students.
00:32:12.110 Many people believe they cannot teach simply because they feel they have nothing to contribute. Remember, it's never too early to start teaching. You can always help someone who is where you once were.
00:32:50.680 Share whatever you know—be it through a blog post, video, or podcast. Teaching others not only benefits them but also solidifies your own understanding.
00:33:39.780 If you’re unsure about how to teach, consider teaching what you are currently learning. Look for opportunities in your local community, universities, or conferences to share your knowledge.
00:34:37.210 Seek mentorship opportunities, find local meetups, or even start your own. This community spirit promotes learning and fosters collaboration, allowing everyone to grow.
00:35:17.310 In conclusion, focus on caring for your students and prioritize their needs over your own ego. There's always something to teach, and always someone willing to learn.
00:36:08.420 Even if you don’t feel inclined to teach, be aware of the potential downsides. Without engagement, your knowledge may become static and less relevant to the current landscape.
00:37:04.320 Having a personal brand is essential in today’s digital world. Your involvement in teaching, sharing, and contributing to others’ learning will position you favorably in your career.
00:37:57.550 Ultimately, the joy of learning should be the guiding principle driving everything we do. Be proud of your journey of learning and teaching; that’s what brings fulfillment.
00:39:00.540 Thank you very much.