Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "peg"
New senior dev joined the project today.
Senior dev: "There's no way for me to test my changes before I merge this into develop"
Me: "Can you at least run our test suite?"
An hour later the develop branch is fucked and everyone who has merged it locally has pages of red errors splattered across their screens whenever they run any tests.
Start looking into what the fuck is going on.
Notice that all the errors are related to changes the new guy made.
Ask him if he ran the tests..
Senior dev: "Nah they wouldn't catch anything locally "
Stare at the stream of red text running down my screen.
Normally I wouldn't care but we were trying to prepare a release... RUN THE FUCKING TESTS ASSHOLE.9
At the peak of the dotcom boom of the early 2000s I had been hired above my skill set because recruiters were desperate to fill seats. I had a pulse and could code even a little so they hired me.
I was the senior web developer on an agency contract with a major corporation working on an ASP (pre ASP.NET) website. I had hired a temp to help me with the workload and one day, in exasperation at my spaghetti code and non-understanding of MVC concepts, he threw his hands in the air and exclaimed, "Do you even know what you're doing?!"
Not having the type of personality to give any subordinate a dressing down for insubordination, I just felt awkward. He was right, of course. I used that as impetus to study more and attend conferences. I'm still a below-average coder because my brain struggles with math and logic. A lot. But that definitely took me down a peg. All those recruiters treating me like I was hot snot on a silver platter when I was really just a cold booger on a paper plate.4
It's disheartening to see a senior member of my team shitting on the code of less mature developers. Don't just say "this is unacceptable", elaborate, teach them. How are they going to action anything from that feedback?
Take the time to respond to their questions when they ask for clarification on what you're saying. Don't berate them.
Honestly some developers need to learn a thing or two about code etiquette.
There's no room for good cop / bad cop behaviour.10
Talking with colleagues earlier about dealing with a cocky intern:
"Ah, I had one of those last year. I told him to make sure when using the find command, always use the -delete flag to clear up any temporary files it creates while it's searching."
"Man, that's harsh. Did that take him down a peg?"
"Nah, not at all, but he never spoke to me again after that, so I'm calling it a win."2
Get your code reviewed by as many good devs as you can. Tell them to be harsh, swallow your pride, expect the code to be torn apart. Then rinse and repeat.
It brings the "know it all" fresh grads down a peg or two, and often brings those with low self esteem up a peg or two (when they realise their code is better than they thought.) Anyone can write code that works. But writing decent, clear, well-tested code that stands up to scrutiny is a different ball game - and it's important to learn that quickly.3
Surprise surprise, that unrealistic deadline you set even when the engineering team told you that it wasn't going to work has backfired! Maybe you wouldn't be so stressed if you learnt to listen? It's a pretty basic skill, or at least I thought so.
Oh and when you say "we have two options, stay late or work weekends" you have a critical bug in your conditional. Your missing option 3, go the fuck home. Time to enjoy my weekend with friends and family.4
"The client has an important meeting next week! You have two days!"
If it's that important why are we just hearing about it...6
There’s a special place in hell for fuckwits who create tickets and don’t include the fucking error message.8
Boss: Use the same template that site [X] is using for this project.
Me: [X] is WordPress. Our project is asp.Net/C#. I can't
Me: You can't put a round peg in a square hole!
Me: [thinking about mortgage] I'll do it.
Boss: Why didn't you say so in the first place?
Me: [die a little inside]7
Need some opinions. Joined a new company recently (yippee!!!). Just getting to grips with everything at the minute. I'm working on mobile and I will be setting up a new team to take over a project from a remote team. Looking at their iOS and Android code and they are using RxSwift and RxJava in them.
Don't know a whole lot about the Android space yet, but on iOS I did look into Reactive Cocoa at one point, and really didn't like it. Does anyone here use Rx, or have an opinion about them, good or bad? I can learn them myself, i'm not looking for help with that, i'm more interested in opinions on the tools themselves.
My initial view (with a lack of experience in the area):
- I'm not a huge fan of frameworks like this that attempt to change the entire flow or structure of a language / platform. I like using third party libraries, but to me, its excessive to include something like this rather than just learning the in's / out's of the platform. I think the reactive approach has its use cases and i'm not knocking the it all together. I just feel like this is a little bit of forcing a square peg into a round hole. Swift wasn't designed to work like that and a big layer will need to be added in, in order to change it. I would want to see tremendous gains in order to justify it, and frankly I don't see it compared to other approaches.
- I do like the MVVM approach included with it, but i've easily managed to do similar with a handful of protocols that didn't require a new architecture and approach.
- Not sure if this is an RxSwift thing, or just how its implemented here. But all ViewControllers need to be created by using a coordinator first. This really bugs me because it means changing everything again. When I first opened this app, login was being skipped, trying to add it back in by selecting the default storyboard gave me "unwrapping a nil optional" errors, which took a little while to figure out what was going on. This, to me, again is changing too much in the platform that even the basic launching of a screen now needs to be changed. It will be confusing while trying to build a new team who may or may not know the tech.
- I'm concerned about hiring new staff and having to make sure that they know this, can learn it or are even happy to do so.
- I'm concerned about having a decrease in the community size to debug issues. Had horrible experiences with this in the past with hybrid tech.
- I'm concerned with bugs being introduced or patterns being changed in the tool itself. Because it changes and touches everything, it will be a nightmare to rip it out or use something else and we'll be stuck with the issue. This seems to have happened with ReactiveCocoa where they made a change to their approach that seems to have caused a divide in the community, with people splitting off into other tech.
- In this app we have base Swift, with RxSwift and RxCocoa on top, with AlamoFire on top of that, with Moya on that and RxMoya on top again. This to me is too much when only looking at basic screens and networking. I would be concerned that moving to something more complex that we might end up with a tonne of dependencies.
- There seems to be issues with the server (nothing to do with RxSwift) but the errors seem to be getting caught by RxSwift and turned into very vague and difficult to debug console logs. "RxSwift.RxError error 4" is not great. Now again this could be a "way its being used" issue as oppose to an issue with RxSwift itself. But again were back to a big middle layer sitting between me and what I want to access. I've already had issues with login seeming to have 2 states, success or wrong password, meaning its not telling the user whats actually wrong. Now i'm not sure if this is bad dev or bad tools, but I get a sense RxSwift is contributing to it in some fashion, at least in this specific use of it.
I'll leave it there for now, any opinions or advice would be appreciated.16
Nothing shits me more than being interrupted every two hours for a "huddle". Shove your buzzword up your ass and fuck off so I can actually get some work done. What am I currently working on? The same fucking thing I was doing before you interrupted me again for a status update.1
So I did this https://devrant.io/rants/797965/... which works fine until medium sized data.
However for large data the ETL pegs a 6 core Xeon (2.2GHz) with 50GB of ram. Because of it ends up doing six threaded compares, so 12 different data sets. Other than "pull less data", any tips?
Code (C#) is basically a Linq multi column join between two DataTables and when the compared columns don't match it returns as a var which is turned into a third DataTable to be SqlBulk loaded into the DB.
Table1 is external API return data (no windowing) and Table2 is from our DW.7
Stop shoving Django admin down everyones throat as a client facing solution every time we need any admin functionality.
It’s great at first but then you have to dick around customising it when you could build the same thing with any modern frontend framework and REST API easily.
Not to mention Django admin couples the models to the view it provides you (inlining particular models given their relationships)
For a while my social life was fuck all due to death marches and poorly managed projects. I’d be so exhausted by the time the weekend rolled around that I just didn’t want to do anything.
Sticking to a healthy work schedule and prioritising family and friends after an 8 hour workday did wonders.
On weekends I just tell me wife that I want to look at technology x for a couple of hours and we plan our day around that.
Also, finding social events I want to attend like DnD made a huge difference.