Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
My job is unironically wonderful except that it's way more process heavy than it usually is, despite us wanting to have an agile methodology.

Adbot
ADBOT LOVES YOU

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

I acutally was recently upgraded to a 6-core@3.4ghz Xeon machine with 32GB RAM and a 256GB SSD

That was from a much worse machine with like a 4-core@2ghz Xeon with 4gb RAM. I had to expedite the upgrade because I got moved to a new project and the server application wouldn't start due to lack of free memory.

How quaint, you build your code on your desktop.

:smuggo::hf::yayclod:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

HardDisk posted:

The secretary that handles the punched cards isn't the cloud.

Not even if they're heavenly?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

Oh my god.


I finally *get* unit testing.


Why have I not been doing this my entire life, this is so useful :stonk:

Welcome, friend. My your coverage be full and your tests meaningful.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Asymmetrikon posted:

We're finally (maybe) getting version control at my job. Still writing code directly on production servers, but, you know, baby steps.

:gonk:

How in the world do the powers that be rationalize not having version control? I can only assume that means that there's no sort of code review process either.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Cancelbot posted:

More of a rant; Sometime in April we moved from "product" alignment to "project" alignment, despite the business being very much oriented around products; Call centre app, fulfilment, delivery management, stock, Front end website etc.

Teams - Before
- Back-end team had self-forming sub-teams depending on incoming requirements; Big delivery manager project V1.0 was built by delivery domain experts who lived in that team.
- Front-end team built the website, integrated with back-end team through services.
- Marketing do CMS things that integrate with website.

Team - Now
- Teams A through F, owned by a director who controls what projects go into the work stream as they call them.
- Any team can gently caress around in back-end/front-end and is encouraged to do so.

"You may encounter some problems transitioning", let's see:
- Teams now collide with each other; recently having 3 teams work in the same areas and severely loving with the release process.
- Each team has to know everything about everything, if not then its a painful learning process to work out the domain before even tackling the problem. Slowing poo poo down.
- Lack of domain specialism has reduced code quality as you won't be developing in that domain next sprint anyway, so nobody cares about long term any more.

Results; Productivity nosedived, lovely code quality, releases breaking everything, resentment between developers who once worked together and around 4 high profile resignations in the past month. But we must soldier on as we're still in the "forming" stage 8 months on and around 4 months behind.

I wouldn't recommend going to project alignment if your organisation has clear cut products.

I've heard the same criticism from the people I talk to at my last job. They've organized around Streams as well, except that they did this by taking teams of people and just chopping them up so that each Stream has one or two people, which means that everyone is stepping on everyone else's toes all day, and no one has a clear idea of what's supposed to even be happening.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ratbert90 posted:

The gigantic project I am working on had no automated test API's. I finally said gently caress it and started writing them. :smithicide:

I cannot imagine the level of fuckery involved in writing unit tests for embedded C stuff.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ratbert90 posted:

I'm a embedded Linux engineer; so it's not that hard. :v:

I mean more the excitingly unpredictable nature of your compiler, etc

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Find a 20% project, do some codelabs for stuff that seems interesting or relevant, fix technical debt, drink coffee.

Mostly coffee.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Cicero posted:

Officially matched with an intern today! :toot: I feel all growed up!

Awesome, enjoy it. Hosting my intern was a great experience. Just remember to budget like 20% of your time for the care and feeding of their work life.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

At least I'm not worried about not having any work now :shepface:

:toot:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Che Delilas posted:

I will say that I love the work environment once we get the managers out of the room and the devs can work together to break out the work items into individual tasks.

Imagine if they threw a meeting, and nobody came?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Che Delilas posted:

I can imagine it easily: they would abandon agile and go back to giving us commands and hard deadlines and generally involving us in the decision-making process as little as possible. I'd rather the devs continue to have the opportunity to organize our own work, because so far that part of it has been a really positive experience for us.

http://www.quotecounterquote.com/2011/12/suppose-they-gave-war-and-nobody-came.html

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I'm getting into serverside programming after about 7 straight years of doing Android.

:iit:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

That's a bit of a paradigm shift :stonk: what are you finding to be the hardest part of the transition?

So far, the fact that everything seems just kind of magical, in a bad, nondeterministic way, and there's just a ton of stuff to actually get something to the point of testing anywhere outside if your desktop. Obviously, that can come up with Android too thanks to oem mistakes, but it feels like it's such a high barrier to prototype something.

Honestly, I did this briefly before, the better part of a decade ago, and very briefly several years ago to try to support something we were building. It never clicked with me the way Android did. I'm hoping it gets better this time. I have very bad memories of just trying to loving deploy stock Jenkins, no changes, just the loving .war, back at Amazon, and it won't quite be as bad here, but still.

HardDisk posted:

As someone that loves serverside programming, dealing with Android was always a source of frustration.

Welcome to the club. :toot:

Thanks.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Project planning methodologies are only a tool, they can't fix management foul ups.

The best thing you can do is adjust the available time planning for developers that you know will underperform, such as dividing their hours by 4 for the board so that they only get assigned 10 "hours" of work per 40 hours of availability. This way, when they're later with Project Dingle, it doesn't blow your estimates. Similarly, block out 20 hours per week for "dragging the team upwards" for whoever your good developer is, etc.

Make sure that code reviews, tests, etc are accounted for in the effort for each story and task.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Axiem posted:

When I graduated college, Ruby on Rails was still in version 1, and among my fellow students, I'd only heard it once or twice, as a "hey, I heard about this thing, and it's interesting, but not worth using yet" sort of thing. Also, the iPhone wasn't out yet, and mobile was definitely not a thing. Hadoop was not a thing, and I don't remember ever hearing about "big data" in school. We did all of our AJAX calls by hand in my Internet Programming course; at that time, jQuery didn't even exist yet. Neither did node.js. Or Angular. Or whatever the new hotness is. Stack Overflow did not exist. There was no Github (git wasn't even particularly well-known; we used SVN in my one class that mentioned version control). My Software Engineering class focused primarily on waterfall, because agile was "just a fad". We never talked about writing unit tests or anything like that.

Some of that might have been the failure of my professors, but some of it was simply that some things were just not as widely known about in the software engineering world.

That's just the nature of the industry: things change quickly, and new technologies arrive on the scene. It's much less (in my opinion) about whether or not you've used each technology; it's much more about being able to pick up new stuff and keep building. Learn how to keep getting better.

While true, there are things now that are Known that should be taught, but aren't. Rutgers CS STILL does not teach students about version control! Versioning has been a thing for decades, it'd be great if they accepted that it wasn't a fad.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I hope you found the same in the Statistics department :haw:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

comedyblissoption posted:

Working professionals in the industry in general cannot agree on what good software design looks like. "Good" software design is extremely controversial!

Very fundamental aspects of software design like pervasive mutability vs pervasive immutability, use OOP implementation inheritance vs not, or static typing vs dynamic typing cannot be agreed upon.

One thing every good developer can agree on is that they're incompetent and how have they gone this long without anyone figuring this out, I mean did you SEE that module I just wrote? Jesus.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

csammis posted:

Would anyone actually ask this? Real-world read speed and query-to-result is going to be dictated by pressures on the database engine by other queries and memory / tempdb caching, not just table size.

...or did I just give the best answer? :aaa:

TDWTF is littered with examples of terrible developers looking for a row in a table by doing SELECT * and then iterating over the results. Even if the database responded instantaneously, it's still an O(n) vs O(1) operation. As your data sizes get larger and larger, having a grasp on the complexity of your queries and your critical sections can have outsized results.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
It's a breath of fresh air, in general, especially once you learn all of the editing shortcuts. There's a lot of nice little things, like intelligently autocompleting variable names that you're declaring by guessing what you'd call it.

The debugger isn't so good, and the static analysis tools aren't as great as eclipse provides.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Like everyone else said, don't feel bad about putting down 4 hours each for the two tasks you completed in the day. Time tracking can be an absolutely great tool to help measure velocity and see how much time is actually being spent in certain areas, but don't take it too literally, and don't forget that without taking breaks your performance will suffer.

Illegal Move posted:

I'm starting to feel really guilty about this, and I keep thinking that somebody will question me about it and I'll get fired

I guarantee that this will not happen because

quote:

but in reality, my team seems to be really happy with my work.

That's the important part. You're being way more productive than you think.

Also, Imposter Syndrome is a very real thing in our field. Relax, you're actually that good.

Volmarias fucked around with this message at 04:29 on Mar 7, 2016

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

Alright, interview is on thursday - I'm interviewing for a consultant that primarily works with financial systems, what sort of stuff should I be focusing my studying on. I'm a little rusty on my algorithms and I'm guessing a bit of encryption wouldn't go amiss. I haven't started yet because I've been busy studying for exams :v:

What's the job? It should have reqs etc.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I honestly can't imagine doing it. It seems like an amazing way to make sure that you never get into your flow.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Whenever I hear about strict Pair Programming, I think about Bitbucket's Spooning

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Gounads posted:

Touching people is overrated.

Only within the workplace :heysexy:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

metztli posted:

If your code reviews are at all like meetings, you're doing something terribly wrong.

Seriously. Code reviews should be asynchronous, with a direct chat if something cannot be easily agreed upon. Code reviews should happen through a tool dedicated to it if at possible. If you're having Code Review Meetings then something is hosed up.

Of course, nothing can solve incompetent coworkers.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

good jovi posted:

Code review meetings are a really good idea once in a while, especially when you're introducing something new or particularly complex. They shouldn't be the norm, though.

That's what design documents are for. You should design the thing ahead of time, instead of doing it and saying "ok this is how it's going to work, hope no one is confused or disappointed."

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Gounads posted:

I've also been experimenting with holding a design sign-off with marketing to assure it's correct.

Don't bother, the answer is always no, no matter what they say or sign.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
You could also tell your stakeholders that you don't have anything interesting to demo yet this week, but if they'd like to see the hello world page on your whatever as you begin working to come on by, and that future weeks will be a lot more useful.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Khisanth Magus posted:

So, it came kind of down to the wire, but we did successfully complete the important projects that were dumped on me and a colleague after our coworker completely dropped the ball on them. So, yay for that.

In other news, after 10 years of being a lowly code monkey(a position I quite enjoyed thank you), I am now the active manager of a team of offshore developers(some of which used to work onshore so I already knew them), and am also going to be leading an onshore team on another project. All of this happening in a one month period of time. This will be accompanied by a promotion and raise as soon as the new head of IT finishes with his current project of consolidating and defining the different positions in the department, as all promotions have been put on hold until that has been done.

So yeah, that happened...and honestly I kind of feel in over my head for the first time since I joined the software development world. Whee.

Enjoy never coding again.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
The best managers kiss down and kick up, because they realize that their people are the ones making them look good. The worst ones do the opposite.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ratbert90 posted:

The sheer amount of programmers that program in C/C++ that have absolutely no idea how memory works is mind loving boggling to me. :psyduck:

Dehumanize yourself and face towards embedded programming

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ChickenWing posted:

I worry a bit because I want to get into jobs that will likely require decent C++ skills and, while I'm better at pointers than most people I went to school with, I still only took two classes that dealt with C. Core classes were all java, fringe classes were all academic languages (let me tell you about Eiffel :shepface: ).

This Book was pretty valuable when I made that leap as well.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

CPColin posted:

This is what I always try to get at when we interview people: "What was the worst bug you've encountered and how did you go about fixing it?" and "What are some of the first places you look when you encounter code you don't recognize?"

What I want to hear are answers like, "Well, I added some logging, opened the debugger, and..." or, "I banged my head against my desk for ten minutes, then rolled over to my coworker, who remembered seeing something a few months ago..." Basically anything besides "I don't know."

Please don't do this. I can guarantee both that I've worked on some gnarly issues that took days to track down, and that I will not remember them if you ask for examples out of the blue, and will simply resort to a deer stare while desperately trying to remember something recent and then give you a super lame example.

Find a different way to ask this, possibly something like "you've encountered a really strange bug (details go here), how would you try to solve it?)

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

KoRMaK posted:

That sounds like maybe you need to get better at interviewing. The "tell me about a time that X" is a super typical interview question, and is so expected that most people should prepare for it.

In my opinion, it's mostly a meaningless question that gives the candidate room to memorize and train a bullshit response. Amazon officially focuses (or did when I was there) on this kind of question, though they also had training for you to really drill down into the answer and make sure that the candidate actually knew what they were talking about, which was great for the people who were good at that line of questioning.

Asking the candidate "hey can you write this fizz buzz level question" and then watching them fail to correctly write a for loop has been a better use of my time.

Ask me about the cross cutting concerns of interviewing Android developer candidates!

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

rt4 posted:

Wanted: Top Tear Developer

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

smackfu posted:

What's so hard about SVN and branching for every story? Not as lightweight as git but seems workable.

It's totally a thing you can do, it's just that compared to git, it's very heavyweight. If you want to work on multiple branches concurrently on your local machine (e.g. one in major development, two in code review requiring light changes), you have to have multiple copies of the SVN repo, and your development environment needs to point to multiple workspaces. If the compiler is smart enough to do incremental compiles correctly, this means that every single time you create a new branch (which means realistically upwards of several times a day) you're committing to the cost of a full compile. If your development environment is small enough that a full compile only takes a couple of minutes, that's not too bad, but if it's a "go get coffee while you wait" environment, this has a measurable impact on your productivity.

Branch level history also tends to not be as easily useful/interesting as git's graphs can be, too. git log --graph --decorate --all (--etc, see http://stackoverflow.com/a/9074343 and the links therein for a few great examples) can be really neat to look at, depending on your environment.

Volmarias fucked around with this message at 16:05 on Jul 24, 2016

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
My pod is super roomy and everything, and my team basically just wants you to mention that you're not coming in if you're staying home sick (official company policy is unlimited sick days, within reason).

For reference, a former team mate of mine who transferred across the country had their boss pushing them to do deployments while they were immobile at home in bed in a cast. Fortunately, I was able to convince them to change teams, post haste.

Bongo Bill posted:

If you can't think, you can't work. If you can't work, then your job is to recover. The best and fastest way to recover is to stay home and rest.

Similarly, if you being out or being hit by a bus makes that much of a difference to your team's performance, that's not your fault, that's your team's fault for making you a single point of failure.

Adbot
ADBOT LOVES YOU

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

IAmKale posted:

Not to mention the fact that he balked when he saw our CI dashboard showing our build process; there's no CI to speak of with the company's main product and we think a large part of it is the founder's belief that tests "can just be simple python tests you manually run before deployment" :wtc:

The founder also dictated the rest of the stack, declaring that it had to be written with jQuery, vanilla JS, and vanilla CSS.

:sever:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply