As a web coder, I work remotely for a studio. This allows me to have time flexibility but it also means I sometimes feel isolated from the learning process that I feel I could have if employed in a company. How can I keep my skills up to date with the industry when I'm working alone?
5 Answers
There's a few things that can really help with keeping up-to-date with the world from a programmer's point of view.
Follow tech blogs for your entire stack
If you (for example) have a stack using PHP, nginx, mysql and redis (and a server company)... follow their blogs. Follow them, and keep up-to-date with improvements, new features, quality-of-life improvements, and so on.
Heck, follow them on twitter (it's the fastest resource I've seen besides nagios for alerting you to an issue on the internet).
Join a community
Working from home is very, very isolating. I often have to take breaks and go outside (the horror) due to burnout and feeling isolated. But you don't have to go outside; join an open source community on freenode IRC, for example. Start helping out, if you'd like.
Make a website for personal development
I have a website and server setup that practically bleeds money. I've been working on it since 2009, and it has been the largest single source of new knowledge about programming for me. It's gotten me jobs before, and it gathers about 90,000 views/day. I wouldn't have it any other way.
And it's pretty much just a place where I code for fun (it's a radio station).
Do something that interests you, and make it big. It doesn't have to gather a community; it could be something neat that you want to experiment with.
Ask and answer questions on Stack Overflow
Answer questions on things you care about. It might just help you learn a best practice (or something new) about what you work with.
You could probably set yourself a challenge to hit 3k rep in a tag, etc.
In short
Try to keep everything you work with up-to-date with the absolute latest versions (and pay attention to breaking changes, or new features). This will not only keep you up-to-date with the industry as a whole, it will actually put you ahead of it. Companies are notoriously inefficient with updating their software.
(Note: this is only really true for backend web development unless using JavaScript libraries or the like)
There's a lot to be said for working with others to gain skills. While I've honed my skills working for a company, I've also gained a lot by following and answering questions on Stack Overflow.
As a coder with a job, you know loosely what types of things you need to focus on to be successful. So focus your time on answering questions about stuff that relates to your work. For instance, if you use JavaScript a lot, then look for questions about JavaScript. You'll find there's many questions you don't know the answer to, and this gives you an opportunity to research, learn, and also help others.
In short, there's a lot of knowledge waiting to be obtained through online communities. You don't need to work directly with those people to learn from them.
In general, even if you're not a coder, there are resources, forums, Q&A sites, and other repositories of knowledge in which one can keep up to date with the latest trends, techniques, skills, technologies, and processes and procedures.
Following on from the other responses about online communities, something that I've found gets me feeling more involved is finding one you don't get lost in because they've grown so big: I work with WordPress so made a bit of an effort to break into contributing there, but didn't really feel engaged until I found a small open source project that only has a handful of us contributing to.
This Freelancing StackExchange feels a bit like that; cosier than StackOverflow!
It's an old thread but an age old problem!
The other answers here are great for the sources of information and activities to keep yourself up to speed:
- Subscribe to blogs
- Read Twitter
- Build side projects
- Take part in communities
- etc.
But I would add that the most important thing is to integrate this learning practice into your daily routine. You must set some time aside every day to do these things and see that time as an important part of your work schedule.
It's hard to do but if you don't put these activities into your daily routine then you'll never do them, work will always be more important.
Start small - 15 minutes checking your RSS and read one full longer article over your coffee before work. Then spend 30 minutes on your own project each evening. Or something similar.
Do it every day and you'll make progress :)
Social networks are a hint of what some people do. Make friends. Hang out with other developers. You'll talk. You'll shmooz. You'll learn.