Live data from Hacker News

First programming job – a 4 month reflection

pastebin.com

31–40 of 70 posts

Re: First programming job – a 4 month reflection

#31
> 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 tasks the way they want them done. If you can show them a "better"[1] way they might take your advice, but you should never expect it. Programming is more than just a job skill to me, so I always have to remind myself about the line between "my code", built on my own time, and "their code" for which I am being paid to build/maintain.[2]

> I showed them OSWAP, and they have never heard of it.

> I mentioned MVC pattern, and the manager didn't know what that was.

This is common. Never hearing of something is not bad. No one can keep track of all the tools available, learn them well enough to use them, and still accomplish what they need to do. No matter how much time you spend trying to keep up, you won't.

Also, your coworkers, and manager, might already know what will and won't be approved. So, they are only informing themselves of things that are likely to be important to their tasks.

> I've began wondering if all work environments are like this.

No comment.

[1] There are many definitions of better. (Time, money, complexity, maintenance, ROI, etc.)

[2] Some managers / employers want you to mix the two concepts, but, in my experience, this is just encouragement to focus more attention on the tasks they are giving you. You need to draw a line.

Re: First programming job – a 4 month reflection

#32
That is very similar to my first job. The truth is that most programmers are not very good at writing software. Some don't care about code quality, and others haven't learnt (yet) how to program well.

When you apply for your next job be careful to ask about their coding practices. Ideally you should be able to find their lead devs on github or somesuch and view their code to get a sense of how good their work is.

Re: First programming job – a 4 month reflection

#33
post #14

I forgot to add that my manager might be cosidered a "micro-manager", I've heard him tell other developers that they should change a single variable name. and re-commit. Another thing that I've noticed, and that has happened > 1 time is that I'll write something, spend like all day on it, then come to work the next day to have found out that the manager re-wrote it claiming "simplification" of the code, which is in f…

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.

Re: First programming job – a 4 month reflection

#34
post #27

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…

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.

Re: First programming job – a 4 month reflection

#35
post #5

The minute you stop thinking about "they" and start thinking about "us", there is a chance. If you just walk around thinking and knowing things are sour but are not going to do anything about it - guess what. Nothing is going to change. But if you take the lead, sell your ideas, execute upon the change, you will see daylight one day. Most engineers never exit the "whining" phase though. But those who do, make a truly…

Thinking about 'us' is definitely the best thing to do and it is definitely a failing of (some) young but talented programmers to develop a certain arrogance which only puts others off.

However, at some point it will become obvious that you can/can't effect change in a meaningful timeframe. And if the latter, you should move on.

The sad truth is that often the bad type of programmers the author describes are unwilling to learn, and are especially reluctant to take lessons from a new/young colleague.

Re: First programming job – a 4 month reflection

#36
post #33
post #14

I forgot to add that my manager might be cosidered a "micro-manager", I've heard him tell other developers that they should change a single variable name. and re-commit. Another thing that I've noticed, and that has happened > 1 time is that I'll write something, spend like all day on it, then come to work the next day to have found out that the manager re-wrote it claiming "simplification" of the code, which is in f…

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.

Re: First programming job – a 4 month reflection

#37
There is always politics in any workplace, any organization.

My first thought is to have meetings where you and your team make a list of problems that you guys are facing (is logging not enough? is disk filling up quickly? is it getting hard to maintain some part of the code, etc). Don't go overboard. People who are much more senior than you are in this organization have pride. Imagine you worked your way up and did most of the coding and suddenly a new hire called your code shitty and ugly and non-functional, that hurt. Also, some people fear of breaking system. School in particular hates it. They don't care; students don't care. If school's portal is down for more than 1 hour, someone is gonna get an ugly call from some executive admin.

I can say testing, MVC patterns, all that shit (excuse my french here, in your manager's hypothetical voice) are least priority. What are your priority. Prove SQLi. Then fix it. Are there documentations for how to set up a server running the software you guys are working on? Is it done with a shell script. If so, is it working?

Testing and new development patterns shouldn't be your priority. They are cultural. You can't build Rome in one day unless you have all the people behind your back.

Scrum style, sure, but do it slowly. Also, this may sound extreme, but sometimes, you need to play a bit dumb. Don't show off. Some people can't face the fact they are out of the league... sometimes playing dumb/doing things a little slow can make things smoother.

Re: First programming job – a 4 month reflection

#38
post #7

"I've began wondering if all work environments are like this." Yep, it's pretty common (and sad).

Common among government agencies and universities, sure. Fortune 500 companies? Some, but not most. Tech companies? Not so much.

Small webshops are also rife with this kind of programming environment. Mostly because their clients have no idea about code quality and the projects are small enough that you can still just about be productive with terrible programming standards.

Re: First programming job – a 4 month reflection

#39
post #25

All work environments are absolutely not like that. I've worked in places exactly like that and places nothing like that. I'm pretty sure it depends largely on the type of business. Businesses where software makes them money tend to have high code quality and developers that care about that sort of thing. Businesses where software (or IT as they'll call it) is a cost center tend to be like you described. I'm also pre…

That correlation is exactly my experience.

What are examples of companies that have a verifiable 'great software' culture and chose PHP because they prefer the language?

Post reply on HN