views:

182

answers:

8

In my current job, the nature of the business and the nature of the development I do (in that it is simple/mostly chopping and changing values of HTML/CSS/Javascript to reflect a client but not actually writing anything despite being a C# coder) means I spend 9 hrs a day at work, read plenty on C#/SQL Server/ASP.NET etc etc, but I don't actually write code.

At home I have 1 hr once I get back, which is spent revising. Obviously I have a lot more free time to code on the weekends, but that is still not enough especially when I compare that to the chance of coding every day at work, which I did in a previous job but left with valid reasons. If I did code everyday, I'd learn a lot.

While I have done coding at work, this is all provided and then changing the code to make optimisations which means that the code provided is poor and if that is in place somewhere, it also has to be changed (this is funny when my colleague says my code is messy yet he provided it to me). This also means that I learn very little because I may miss chances to do debugging, and there's many ways to do the same task. Programming on big projects is an issue as one big project is finished and then there is a gap for a few months till the next big project and until then, you might write the odd 100 lins here and there, but you've literally got free time. As the company does hosting, this sort of line of business/this industry means there's an orientation to support so I need to respond to tickets which are system admin related (firewall changes - not coding at all and this is not a transferable skill) while other members of the team do ASP.NET coding. And speaking of ASP.NET, we are hiring ASP.NET developers and I am wrapping up my revision on the ASP.NET exam by MS, so I can forget about doing any of that.

This makes me think that the whole idea that work = experience is rubbish. I took a day off work recently and I did so much stuff, that I didn't seem to match that productivity/level of business at work.

Also bare in mind, reading a lot doesn't leave a good impression on my boss as he said "You read a lot and it doesn't look good if someone sees but if that's how you learn than that's fine with me" (my boss is laidback like that and he means if senior management sees me constantly reading because we have to look "busy" - give the tasks and I won't need to act). Since then, it's always a bit awkward reading a lot at work but if there's nothing to do and future work is not yet approved then what can you do? I guess the problem is it looks like you've got no work if you read so much (but this is pointless if you can't apply it there and then at work - any practise I do that is seen will also not go down well as my tasks have to be "authorised".

My main problem is if I don't do much coding here then in my next job the assumption that I have got experience will be expanded (this is not my first job and I am not a pure junior) and therefore any coding tasks I get I could find very difficult, unless I work efficently at home and do proper coding/testing/etc.

In this situation, what can you do to keep up? You're being left behind as I am learning a tech I've never done before so 2 people who already know this tech do all the work on it whereas I do the stuff they don't want to do. I am looking at other jobs as my heart wants me to change but then I have to do the whole "I'm new I need to get used to internal procedures" thing.

+1  A: 

Are you in a position to find a job where you code more? If not, get there. If so, find a new gig.

Dave Swersky
The problem is, there is no way to know how much coding you are going to do till you're in the job. In my case, passion come across very quickly when seeing my CV, the interview knows I want to do some hardcore coding, and will say "yeah you'll be doing coding". But to be fair, I have to take the blame as in interviews when I'm told I have the job, I just leave it at that, do all the thanking, and leave. This is partly because I have been told you need them more than they need you, which is a bad way to think. Next time I will probe a lot more.
dotnetdev
That's good insight. I've also learned the importance of asking those sorts of questions sooner rather than later, even at the risk of realizing that the job might not be the "best fit" for you.
Reuben
@dotnetdev: Much depends on the market in which you're looking. There's no such thing as a market flush with competent, experienced developers. Some might want you to think they are, but they're not.
Dave Swersky
A: 

if possible, find something repetitive in your department and automate it - using your C# skills, of course

make a small asp.net application to track something apparently useful and tell people it's an experiment if they ask

best: ask your boss outright for some coding assignments - perhaps he/she has some small annoying thing that you can automate, or publish on their intranet

Steven A. Lowe
Funnily enough, I am doing this (Writing code to automate stuff). My boss even said "this will keep you busy", which was a bit worrying. My boss even said "You do backups and manage security devices". That's good as I have a unique skill but it's not going to help me in my core skillset and won't help me in future interviews. It seems like at that stage it's decided I won't be coding. I do stupid things at work at times to talk away my employer's confidence but I've also done the opposite and my boss (Team leader) has actually recognised this.
dotnetdev
+2  A: 

You have an odd boss. Though it is a while ago that I had a boss, I actually demand from my people that they spend 20% (!) of their time training themselves (somewhat in the line of the organisation). This time is filled up with training courses, reading books, reading magazines, doing online tests or practices, exchange experiences etc. I find that it greatly improves the spirit of the personnel, the quality of their work and the eagerness they take on new tasks.

It is important to improve. Everybody develops themselves in a different way. Not allowing to keep up or to improve is blocking someone in his development. That's very bad, I believe.

When you take on a new job, ask them about Joel's 12 steps to better code, or something similar. If they don't know about it, or look warily, go to the next one.

From the same author, consider his guerilla guide to interviewing. Even if you don't interview yourself, it is a good read.

PS: rereading parts of your posts, it sounds a lot like code maintenance jobs as they often do with large firms like Logica and the like. Working for such firms is often devastating for your development, regardless their size. Just move out while you can...

Abel
I'm aware of that 12 steps thing but only after I got this job. We can read, but I don't feel comfortable doing so anymore so it's not as effective a tool as while I read, I wonder about my line manager coming back to his seat, seeing me read, and then wondering why I am reading so much + the issue of CEO seeing me constantly read. If I didn't have to worry about what people think (but I do as a job is about managing expectations and pleasing people), then the reading would sink in better - it can't sink as well if I'm not engrossed due to petty issues.
dotnetdev
I totally agree. Not sure if it is feasible in your situation, but I generally prefer giving a specific day, or partial day, for studying, that way we (managers, ceo, programmers, pm's, sales) know that you are studying and that it's valuable time well spend: don't interrupt and let the "students" concentrate on their "task". Everyone should know that studying is in general much harder then executing a job. Doing both at the same time is next to impossible.
Abel
A: 

If you're saying that your heart wants a change to a different kind of job, then it's worth listening to--provided that you're in a position where that level of risk is within your means. I would say that "work == experience" is not rubbish, but it's also not universally true. If you're finding yourself in a job or work situation that doesn't challenge you or doesn't enable/force you to learn new and interesting things, then maybe it's time for a change.

Regarding your concerns about experience, the best thing you can do in the meantime might be to spend some free time (i.e. weekend time, after-hours time) on some focused projects that force you to improve your skills. First, you might want to identify some of the areas that you're more concerned about or would otherwise be needed for other potential jobs; maybe it's a technology, maybe it's an OS platform, maybe it's a broad set of skills (e.g. design, performance analysis, etc.). Next, find a project for yourself that will help you improve yourself in these areas. Some examples might include reading textbooks/technical books, contributing to an open-source software project, taking a class at a local college, downloading and reading through the code of free/open-source software, etc.

If you do decide to stay in your present job, or until you switch, there may also be more creative ways of finding coding projects. For instance, while you're supporting customers, do you find that there are any support tasks that could be more easily automated? Would it be useful to have some software that analyzes data/log files to help find problems? If you have free time on the job, writing or extending such software could be a useful way to get some coding time while still delivering something that your company might value (and possibly even recognize/reward).

Reuben
As I said, in one day at home I was so busy. I was doing all of the above and more (setting up dev environment, etc).
dotnetdev
A: 

Read some books and write some interesting programs on your computer. That will help hone your skills.

fastcodejava
A: 

You're absolutely right that work != experience. This gets to be a challenge when reading a candidate's resume and it says he has five years of experience in technology X. Is that really five years of experience, or five repetitions of one year of experience?

Your job sounds really horrid, and you make a good case for why you should leave. The market's tough, but there are still positions out there for people who are bright and talented. Good luck!

Ether
My dad, who himself used to be a coder and is now a PM, said "You've been doing Tech XYZ for 6 months/youve been working for 6 months you should have mastered it by now", but you only do as you're told which may not be tech xyz, so 6 months in the job (sick leave/holidays is irrelevant), does not = 6 months experience of that tech. This is very misleading. I am doing enough to put me in the talented camp. My line manager is 2 yrs older than me and has a few more certs than me as he is quicker/I've been balancing my life a bit and resting to alleviate stress in coding at home. But I have ...
dotnetdev
a portfolio site, a proper dev environment, the software, the hardware, read a lot more (and put a list on my site), whereas my line manager copies me in what I read. When I'm his current age, it'll be interesting to see where I am.
dotnetdev
+1  A: 

the whole idea that work = experience is rubbish

Man up - it's a game we all have to play, and why you have to play up things on the resume/CV.

You haven't mentioned how long you've been at the current job, but I gather you don't have much working experience otherwise. Even for a lousy IT job, I'd recommend keeping it for a year minimum if nothing really good turns up. Job hunting is easier when you have a couple of years experience behind you - there's a risk in job hopping before you have that experience.

You've got the ambition, but it's still going to be hard selling your afterhours dev experience. I'd recommend seeing what you can pickup on oDesk or RentACoder - even if you make peanuts, you'll have a better time getting credit for it from potential employers than personal passion. Mind as well to have other hobbies - it's not all about work, you have to be personable so don't burn yourself out.

OMG Ponies
A: 

find a better job.

ikkebr