Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "good habits"
-
Every day.
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28 -
TLDR: I wrote one of my firsts codes to help my father. Was really excited after it worked, nobody cared. F*ck them (not really).
So my father comes and says he needs me to help making a simple presentation. Just a title and slides with images. It seemed to be an easy task so I'm like "sure, why not?". So I told him to email the images and I would have the presentation made in no time. The next day I recieve like 30 mails containing from 4 to 10 photos of boats (yes, boats). I stay chill and have the brilliant idea of automating the process with python, just to learn a bit more.
I took some to read the documentation of the modules I was going to use, then write a simple code and bam! In 3 hours I have a presentation with images in it. I open it, every image was 4 times the actual slide and all of the images were randomly rotated, it still was the most rewarding moment I've had in months :') I wanted to show it off to my brothers, so they came to my desktop, saw it and all I recieve was a "cool". Not a good "cool", a "meh" kind of "cool". So I thought it was because of the size bug.
Fastfoward some hours, now every image gets scaled into the slides prefectly, in the correct angle, etc. I tell my dad what I made and he says "yeah sure, the problem is that I need you to give them to have subtitles". He wasn't even impressed. My heart hurt a bit.
I could totally automate the subtitles too (and did it), but what hurt the most is that nobody cared for what I was so pationate about. I'm so fascinated with coding that it replaced all my gaming habits, and now all I do is learn. I want to dedicate a good portion of my life to this but at that moment it seemed nobody in my family cared about it. So this rant is for all those f*ckers that I love but don't know how much my code means to me.21 -
I was thinking today about a certain aspect of running a software startup and then it came to me...
Hank Scorpio, from the Simpsons, was right in his approach.
So many time I have seen people get hired only for the company to get a less-than-optimal performance from them.
But why is this? Of course, it is many factors but one of the major ones is...
Employers seem to lump employees in together and assume that since most developers operate in one way that the new devs should be the same way.
The problem with this seems to be that we are all pandering to the lowest common denominator.
Let's face it, most devs (like most people) are not good, and almost everyone is not living up to their potential because of a lack of understanding of themselves and how they can achieve more.
On top of that, most devs are just employees who will do what you tell them to.
Since those above developers are the norm (Reference Seinfeld "95% of people are undatable") we have to assume that there is a 5% who are exceptional.
The difference between the 5% and the 95% is NOT some built-in superiority but that the 5% has a good idea themselves and an understanding of how to get the most out of them. They set goals and then find the right path to achieve them. They don't coast.
By assuming these developers are the same as the others is REALLY hampering their potential and by doing this the company only hurts itself.
So, that's a lot of talking but what actionable things can be taken away from this?
Hank asks Homer "What is your dream?"
Well, employeers should take the time to identify which of these developers are in the 5%. A problem arises though when the 5% decide it is in their best interest to blend in.
Like when home says his dream is to "Work for you?" Hank shuts him down and wants to get to the truth. He makes Homer comfortable with not only vocalizing but achieving his dreams.
When an employer is looking for their types they should be looking for the following...
1. A real genuine desire to achieve
2. A real plan to get their goals done
3. Critical thinking and self-evaluation
But more importantly, when they identify these types they should be asking questions like...
- How can we help you be more productive?
- Is there anything about our current operating norm that is hindering you?
- How does your productivity workflow look?
3 difficulties arise though…
1. Most hiring managers are incompetent, and quite frankly, everyone thinks they are in the 5% and for those managers who delude themselves into this without putting in the work, they will have an impossible time actually identifying those who are actually good and productive employees.
2. Showing special treatment to these folks may upset the people below.
3. You will hear things you don’t like…
Examples include…
- That new fancy open-office that you got because it was the trendy thing to do, you might hear that this is a huge hinderance.
- These days people seem to treat devs like nomads, “just give him a laptop and a table and he is fine”!. You may hear that this is complete BS. Real achievers may want a dedicated desk with multiple monitors, a desk with drawers etc.
- This WILL cost you money. I know of developers who cannot work without a dedicated whiteboard. Buy them whatever they need.
- They may want BOTH a standing desk and a chair to sit on.
- Etc.
The point is that it seems to me to be a foolish strategy to tailor your entire company to force everyone into the same work habits. Really good employees have the self-awareness to develop their own productive practices and any keeping of them inside a box will NOT help.27 -
I hate my job. I am furious at my colleagues.
Last November I asked my colleagues (A and B) to help me learn to use something, let's call it Tool. They said okay and set a date for training. Next week they said that they had too much work to do so we'll have to postpone. And the next date was also postponed and the next one too, and so on.
Three months in, colleague C kept dicking around and being a complete jackass telling me that he refused to work with me for I don't use the Tool.
Not like I didn't want to learn to use the Tool, I simply couldn't. I have long before googled how to use the Tool but in no way can Google ever tell me about our own company workflow, our methods, habits and such.
I was furious, but I am also a the most fucking patient person ever so I let it slide. The Tool wasn't actually needed that much to do my job anyways. And I have known for a while that colleague C needed to push someone under him to feel good about himself.
A few more dates had been set but got cancelled for reasons.
Meanwhile both A and B started to look down on me for not knowing how to use the Tool. I started to feel depressed.
Today B held a "workshop" about the Tool. It took two hours. He was not prepared, had a hangover and generally had a hard time concentrating.
He used aliases that he set up only for himself to show the usage of the Tool instead of commands that a beginner would understand (or google). He kept mumbling and I hsd trouble understanding him. His lecture lacked direction and was all over the place.
I am devastated and furious. I had been waiting since November for this training and when the time actually came he pulled something out of his ass and called it a workshop.
I didn't even get answers for my questions.
Now I feel that I am actually in a worse position than before because while I still cannot use the Tool, they can tell me that there was a workshop and I should've paid closer attention.
I want to quit so bad.23 -
Got a call from Google!
Asked for two months to study: Discrete mathematics, Calculus, introductions to algorithms, design patterns, CTCI and linux/unix OS workings in general.
I know I'll be banging my head against the wall and I don't have my expectations too high. But regardless I feel like this is a good excuse to speed up my studies and push myself in the direction I want to go already. It'll be a win-win even if I don't land the position because I'll definitely gain a ton in the process of preparing.
I will be expose to all of this material (except for calculus because I've been learning it for a couple of months) for the first time so I know it'll be a challenge and I am looking forward to it.
If any of you have any tips on good study habits that'll be much appreciated; I currently like to read most of my material and supplement with videos/tutorials... Khan is great but they lack material on discrete mathematics unfortuantely. Thanks in advance!
Wish me luck (:8 -
Once one of my coworkers tried to prank me while i was afk and changed a line in my code.
Good old habits of mine instantly realized the file's unsaved status and i could ctrl+z without even knowing someone edited my code.
Don't mess with a developer. We know our shit.2 -
Idea: if I want to be successful, I need to have good habits, because I am in autopilot mode 95% of my lifetime.2
-
Mail: Meeting about new benefits from working at <COMPANY>. Estimate duration: 1 hour.
Me: Alright, I'll bite. Might even be something I can use.
HR person in said meeting: At <COMPANY> we'll reward you for being healthy by giving you a better life insurance.
Me: Sounds good and reasonable but you also said this didn't require a physical so how...?
HR: Install <APP> on your phone to keep track of all your healthy habits
Me: Wait wha-
HR: Generate our own brand of crypto currency by linking in all your other health apps like google health, and (lists 4 others), goes towards your life insurance and you can even donate water, food or books to the less fortunate! You DO want to help starving children, right?
At that point I just disconnected. I'm not paid to take part in a corporate crypto scheme.5 -
This rant has been one that I've been wanting to rant about for a while now. Me being drunk as fuck right now (mind, stay awake!) doesn't really help, but meh.
At least Wanblows was able to install its "features" properly... Except it wasn't, being the featureful ShitOS it is.
I want to rant about privacy. Not about "nothing to hide, nothing to fear". That's been ranted about plenty by the MIcroshaft-loving folks as well as the privacy-aware opposition. Rather, I'd like to rant about the privacy-concious.
I am a privacy-concious-person, with his current status quo being that he doesn't yet know a privacy-concious solution to every data-intrusive "common solution" out there. So I tend to value privacy next to De Lijn while sharing location data to Google with Google Maps. Point is, I do not know privacy-concious solutions to everything out there yet. So I use the convenient over the privacy-aware.
(after review while drunk I was unable to make sense of this)
In the privacy-aware circles I tend to see that it seems to be black and white. You share your data with Google, yet you oppose data collection by local institutes? WRONG!!! YOU MUST BE A TINFOIL HAT!!!
No, seriously I don't want to share my data with Google. Just that they're the only realtime navigation platform with decent UI out there that I know of right now.
Privacy isn't all black and white here. I block any intrusion that I'm able to, anything else I abide to, while awaiting a good alternative that does respect my privacy which I would gladly use instead. That does not imply that "I have nothing to hide". I do, and I have a lot to hide.
So that makes up the black and white nature of privacy, which is a fallacy. Another one is the whole idea of "I have nothing to hide" to begin with.
If you have nothing to hide, would you be comfortable with sharing your location data (IP address, habits, common trends, etc) with me? To share your information with me, to have your contacts share your info with me, without your consent? Of course you wouldn't. But that's what's happening right now.2 -
I’m a devRant virgin and also a new dev so...
Anyone got any general tips for a newbie? For example, what are some bad habits that newbie devs should avoid picking up? Good habits?30 -
Why so much hate for Windows? I can do all the scripting that I do on Linux on Windows as well. AutoHotKey for the win! In fact, the hacks that I can do on Windows directly cannot be done on Linux unless I have the terminal open. I'm still learning, yeah, so I'll learn how to do that in due time, but I've never had any issues with drivers, software issues, or security threats while using Windows.
And Windows Defender is so good now! I don't need an antivirus. Well, good browsing habits and common sense is enough of an antivirus so it's a moot point anyway.
Either way, I like embracing the power of AND. Why choose? I love both Windows and Linux!26 -
So I am finally plunging into continuous integration. If I make one more deploy script mistake, I've lost enough time to merit having learned a better solution than bash scripting calling git and rhc and py files I wrote. I have failing tests that are failing because they weren't updated after the million and a half urgent changes in the past 2 months, so it's time to act like I am a TDD fanatic and write the tests correctly. So much work. All from me listening to the constant req changes, listening to the urgency, letting non-devs get under my skin if you will. I'm optimistic in all the wrong places - I think I can write that by end of day let's try it. I'm lazy in the wrong places - I think that I can write that test later, because all I changed was XYZ (which took all night but I said I'd get it as close as possible didn't I?). And I think these handful of bash scripts are good enough to make sure I run tests? But remember, I didn't write the tests or I didn't go back and update them. Or the tests that fail, I'm too lazy. And so much of the tests, I would need to use, idk selenium for, and damnit if I really don't want to dig for element IDs to wait for every time I need an AJAX call.
Okay wow, I really did rant here. And discredited myself a bit lol I need to ignore the wrong lazy and embrace the right lazy. Protect myself from myself and from contributors. It really is, up to me now, to rescue myself from my bad habits. Bad habits perpetuated by clients urgency every day, to change things, that should have been finalized in November if we wanted a stable flipping system in January. It feels like the blind (client) leading the blind (me, when I do dumb shit like rush features out the door half tested).
Anyway all this came out, because I have been reading about continuous integration and stumbled upon this quote. And thought someone might laugh at the anachronism like I did2 -
*sigh*
So we have this supervisor that I’ve mentioned before in my previous rant(read if interested). This man has been a pain to my side since I started working here. He does a phenomenally good job at being a douche bag and he has the need to resort to screaming and yelling if you happen to disagree with his methodology in any point of you. He likes to make fun of and be little you as well. Oh and I’ll mention he does it in front of all your co-workers. All bad habits and even less from some one in a supervisor position.
I think I’m a pretty reasonable guy, I try to get my work done only asking for help when absolutely necessary ie idk what’s going on or I’m stuck. This guy has the bad habit of breathing over your shoulder while you’re working......... Anyway I hit a breaking point today and waited til he was in his office to confront him.
I asked to walk in politely and asked if I could close the door it was a personal matter. After I sat down and vented to him explaining that what he’s doing with this egotistical persona of his is wrong and it’s creating an environment that cause everyone to feel like shit thus cause lowered work efficiency. I told him that belittling and offending is a bad tactic and that we are grown ass adults. It shouldn’t be necessary for you to yell or make fun of me, shit if I wanted to eat yelled at I’d go home to my father. He’s allowed this guy is not.
Well cutting it short I finished the convo and he didn’t say much just agreed with some points and stressed others that would be too much to mention. I’m not dumb either I recorded the convo just in case he tries to pull something. But I get the feeling like this is gonna turn out really well or it’s gonna go south.
Just wanted to rant to the rantFam first.
I’m done now.6 -
Point out that removing a "include charger" option from the new iPhone package is not appealing to users with conservative spending habits (me) and users who plan to transition from android to IOS.
"AhaHah you must be poor, poor ppl can't afford to consoom new products every year, I don't care about no chargers AhaAha"
"It'S JuST $30 jUst Buy One @ the StOre"
This is why apple users get a bad rep, apparently not tossing a perfectly functioning phone into a landfill every year makes you poor. My phone doesn't use the new chargers because I actually made a good purchase that has lasted for around 4 years and the only other apple product I own is a macbook, people like these (ain't a few), make me ashamed to be an "apple user" whatever the fuck that means.12 -
Work office, using xencenter for viewing xenserver server, tailing some logs and manjaro (arch linux) for bash stuff, and a coffee for good habits hahaha4
-
What should I do to practice being a "good coder" vs a "code Googler" who slaps other people's code into the site just because "it's enough to get the damn thing working"?
I feel really overwhelmed with all that Ive learned thus far. At this point I feel width with know depth when it comes to my knowledge of websites.
I've been messing around with html/css/js for a while and played with plenty of other languages,pre-processors, frameworks, etc. I never went to school for programming and have done work for small businesses independently for some time. Most of what I know comes from codecademy treehouse and similar sites. I can refer to Google on a lot of things but I feel like there are habits that I should be implementing so I don't have to re-do things later. I love the book apart series but I still feel like it's missing the foundational knowledge that I'm looking for.
After all of the time I've spent going through courses I feel like my experiences have given me solutions to build a few things and now I'm just jamming those solutions onto whatever I can until something I like comes on to the browser.
It's really easy to sit down and bang my head against the keyboard until something comes out that looks the way I want it to. However, I know there is way more going on that could help me make better decisions. I just feel like I'm missing something. Maybe it's experience, or maybe it's just the lack of commroddery from working alone and not being able to approach problems with a team.
I hate pulling up my css file and feeling like it's rubbish, and feeling like I don't completely understand things like flex, or display, or position. I've been pushing at this for a while but I don't think I've found a resource that has really made me feel like I'm anywhere close to being a competent coder.
There are tons of watch and learn and do type classes that show you how to make stuff, but I guess what I want to know now is why we make it that way.
At some point do you just sit down and read the MSN start to finish?
I wonder sometimes if my brain has been reprogrammed because I grew up in Google world and don't actually have to solve anything for myself. I read about a guy who locked himself away for hours with books on code and he just sat there and wrote his code on paper until he was confident that he was getting it right.2 -
In reference to Berkmann18's complaints about his flat.
https://devrant.com/rants/4644209/...
1. found a business that does apartment listings in the style of social media.
2. focus on helping people find less-shit room mates. Like yelp, but for assholes.
3. make your money on helping millennials and gen-z manage and automate rental payments, because both those generations HATE having to look people in the eyes, having to ask for money, or anything involving negotiation. Automate the pain, monetize their avoidance habits.
4. Dashboard for splitting bills, handling rental and sub-let agreements, and divying up rental payments.
5. Get paid by geolocated advertisers for small business services, e.x. roof repair, plumbing, lawn mowing, pool cleaning, etc.
6. That positions you to do strategic partnerships with companies that provide platforms for small business providers, like angieslist.
Had this idea a while back but pursuing something else and just wanted to put it out there for people more capable than me. Lot of great developers out there that beat around for good ideas, and then there are a lot of people with good ideas who don't have the skills to implement.
Call it flattmates, or snagahome, or something like that.
On the offchance anyone decides to go for it, and you get funded, hire me to do grunt work, thats all the thanks I want.
Also I accept payment in blowjobs and beer.3 -
Hi DevRant ! So me and my friend want to make an app. Just to see how it's done. We're both are okay with C, just learnt Java and we're looking for advices.
Do's and don't, how to get started, good habits to pick up, anything would be appreciated !4 -
Is there a good place to post code and have people comment on the style or the logic? I'd love to start getting feedback on my code and break bad habits before they become too ingrained. Plus, our first project is a blackjack game, I'm working through it pretty well but I'm a little stuck and I think it's completely because I'm paranoid I'm not doing it well/right (even though I probably am).2
-
!tech (sorta)
I am a 24yo Software Engineer guy and had just started working professionally 2 years ago, and most of my work life went in WFH due to covid. Before that, my college was also near to my home, so i have never left my home for more than a few hours to do studies.
Life had went pretty smoothly so far but now I see a lot of hurdles coming into my path . i am 24 and don't have a license for even a 2 wheeler. I don't have a good idea of my own city (but fortunately it has a great infrastructure , so i know how to travel via public transport to anywhere easily). mainly I don't know how to live alone.
The worst thing currently happening for me is that my company is transforming from WFH to WFO. The office is in a different metropolitan city which is crazy expensive and short on space. I already am uncomfortable with the idea living on my own but the thoughts of sharing a room/bed with some other guy and having my savings cut from 90 to 50% is worse.
i am hopeful that the financial hit will not be that bad as appraisals are coming, but this picture of hustle is scary. will i indulge into bad habits (drinking, gambling, smoking)? will i loose my health? would i need to wash my clothes and cook my food everyday? would i even have time to think and watch some web series, video tutorial? would i cut cost everywhere? every thing is scary. the market is also very bad right now, i am not getting any interviews even after applying to many places.
how do you prepare yourself to live away from home? Also , how do you prepare your family to live away from you?
(for 2nd question, i am a single child of a nuclear family with rarely any relatives or friends. my parents , especially my mom have been super involved in my life and we both have an exteem8 attachment to each other. i have recently started going away for short trips and travels, but she gets super emotional and concerned on thinking about me living and managing things on my own , away from her)5 -
Productivity hack - For me, it’s mostly a single word - planning. I wasn’t always good at it, definitely not yet a “master” of it, but breaking that proverbial elephant up into smaller pieces, and organizing a plan of action for dealing with them is the #1 productivity “hack” for me. Sorry that it’s not an actual shortcut, or anything…I personally don’t believe in those anymore. Complementary habits to this are thoroughly commenting code, having descriptive commit messages, file names, and variable names, maintaining documentation. Use that Readme.md. This is true of any project, even if I’m the only developer - never underestimate your own ability to totally forget shit.1
-
Just started a new job feeling excited and pumped. But damn, different OS, different text editors, different colour and fonts, different key bindings. I always think I am good at adapting but I'm just a creature of habits as much as the next person...
-
Anyone here believes that good habits are the key to be a better programmer (write friendly code, learn something new, plan before code etc)
Any thoughts-suggestions?4 -
I'm new to Python and have been using PyCharm. I like it. I've tried just about every IDE on the market now excluding maybe a couple of the ones who don't have free versions and I always end up back to Pycharm.
I like how it's strict about formatting. My opinion it builds good habits. I watch a lot of tutorials on youtube among other things and I'm learning slowly but still I getting there.
My conclusion is that their seems to be a complete lack of consistency in the Python community regarding PEP and formatting standards. One person does it this way. Another does it that way. Makes it extremely frustrating when trying to learn because you have all these people doing things slightly different.
One guy says dont use camelCase another says yes. Granted some of these tutorial are a couple of years old and I know things change but I can't imagine it changes that much from 2 to 3 yeah but when you can't even be consistent with your spacing of your print functions or comments it's like nails on a chalkboard.
And thats just the beginning. I'm a tabs guy some are spaces. That's a whole other rant or whatever. Hardly the point really. Lots of different inconsistencies but I'm running out of characters.
Maybe im just not finding good videos. They all act like they know what they are doing and to an extent I suppose they do.
It takes a lot of guts to put yourself out their like they do ready to be scrutinized so you have to at least have a clue of what your doing. Some of these people have 10s of thousands of subs and I find myself picking apart every little thing they are doing and find many times they are teaching wrong standards. At least that's how I see it from the little experience I have now.
I'm just beyond frustrated and would appreciate any advice that a person wants to give. Keep in my I'm new and may just be misguided so try not to be to harsh if I've drawn an incorrect conclusion.13 -
How someone can think that the best idea to store a vector of physical values, knowing perfectly in which unit measure it needs to be provided for the back end to work, is to couple a vector of strings with the units, is beyond me.