Some of the discussions on here (coupled with having just done my first interview as an interviewer) have got me thinking about my own skills as a developer and how to improve them. I'm currently working as a Java Developer, although I am now spending a lot less of my time actually coding. Its a lot more design and analysis (with associated documentation) which is fine and necessary but I really want to improve as a developer, and re-ignite my joy of coding.
So it turns out that its on me to do something about that (in my spare time) and work on improving as a developer. Which is where I run into a problem, like most people (as far as I can tell) I can get a better understanding of something if I am using it for something in particular. Messing around with say a framework like hibernate is fine, but I only really start to get to grips with it when I'm working on something. The problem I have (and a bookshelf full of computing books can attest to it) is coming up with that "nebulous" something. I'm not very good with the initial ideas, and if I do have one I can get distracted with minutae such as trying to setup an automated build server, or configuring a local git repository or whatever.
Does anyone else ever have a similar issue? You want to learn and produce something cool but the urge to try the "latest and greatest" or tinker with something interesting seems to take over. I'm not saying there is anything wrong with that at all, and it maybe the underlying issue is to do with me, but I wonder if having something more concrete to work on would help (I even decided to setup an online presence with the aim of putting stuff up there and blogging about but again I get distracted, its at http://www.flyingpiglabs.co.uk if anyone is interested).
One thing I think might be useful would be to work on an Open Source project, but this is another area where I don't even know where to start. How do you go about finding an open source project to get involved in? And (if) you find one how do you start to get involved. Part of me always worries that the code I write isn't going to be good or suitable (which is a vicious circle in that the only way to find out if it is any good and improve it is to have other people look at it etc etc).
So, trying to bring this to some kind of conclusion, or at least coherence
- I would like to improve as a developer so I am wondering what its worth investing time in?
- How do people go about improving as developer, gaining new skills or improving existing ones outside of work?
- I find it hard to get to grips with stuff unless I have something to work on, but coming up with that "something" isn't straightforward, is anyone in a similar situation?
- Has anyone had any success pairing up with someone (or someones) to produce something "cool", if only because having multiple people allows for improving your code, and having other people to keep you focused. If so, how did you go about getting started?
- Does anyone know of a project (open source or otherwise) that they want to work with someone on (in a spare time sense, I already have one full time job :-) ) or would be interested in setting something up? Are the LJC meetups a good place to meet and discuss this kind of thing?
Right, enough waffle, I hope it makes some kind of sense, please let me know your thoughts (and let me know if anything does or doesn't make sense).
Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them, you're a mile away and you have their shoes.
I didn't say it was your fault. I said I was going to blame you.
It is often said that before you die your life passes before your eyes. It is in fact true. It's called living.
Of course I'm out of my mind! It's dark and scary there!