News for hackers. Stuff that matters.
Re:On Being a Junior Developer by alinajaf on Wednesday November 21, 2012 @05:06AM (#4813581)
I'm currently a, "something" developer this is what I would tell you over a beer after a hard days work in the salty salt mines of programming, after 6+ years on the job.

> Making mistakes will kill you

Nah they won't. No matter how it's worded, your current agreement with your employer is actually something like: "We agree that you will make mistakes and learn on the job. In return for this we will pay you peanuts". If they wanted a senior developer, they should be paying for one.

It's also important to point out that the mistakes you make now will play a big part in making you a senior developer. If you're putting yourself out of your comfort zone often enough you should be make plenty of mistakes on a weekly basis. It's nice if like you say, you catch them before your boss/clients do, but I wouldn't beat yourself up too much if you don't.

> Your wage is shitty.... or can't eat for a few days

Leave. Even with only six months of experience you're probably worth at least double what you're getting paid now. That a developer can't eat, in this market, is truly fucking ridiculous.

> Get used to being the go to guy for all the boring work, no one wants to sit there and refactor spaghetti code or build yet another custom joomla module

Refactoring spaghetti code doesn't go away when you become a senior developer, and it's a massively important skill to build up. Most non-trivial projects on big systems will require that you do this. I know it doesn't feel like you're learning anything, but reading code is a hugely important task that junior developers need to do more of (as opposed to just writing it).

The more you do this, the better you will get at understanding big systems quickly. Learn this now, do it at future clients 1, 2, 3, and 4. By the time you do it at client 5, you'll be so good at it that they'll think you're some sort of prodigy (so get paid accordingly!).

> Slow down at the start,... your boss will notice your apparent lack of progress

Who cares? If your boss has a problem with your progress he should let you know and you should work together to improve it. Also: Leave!

> Always be early, never be late. Your boss blah blah...

Personally I like coming in at the crack of dawn and leaving very early. I know other wickedly good developers who prefer turning up at 11 and leaving at 8. Non-developers don't get this, but it's fine. As long as you're delivering results and are available for any in-person rituals, no one should really care what time you arrive/leave.

> Arrogance is bad.

You say that now, wait a few years. When you've surpassed your heros in terms of skill/knowledge and spend most of your time watching other developers wrap themselves into webs of complexity for no good reason (and then have to clean up after them), then tell me not to be arrogant. A strongly worded opinion, arrogant or not, has demonstrably saved months of work and oodles of money for clients down the line.

> starting sentences with "actually, I think" or "No, that's wrong..." will land you in the shit, especially in front of a client

Bzzzt, wrong again! Expressing my opinion in front of clients, even as a junior developer, has consistently been a positive experience for everyone involved, including my boss's at the time. "No, that's wrong" is admittedly a little strong, but it really depends on the content. "No, that's wrong, the google search algorithm works like X so you'll probably have better results doing activity Y" or "No, that's wrong, if instead we make it a RESTful API we get the following 3 benefits..." is a hell of a lot more useful to everyone in the room than you just sitting in a corner being demure.

> Your boss wants to appear to be an all singing, all dancing super coder

I don't think I like your boss very much.

Based on the attitude you've displayed in this post, by any metric you're probably better than you think you are. The worst sort of junior developer is one with no humility, but I think you can afford to be a little more confident, especially when dealing with "Your boss". Also, Leave.

Re:On Being a Junior Developer by mseebach2 on Wednesday November 21, 2012 @05:17AM (#4813609)
I don't agree with your comments about arrogance. You can be right and strongly opinionated without being arrogant. Junior or senior -- making anyone, boss or not, look bad anywhere, but especially in front of a client is a perfect way of finding yourself at the business end of some pretty nasty social dynamics.

Practice voicing your opinion and arguing for it in a way that isn't confrontational. 9 out of 10 times, it's as simple as acknowledging the other person: "I see where you're going with this, it's a good way to solve A, B and C. But when we get to D, I fear X will bite us in the tail - Y can avoid that.". This also avoids the stinging embarrassment of being arrogant and later being proven wrong.

Re:On Being a Junior Developer by alinajaf on Wednesday November 21, 2012 @05:26AM (#4813632)
> "I see where you're going with this, it's a good way to solve A, B and C. But when we get to D, I fear X will bite us in the tail - Y can avoid that."

In practice, I word things similar to what you've described here, probably even more deferent.

Still, if I believe it is in a clients best interest to do Y, I don't mind sticking my neck out and make the case more strongly for it, even if I turn out to be wrong.

Additionally, I've found over my career that I've learned the most useful skills, both technical and otherwise, from developers who were fantastically arrogant. They also happened to deliver the most value to the business, so no one cared.

Re:On Being a Junior Developer by mseebach2 on Wednesday November 21, 2012 @05:31AM (#4813648)
You can be arrogant if you're brilliant - not the other way around. As a junior engineer (in the 'not much experience', not 'pay grade' sense), you're probably not brilliant enough to be arrogant.
Re:On Being a Junior Developer by thisone on Wednesday November 21, 2012 @05:25AM (#4813629)
I find this fear of mistakes a bit disconcerting.

We all make mistakes, big ones, small ones, ones people notice and ones they don't. If we didn't make mistakes we wouldn't need testing.

What we do, is we learn where the mistakes are most likely to occur and we learn to mitigate the effects of those mistakes.

Re:On Being a Junior Developer by shanelja on Wednesday November 21, 2012 @10:42AM (#4814622)
Thanks for your advice and information - personally, I agree with a lot of the points you've made.

The problem is that at the time I took my job, I didn't have much choice, I was in a shitty position, no job, no money, no home, etc. and I took the fist position which came along.

I wish I had been in a better position and been able to better evaluate my current workplace, but in my bosses defence, I am the first (out of family) employee for this oompany, my boss is new to the world of being a boss too and he is unsure of when and where to show his authority.

As for moving elsewhere, I am currently in the process of applying for other jobs and hoping one of them come through.

I should state that I actually like my boss, he's a good person and is as new to being an employer as I am to being a commercial programmer.

I would like a more professional and tactful environment in my next position but I don't in any way blame my boss for how I feel, in fact I have a lot of respect for him.

Re:On Being a Junior Developer by Hannan on Wednesday November 21, 2012 @01:28PM (#4815521)
>> The problem is that at the time I took my job, I didn't have much choice, I was in a shitty position, no job, no money, no home, etc. and I took the fist position which came along.

No shame in that. I graduated in 2001, and was ecstatic to receive my first (and only) job offer. 1.5 years later, the company went bankrupt, and my team of ~7 was sold (OK, the IP was sold, the team got offers). News came out that one person on the team was getting a raise during the transition and that person was me!!

...because the new company didn't have a pay grade that went low enough to accommodate my existing salary. :/

About 5 years later I cracked 6 figures in the Midwest U.S. and I'm not a super/rock/ninja/adjective du jour star by any stretch. My $.02: Keep working hard, know what you want (and don't be afraid to ask), communicate well, and generally be a Good Guy/Gal™. The rest kind of fell into place for me and my guess is that it will for you too. Best of luck!

Re:On Being a Junior Developer by alinajaf on Wednesday November 21, 2012 @10:54AM (#4814671)
No worries, I hope that helped. If you're ever in London and feel like grabbing a beer to talk shop then don't hesitate to get in touch.