Live data from Hacker News

First programming job – a 4 month reflection

pastebin.com

51–60 of 70 posts

Re: First programming job – a 4 month reflection

#51
Okay, it's clear that sooner or later you are going to outgrow this place.

But, just some advice for you in the meantime: don't be that developer who insists on your standards, no matter how much you feel yourself to be right. If you do that, you're going to be miserable and you won't get a good reference for the next job.

But more importantly, you should take this opportunity to learn about everything in the job that isn't coding. Like teamwork, communication, respect.

Success at the job is not about doing what's right in an abstract sense; it's about doing things that decision makers perceive as valuable. If you feel strongly that they're doing the wrong thing, then you're first going to have to change what they perceive as valuable.

In your programming career, you will often be employed by people who are less mentally agile than yourself. But you're going to have to learn to respect what they know and do well - understand the customer, forge relationships. Computers are so fucking efficient these days that even naive solutions have a lot of value sometimes, so deal with it. (There's always some other programmer who would be appalled at the shortcuts you take; you're not special.)

TL;DR: If you want respect, you have to give respect first.

Re: First programming job – a 4 month reflection

#52

Welcome to the real world. Where code is not perfect, but somebody pays for a timeboxed piece of work and legacy code will exist. You will not come into heaven straight from university and you will have to learn to work in environments like this. Blame your study for not telling you about how the real world works. Don't blame legacy code because it's something that exist no matter how unicorny the world is. Negotiati…

WTF I get downvoted for this?

Why am I even here.

Re: First programming job – a 4 month reflection

#53
post #36
post #33

Earlier quoted context omitted.

That is part of life though, and as frustrating as it is, you'll sometimes have to expect that other people will rework your code.

It is, but it's definitely not a good way to treat new people to the team, especially people on their first job. Much better to explain the bug/problem and let them fix it.

Very true, again highlighting some of the flaws of OPs current workplace.

Re: First programming job – a 4 month reflection

#54
post #34
post #27

Earlier quoted context omitted.

Correct me if I'm wrong but neither Java, Scala, Clojure, nor C/C++ tend to be used for web development, right? So OP wouldn't be doing web development if he picked those up? From what it sounds like, OP is doing web development, so maybe some other suggestions such as RoR, Node, or .NET etc would be more applicable?

Java is used a lot in web dev. See servlets and J2EE. It can feel a bit enterprisey though. Scala and Clojure are relatively new languages but they have pretty good web frameworks, which tend to be closer to RoR than the J2EE stuff. C/C++ is indeed used very rarely - it's just too dangerous and unwieldy.

Well, I have to thank you, I have learnt something today and I've only been awake a few hours. I did do a quick bit of research before posting my comment, to make sure I wasn't overshooting the mark, but I didn't see anything about Scala/Clojure web frameworks, so on that regard, thank you for enlightening me.

OP should definitely move away from PHP though.

Re: First programming job – a 4 month reflection

#55
I care about code more than most people

I get the impression that this guy thinks of himself as "a coder". He wants to write code all day long. He wants to write the best code in the world. He wants to write code that's robust and tested and modern and secure and clever...

...and all for the sake of writing code that's interesting to him.

In the real world we have to write code that enables users to do things. That's it. Usually that also means writing code that's tested, secure, robust and so on, but for the sole purpose of making users better able to use our software.

We write things that are secure so that users don't lose their data/privacy/money.

We write things that are tested so that users don't face errors and bugs when they use our software.

We write things that are robust so that users can use our software whenever they need it without it falling over all the time.

If I was the manager of his team and he came to me suggesting "Dependency injection of the database objection into a class" I'd say no too without a good reason - the entire team would need to learn the new code, any code that relies on the old system would need refactors, and so on. But if he came to me and said "If we used an injection pattern we'd be better able to switch to a failover server, we'd be able to add features faster and it'd enable use to use a better security model", I would listen.

A big part of development is actually "sales" - if you can't sell your ideas to your team, you'll not get to implement them, even if they're the right way to do things.

Re: First programming job – a 4 month reflection

#56
post #30
post #24

Yep, lots of workplaces are like this. As you do care, get away from PHP ASAP. Beware of structuring and refactoring too much, or writing low-ROI tests. You must find balance.

While I dislike programming in PHP (the syntax is ugly mostly), and I like Python and JS, I don't think getting away from PHP is a solution and the solution. PHP is not the problem in this situation. It's the people who is working there with OP.

I like to think that's what lalc was implying. With a language comes community, and PHP's community is unfortunately laden with baggage.

Re: First programming job – a 4 month reflection

#57
post #49
post #12

> One file has 3000 lines of code, and is a huge switch() statement. Kids these days. I once worked on a system where the size of the switch statement broke the compiler. I believe the limit was 64k lines in a switch, although my memory is a little hazy. Of course you couldn't actually reasonably edit a single file with that much code, so it was split into several files, each of which was still thousands of lines lon…

No, that did not ever happen. I reject to believe. Oh my god, how frightening is this!

There's a whole site full of stuff like this: http://thedailywtf.com/

Re: First programming job – a 4 month reflection

#58

> I always prioritize security as number 1. > I've made sure that my code was secure > has just always been embedded into my programming philosophy > So their environment was broken to me. > I've began to realize that I'm a much better programmer than all of them Good code quality, and security, is something everyone needs a bit more of, but be careful not to fall into dogmatic thinking. They are paying you to do tas…

> They are paying you to do tasks the way they want them done.

Maybe with respect to "code quality", but it would be unethical write code with blatant security flaws, even if the organization paying you says "that's just the way we do it here".

Re: First programming job – a 4 month reflection

#59
post #42

I've been there years ago where OP is now. I can tell him this: you've only scratched the surface. Just as there are very good programmers there are also very bad ones. Trying to make a bad programmer into a good one often ends up in a catch 22 - he would already be a good one if not for all the constants in equation that makes him a bad one. My advice number 1 is this: move on, find a team of solid professionals. Ad…

I recommend learning JavaScript for web (backend) development. In fact, the OP already knows it.

Dumping PHP to use JavaScript instead? That's like moving from terrible to terrible ...

Re: First programming job – a 4 month reflection

#60
post #42

Earlier quoted context omitted.

I recommend learning JavaScript for web (backend) development. In fact, the OP already knows it.

Dumping PHP to use JavaScript instead? That's like moving from terrible to terrible ...

No, JavaScript is a great language if you just use the good parts[1].

1. https://www.youtube.com/watch?v=hQVTIJBZook

Post reply on HN