Programming as a career

Message Bookmarked
Bookmark Removed
Not all messages are displayed: show all messages (810 of them)

Are there any decent size development teams/companies that are not agile?

Working at a startup is such a gamble.

John Jacob Jingleheimer Schmidt, Monday, 8 April 2019 20:23 (five years ago) link

everybody says they are agile, no matter what their process or lack thereof is

moose; squirrel (silby), Monday, 8 April 2019 20:44 (five years ago) link

This is all very useful. Thanks everyone!

Mr. Snrub, Monday, 8 April 2019 20:48 (five years ago) link

has it gotten to the point where college students interested in software engineering are warned that this kind of thing is actually going to be a major part of their day-to-day, or even forced to take courses on it?

because those poor saps who are just into coding and wanna code for a living, lol

j., Monday, 8 April 2019 20:59 (five years ago) link

I'm in favor of any process which prevents code from getting written

moose; squirrel (silby), Monday, 8 April 2019 21:07 (five years ago) link

I was told from my first CS course that all the coding is done by subsubcontractors in India

brimstead, Monday, 8 April 2019 21:19 (five years ago) link

In my experience, coding is probably only 40-60% of your day to day anyway. Unless you’re on a refactoring spree, I guess. But so much time is already wasted in meetings planning, strategizing, designing, redesigning and generally trying to communicate

Communication is such a huge part of the job and a skill that hardly anyone tells you going into this line of work that you really need to work on, I think.

John Jacob Jingleheimer Schmidt, Monday, 8 April 2019 21:21 (five years ago) link

my job is p much to do the communicating on behalf of our programmers but i also get the coffees

fremme nette his simplicitte (darraghmac), Monday, 8 April 2019 21:22 (five years ago) link

You want to move to the states, darragh?

I've been starving them, teasing them, singing off Leee (Leee), Monday, 8 April 2019 21:50 (five years ago) link

cant afford to, the pension here is just unfuckwithable

fremme nette his simplicitte (darraghmac), Monday, 8 April 2019 21:53 (five years ago) link

The rise of DevOps is insidious too. I can spend whole days doing cloudformation templates or worrying about cnames. That's no fun.

koogs, Tuesday, 9 April 2019 03:46 (five years ago) link

has it gotten to the point where college students interested in software engineering are warned that this kind of thing is actually going to be a major part of their day-to-day, or even forced to take courses on it?

because those poor saps who are just into coding and wanna code for a living, lol

― j., Monday, 8 April 2019 13:59 (eight hours ago) Bookmark Flag Post Permalink

I was told from my first CS course that all the coding is done by subsubcontractors in India

― brimstead,

I keep reading this, but 80% of my job is writing code for new features, 10-15% fixing bugs or fishing information out, and 5% any of this other stuff. standup is done in slack

cherry blossom, Tuesday, 9 April 2019 05:52 (five years ago) link

Do you mean devops as a job function or title? I barely have to deal with that because we have a dedicated devops, and any other infrastructure stuff that touches code gets handled by our lead developers.

I'm getting more responsibilities at my current place, meaning more meetings, and I've gotten a reputation as the unit tests guy, so now I get more pull requests too. I'd say writing code, either for new features or tech sent, is 60-70% for me right now.

I've been starving them, teasing them, singing off Leee (Leee), Tuesday, 9 April 2019 06:19 (five years ago) link

devops, the way it used to be two jobs, both with largely different skill sets but is now one. i'm now supposed to be an expert on, i don't know, machine cofiguration and dns, rather than just software, stuff that people have years of training in but which i just google.

i get the nasty feeling that new team lead has just assigned himself the bits of software that haven't been written yet and is going to do them himself. which strikes me as... indelicate?

koogs, Tuesday, 9 April 2019 08:44 (five years ago) link

^ he did. Changed about a dozen files that we were working on yesterday, introduced new idioms into the code, used an editor that changed the whitespace on empty lines so that the diff was twice as large as it needed to be and then got another member of the team to review it. Didn't involve us at all. Just rude and it has fucking annoyed me.

koogs, Wednesday, 10 April 2019 06:38 (five years ago) link

I'm in a team that's basically enterprise services for our department -- providing things like queuing, workflow, etc. engines and pushing things like data governance so everyone can write code that uses the same concepts across development groups

learned last week at a conference that agile processes fucking up groups like mine is nearly universal. coordinating with other teams, even when multiple groups are working in the same realm, is something agile development groups refuse to do. so while it's kept project scope reasonable and kept groups on-task, it's a complete nightmare from a data analysis and reporting standpoint if anything works across multiple development teams

we're going to end up taking the carrot/stick approach: if you want to use the larger scale tools that make your development cycle easier, you're going to have to coordinate with the data governance committee

mh, Wednesday, 10 April 2019 18:08 (five years ago) link

Trying to keep track of all these different approaches and philosophies to software development/design is overwhelming. You’d think this would be the kind of thing we’d have learned about in CS school but no, we learned about AND, OR, and NOT gates.

Mr. Snrub, Wednesday, 10 April 2019 20:55 (five years ago) link

trouble is nobody actually knows how to develop software so it's impossible to teach

moose; squirrel (silby), Wednesday, 10 April 2019 21:04 (five years ago) link

otoh my work sends me on all these courses

i cant program for shit obv

fremme nette his simplicitte (darraghmac), Wednesday, 10 April 2019 21:08 (five years ago) link

learned last week at a conference that agile processes fucking up groups like mine is nearly universal. coordinating with other teams, even when multiple groups are working in the same realm, is something agile development groups refuse to do. so while it's kept project scope reasonable and kept groups on-task, it's a complete nightmare from a data analysis and reporting standpoint if anything works across multiple development teams

i've never seen collaboration team to team across a big overarching project work well, dunno if it's even possible. i'm more on the design/user experience side, mainly writing content based on research and working closely with interaction designers, and while there are reusable things and some general stuff that can be shared, i've also seen the pressure to treat the work like a patchwork quilt can end up totally ignoring the needs of users. i've learned to an extent, unless something is completely absurd, that if something appears odd or illogical to me in a project i didn't work on, there's a good chance it's fixing something that came up in user research that i didn't see. i mean, unless every element seems odd, then it might be just crap.

it could be i've never seen this collaboration work well because again, the people doing it are middle managers doing roles that require knowledge they don't have.

FernandoHierro, Wednesday, 10 April 2019 21:12 (five years ago) link

i mean i know in theory you have some flat structure with everyone dovetailing perfectly but i've also never seen that, seems to me you need some people who are good at facilitating collaboration and whose job it is to join the dots between things. but it always seems intensely difficult and complicated. planning one project is hard enough without another 20.

FernandoHierro, Wednesday, 10 April 2019 21:13 (five years ago) link

among the reasons why software should be developed by teams of two or three programmers and a manager embedded with every non-software organization doing almost anything instead of in huge software companies

moose; squirrel (silby), Wednesday, 10 April 2019 21:17 (five years ago) link

trouble is nobody actually knows how to develop software so it's impossible to teach

― moose; squirrel (silby)

trouble is nobody actually knows how to make software engineers rigorously follow the standards so it's impossible to implement anything elegantly.

nickn, Wednesday, 10 April 2019 22:21 (five years ago) link

if software developers were rigorous thinkers they'd be real engineers, for like bridges or something

moose; squirrel (silby), Wednesday, 10 April 2019 22:22 (five years ago) link

Hey now! [insert gif of the Tacoma Narrows bridge here]

nickn, Wednesday, 10 April 2019 22:24 (five years ago) link

Seem to recall something on Coding Horror once about how the majority of people who code never really get any better at it.

Theorbo Goes Wild (James Redd and the Blecchs), Wednesday, 10 April 2019 23:00 (five years ago) link

the software architecture conference I went to a few years back was enlightening!

at that level, it's all larger patterns, largely platform and implementation technology agnostic. that's obviously an approach that's hard to stick to when your in-house people immediately jump to the same bucket of tools, but there is the possibility of a pure vision

re: Fernando's comment about a big overarching project, our problem is that the entire business, which is a research-to-commercial pipeline, is in effect *one project*. so in order to gather metrics on the entire process, from the conceptual phase through the pipeline, you need a solid data model or there's no traceability. instead, we get a series of task systems that are single-purpose with minimal handoff between them

mh, Thursday, 11 April 2019 13:48 (five years ago) link

if yall think agile is bad, pray you never have to work at a place that implements SAFe

diamonddave85​​ (diamonddave85), Thursday, 11 April 2019 14:44 (five years ago) link

Moysey certainly couldn't manage it

cherry blossom, Thursday, 11 April 2019 15:15 (five years ago) link

Underlying principles of SAFe

1 Take an economic view
2 Apply systems thinking

Andrew Farrell, Tuesday, 16 April 2019 15:28 (five years ago) link

We had some SAFe ideology at a previous employer. The concept as a whole could never fly because developers still had a strong say in how to manage projects.

John Jacob Jingleheimer Schmidt, Tuesday, 16 April 2019 21:59 (five years ago) link

Hey, do this thing, it's quite urgent.

Ok, here you go.

Thanks, here are 6 pedantic review comments to slow you down...

Gah!


String processRequest() {
// do something here
// and here
String messageId = sendReply();
return messageId;
}


void someMethod(String input) {
if (input != null) {
// code that does something with input
}
}

koogs, Tuesday, 30 April 2019 11:44 (five years ago) link

(
the crime in the first one is that i could just return the result from sendReply, i don't need the local variable. the local variable makes it clear what the return value is and allows you to attach a debugger to something should you need to debug it.

the crime in the second one is that input cannot be null because the calling method has already checked it. i see no harm in checking it again just in case. also, you can't guarantee that future methods won't call this method with a null
)

i hate the nitpicking that is rife in programming. is it a male thing, i wonder. men will argue over anything.

koogs, Tuesday, 30 April 2019 11:51 (five years ago) link

I'm with you on point 2. what if someone else changes the calling method so it no longer checks for null?

thomasintrouble, Tuesday, 30 April 2019 11:58 (five years ago) link

Never submit anything 'perfect', always leave a little low hanging fruit. Though goes more for QA than PR!

cherry blossom, Tuesday, 30 April 2019 12:00 (five years ago) link

code looks fine on both of those, people need to stop nitpicking

if it’s some public library that’s on github or w/e maybe standardize the style a little but, on the other hand, Microsoft’s samples for their Azure services that they publish on github is much worse

mh, Tuesday, 30 April 2019 12:15 (five years ago) link

*are much worse

mh, Tuesday, 30 April 2019 12:15 (five years ago) link

I wish those were the types of issues that came up in code here!

Colonel Poo, Tuesday, 30 April 2019 12:32 (five years ago) link

that's my point - they aren't issues 8) why flag them and delay the fix that they wanted in the first place?

meanwhile, the new team lead, see above, is stinking the code up with cryptic syntax and bad config file formats but has such a superiority complex that he won't listen.

koogs, Tuesday, 30 April 2019 12:48 (five years ago) link

yeah I don't mind either of those. we deal with a lot of 3rd party software that uses our stuff so the more null checks the better.

also like it when code is easy to debug. I always get irritated when people write one line methods that invoke five separate calls, which can be really irritating to debug when something goes wrong. though Java 8 streaming and lambdas sorta encourage you to write this way, I've (luckily) never actually had a problem with those...they're like the one thing that actually work exactly how you want them to

frogbs, Tuesday, 30 April 2019 13:22 (five years ago) link

the impossible bargain of using higher-level APIs that just work 90% of the time versus the struggle to wean people off them when you've outgrown that use case

mh, Tuesday, 30 April 2019 13:29 (five years ago) link

My life has become easier due to recent versions of Eclipse (the Java IDE we use) having a debug variable for "that function we just came out of returned this!"

Andrew Farrell, Tuesday, 30 April 2019 13:39 (five years ago) link

I would have probably asked you to put in a null check if your method didn't have one. As much as possible you should never assume that any checks are going to be made before a function is called. This is basic stuff I would think.

First one is definitely a pointless nitpick.

silverfish, Tuesday, 30 April 2019 13:47 (five years ago) link

had a fun time refactoring something yesterday...we call a module which returns a bunch of class codes, which has four components...two numeric codes, a description, and an indicator. for whatever reason the programmer decided to return this as an UnmodifiableVector of String[], which you have to read vertically (vec.get(0)[index] + vec.get(1)[index] etc) to return a full result...which I guess worked fine until we had to filter some out. I don't understand why people don't just create objects for stuff like this. Creating objects makes your code so much more readable and it is also fun and rewarding

frogbs, Tuesday, 30 April 2019 13:52 (five years ago) link

I definitely agree that anyone nitpicking over this code has too much time on their hands. For the second, my personal preference would be to reverse the logic of the null check- ie if it’s null, throw- to reduce nesting, but I wouldn’t ever ask anyone to change it.

o. nate, Tuesday, 30 April 2019 13:56 (five years ago) link

I've really started to like the defensive coding strategy where the entire first section is null checking, validation, etc. and then the rest is just "do stuff"

also lets you throw the right exceptions more easily

mh, Tuesday, 30 April 2019 14:05 (five years ago) link

That vertical string array is one of the craziest things I've ever seen.

Andrew Farrell, Tuesday, 30 April 2019 14:56 (five years ago) link

i hate the nitpicking that is rife in programming. is it a male thing, i wonder. men will argue over anything.

IME reviewers do this when they don't feel like they have any other substantive to add, whether it's a gendered thing idk!

Perfect Leee Cromulent (Leee), Tuesday, 30 April 2019 16:48 (five years ago) link

True, I've done it myself, just to prove that I've read it in detail. But always try to phrase it as a comment rather than something that's wrong and must be changed

Certainly I don't keep insisting it's a problem after the writer has explained his reasoning, as happened here. (For example, I said that I used a local variable because it makes using the debugger easier and I was told that I should instead set a breakpoint in the calling function and use the special return value thing in the variables window. My way I get to *mouse over* the variable name *in the method i'm debugging*, no extra windows taking up screen space, nothing. Plus it explains what the return value is, whereas the method name isn't always obvious)

koogs, Tuesday, 30 April 2019 18:31 (five years ago) link


You must be logged in to post. Please either login here, or if you are not registered, you may register here.