You Landed Your First Developer Role - Now What (Part Two)?
Landing the first role as a developer seems like the hardest thing to do. Then you realised it's just the beginning. What do you do to become a professional developer?
In part one of this series, we started looking at what to do once you land your first role as a professional developer.
There, we suggested the first two, key, steps you can take to begin building a career on which you can be proud. Here, in part two, we discuss the second two steps.
3. Never Stop Learning
Think you've learned everything there is to know about software development at school, university, your local user group, or from the books you've already read? Think there's nothing more you can learn?
It's a cliché but, one of the worst things you can do is to ever think that you've learned all there is to know. Perhaps once you could have.
But that's impossible today - even if you have 24 hours in the day, 7 days a week, 365 days a year. You'd have to be extremely dedicated, as well as extremely intelligent, to even come close.
Given that, if you haven't already, I strongly encourage you to accept two things:
- That you'll never know everything
- That you'll always have to keep learning
With those two assumptions in mind, make it easy on yourself, and begin compiling a great set of resources which will make it easy for you to learn in an efficient and structured way.
If you're not sure where to begin, include forums, IRC channels, magazines, websites, user groups, or conferences.
But whatever you choose to use, make it a priority to start building that resource.Why? With it readily at hand, you are never short of ideas, practical advice, sagely wisdom, tips, tricks, and support in your journey to become a true professional.
You will never have to wonder what you should do. You'll always have a wealth of information to turn to.
If you're wanting an especially great resource, one I very highly recommend is NomadPHP, run by my good friends Cal Evans and Joe P. Ferguson.
Perhaps you're more of a bookworm. If so then, below is a selection of truly excellent, truly timeless books, ones which have helped so many developers, myself included, throughout their careers.
Don't over look the second set. Despite them not being specifically related to software development, they have timeless advice and wisdom.
- The Mythical Man Month
- The Pragmatic Programmer
- Clean Code
- Design Patterns
- Patterns of Enterprise Application Architecture
- The Art of Unix Programming
- The Cathedral & the Bazaar
- The E-Myth Revisited
- How to Win Friends and Influence People
- The Richest Man in Babylon
- Man's Search For Meaning
4. Be Involved in Projects
Many years ago, a friend of mine remarked, when I asked him whether I should use share market games in order to learn about share market investing, replied - Hell No!.
I was surprised at the response, because I thought they'd provide an excellent education and proper preparation for future success.
His response was telling.
When you don't have skin in the game, you're not fully invested in the decisions you make
He went on to clarify that, as it's just a game, I wouldn't have invested my own money, which I'd have worked hard for, which I'd saved.
As a result, the decisions I'd make wouldn't have any true meaning or value. If the "shares" went down in value, it was just a game and I could walk away. But when I had my own money in the game, my perspective would change. As a result, my decisions would to.
So it is with projects. I strongly encourage you to get out there and be involved in existing open source projects, or create one of your own, one which powers something meaningful. Not only that, put the source code out for all the world to see as well.
That's what I did with the Free the Geek website. I applied my friend's philosophy and created a site which I'm aiming to be highly trafficked. I then put the code out there for all the world to see and critique.
Given that anyone can see it, before I make (most) commits, I stop and think about what they contain, as well as what they don't. I think about the commit messages which accompany them. I think more deeply about the design choices I make.
This is both an excellent way to build, as well as trash, your reputation.
But it needn't be code you're working on. Consider being involved in user groups and conferences in your area.
Not only will they increase your exposure, providing you the opportunity to build a name for yourself, but you'll have the opportunity to learn from so many people in the soft, or human, skills area.
What's more, you'll have the opportunity to give so much to your community, to your peers, to your friends. This is priceless!
Now We're Making Some Progress
By this stage, you have a lot of information and potential resources to work with. Some of them theoretical, but so many of them practical.
Yet whilst information is great, action is invaluable. Make sure you take action on what you've read so far.
In part three, we discuss the final two concepts, essential to building a meaningful career.
Over to You!
Are you at the start of your career and not sure of what to do? Have you struggled in your career, and overcome the challenges you faced? Share your experience in the comments. I'd love to get your thoughts.