Managing Your Personal Tech Portfolio

Managing Your Personal Tech Portfolio

Even if you are lucky enough to have the time and energy to devote to your personal development, making the best use of that time can feel like a burden. What should you focus on?

With so many types of new tech and resources available, creating a personal technology portfolio can be a useful approach to managing your learning goals.

Overwhelmed?

One of the challenges of being a software developer is the never-ending amount of learning to be done. Books to read, new technologies to try, catching up on tools and practices that it feels like others have been doing successfully for years. Then there are pet projects and open source contributions, all this without even considering the challenge of trying to improve at your day job.

You shouldn’t feel a burden of course. There is a lot to be said for doing a great job in the working day, forgetting about tech and coming in fresh, ready to go at it the next day. But for many, it is a hobby as well as a career. And whether you are allocated learning time as part of your working hours or invest your own time, how can you best decide what to focus on?

Manage your learning goals

Developers are often said to be easily distracted by the next shiny thing. Maybe that’s you and you like jumping from topic to topic. If however, you want a more structured approach, here are two ways you can organise your learning:

1. Create a learning backlog

Prioritise your learning goals as you would an agile product backlog. Just like a backlog, items nearer the top should be specific, actionable tasks (eg. Complete this online tutorial, read that book, tackle a PR from this open source project list), whereas those lower down the list can be vague, higher-level objectives to be broken down at a later date (eg. learn Haskell, get into Machine Learning, talk at a meet-up).

Set yourself a medium-term target for how far down the list you expect to get in the next six or twelve months. Keeping in mind that like any agile backlog, you will want to adjust priorities as new information comes to light or as things change over time. Be prepared to revise your aims as you go.

2. Categorise learning targets

Another approach is to group learning goals into categories – for example, new tech or tools that you simply want to explore out of interest is a different kind of goal to getting deeper into a topic that you already know well and use regularly.

One of the ways you can do this is to create your own Technology Radar. ThoughtWorks publish a Technology Radar on a regular basis in order to capture a snapshot of their combined view on software development tools and tech. One of the contributors – Neal Ford, recommends creating your own version to manage your personal development.

You can take this approach as far as you want. You can simply use the categories as inspiration to help define your own groupings, or create a fully blown radar and update it on a regular basis. Either way, grouping can help you to allocate different types of learning at a time and place that is most appropriate.

Like a financial portfolio, time invested in your career development should balance out risk and reward.

A tech portfolio

Regardless of how you organise, I would recommend following Neal’s advice to think of your personal development as managing your personal technology portfolio. Consider your learning exercises as a series of investments. Similar to a financial portfolio, you should build a combination of investments that diversify your interests in a way that balances out risk and reward. Some kinds of learning will have more value than others, some will be speculative and possibly not get a return at all.

The investment is your time and the risk is that you waste that time without getting a good return in terms of personal or career development. Include some tasks that involve getting better at the things you do most often, but speculate in new tech or tools that widen your perspective and keep your interests current. Think about which goals/tech you should invest heavily in and which you want to follow at a distance.
Speculate in new tech or tools that widen your perspective and keep your interests current.
In some cases it may be a good idea to build a tech portfolio for your team, department or company and diversify learning goals between the group.

Types of learning

People often think of learning activities as on-the-job learning, pet projects, reading, tutorials, self-study, watching videos or attending classes/1-1 teaching. There’s no reason to restrict it to that – be creative about your targets. Here are some other approaches to learning:

Teach others

You may not immediately think of teaching others about topics that you know well as learning. But once you set about thinking about how to teach a topic, it pushes you to a new level. While you think about how to communicate a subject to others and what questions might come up, you challenge yourself on the depth of your own knowledge and are lead to reading around a subject as well as delving deeper into the topic itself. The same goes for presenting talks at meet-ups or conferences.

Go back to basics

Want to improve on something you think you know well? Go back to basics. Similar to teaching, this has the effect of challenging your own level of expertise on a topic. Pore over introductory material and question yourself – do I really know what this means? Question, read around the key concepts and dig deeper than you did when you were first learning the topic.

Deliberate practice

How do you get better at something? Practice of course, but while this seems obvious for some disciplines (eg. athletes, musicians), few people think in those terms for software development. Deliberate Practice involves identifying something that you want to improve at, and repeatedly tackling a task or series of tasks in order to do just that.

Looking at other code, Open Source contribution

It is easy to feel that many of your peers are putting in a great stint in their day job while also heavily contributing to or running successful open source projects in their own time. It’s great if you can get involved without burning out, but even if you don’t have time to contribute heavily, looking at other people’s projects can be a good source of inspiration.

Attend conferences/meetups

Conferences can be a great way of broadening your interests and understanding as well as giving you some time in new surroundings to think about what you can do better when you get back to base. Getting together in person to discuss ideas with other people in the industry is a great way to expand you knowledge and build a network.

Be part of an online community

Blogs, newsletters, forums, slack groups, coding challenge sites and social media all offer a chance to learn from people online doing similar things to you. Some kind folks even offer remote mentoring sessions.

There is no right or wrong way

How you manage your own career is up to you. There is no right or wrong way, but sometimes a small amount of planning ahead can help make the best of that valuable time.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s