Details
-
Aboutnot found
-
Skillsnot found
-
Locationnot found
Joined devRant on 6/3/2017
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
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
I managed to get a group of people to use an open source and privacy respecting service instead of its proprietary (surveillance) competitors today.
The experience was good for everyone and I wouldn't be surprised if at least some people who participated will remember this good working FLOSS solution.
My work is done here for the day :)12 -
My day today:
- tell everyone to fuck off and are idiots politely from 10 to 4
- tell them if they won’t fuck off now I will start looking for a job - 1 hour
- listening them apologizing me - 1 hour
- code and solve problems - 1 hour
Mondays
Hopefully I start working on Tuesday.5 -
> New colleague in the team who's also young (mid-20ies)
> He's been here before and knows the system to a decent extent
> Kubernetes integration in a large scale system project pops up
> The same day a 2-days Kubernetes seminar is announced
> We're now the duo who will have to handle this big thing - game on!4 -
Here's the story of my first month at CERN :) But first, a little premise...
Before arriving, I expected to be scared, alone and unguided in most of my experiences: after all I was a simple 19 year old about to leave home and friends for 3 years heading out in the world with zero experience on stuff like banking, taxes.. let alone working in a huge environment! The impostor syndrome was at an all time high on that front.
Then, I had the luck and pleasure to find an extremely competent and helpful plethora of people, ranging from my team to other CERNies (yes, that how we're called :P) who took me under their wing and introduced me to all the key aspects of living the place. When the initial stress finally soothed down thanks to this, I finally started to manage focusing more and more on my work, by following day-by-day my teammates who taught me the core aspects of the system and the many projects that are in progress during Long Shutdown 2. Within a couple weeks, I already managed to grasp various concepts that got me quickly on track, and now I managed to develop and integrate new temperature monitoring scripts into a system checking on hundreds of Single Board Computer-based servers :) It's a real rollercoaster of learning and applying under all fronts and so far I'm not regretting my choice of departing.
Luckily I've also discovered I'm pretty efficient and good at my job, which surely boosts my morale :D
Keep you updated as usual!11 -
Tutanota.
It's very functional while providing great data protection/privacy features at the same time.
And it's free by default! (although I do pay for a premium account)7 -
While not entirely related, I've been looking for new jobs lately and its starting to really fucking annoy me that I see front end requirements in nearly every goddamn backend dev position I come across 🤬
My front end skills are bad and while I do understand its necessity, I don't give a single fuck about it personally.19 -
I wrote (or, ended up with a very much alpha but usable version) a monitoring system a while back and completely forgot about its existence.
But, it's still running and a few days ago I was building a docker imagine on a system with not that many resources and after about 5 minutes I started getting notifications about a high load!
Then, while I had forgotten about it again, yesterday, I suddenly started getting notifications about websites on my main application server going down.
Logged in and all was good again after restarting nginx.
Gotta say that it feels quite awesome to be notified of shit going wrong by something I wrote myself while I forgot about its existence 😊2 -
"alright, let's go to sleep"
*pulls out extension cord from monitors as I do every night*
*hears server buzzing disappearing*
😓
I entirely forgot that I connected my server which is running heavy and lengthy tasks, to that one, as well.
😧😥😬😰21 -
Trying to setup a local Overpass API and Nominatim server (OpenStreetMaps data stuff).
The docker overpass image has been downloading a 38gb file for a little more than an hour now and it's coming closer and closer...
3..........
2............
1...............
100% YEAAAA.......
*docker continues to initiate the download of a new file*
"Hmm this can't be THAT bi......"
25gb
D:
Let's wait yet again..... I was so excited :(11 -
!dev
What can you say for certain about your argument when you bring it to a discussion and you pretty much lose but it still stands?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
It's not sitting down.
I'll leave now......4 -
This is PART 1/2 of a series of rants over the course of a software engineering class years ago.
We were four team members, two had never failed a class, I’ll refer to them as MT and FT, male and female top students, respectively, and an older student with some real world experience who I’ll refer to as SR.
Rant 1: As I was familiar with the agile methodologies I became the Scrum Master and was set with the task of explaining it to the team members, SR showed up late and nobody seemed interested in learning new methodology. At this point I knew we'd have trouble as a team.
Rant 2: FT made up her project proposal without informing anybody, which required a real client/product owner. We only figured it out after her proposal was accepted as the project, so we ended up working with fake requirements.
Rant 3: This one is partly my fault. I researched first and then worked, which meant I was the last to turn up my work. In one activity MT pressures me and I agree to a deadline so everyone can send their work to the teacher in a timely manner. Since I was the last to finish, I was also asked to give the doc some formatting, which I did in a hurry so it wasn't the best.
The next day MT and FT start complaining about me, saying I took too long and that they expect me to do better next time or else. At the same time they were stressed and in a hurry because we had to explain the project outline in front of the class and they didn't study.
Turns out copying and pasting all your work in less than an hour means you don’t learn anything. FT actually asked me for help days before and I sent her a website in English, which she wasn't very good at, so she just ran it through Google Translate and called it a day.
Later FT called me rude for interrupting MT in the presentation, which I did because he started making up stuff about the project.
Rant 4: SR expressed his dislike for school through profanity in variable names and commit messages. This caused MT and FT to dislike him. I thought it was immature but if anything it should’ve been reported to the teacher and move on.
Rant 5: I was stuck trying to get the REST API working for the project Admittedly this was my fault, too, because I was pushing for the usage of things nobody was familiar with for the sake of learning. This coupled with SR’s profanity led to drama and the progress was dropped, starting over from scratch.
At this point I stepped down from the Scrum Master role as nobody seemed to listen anymore.4 -
I will die younger because of node packages
It's like quantum mechanics, so undeterministic, even with yarn.lock, I had this meeting to demo software and I was ready for 2 min past the meeting time, having worked nearly all night to save monorepo yarn workspaces issues where some module has peer dependency it shouldn't have and some other module installed a newer version of a package which broke another module with another version of the same package, one module checks if it's got an instanceof another package, but it returns false because it's another version of the same package that created it so X !== X.
I nearly had a nervous breakdown and my node modules won't fix when I remove all node_modules in the yarn+lerna monorepo and reinstall from scratch... it's like seeing ghosts with these errors all works for months and then a butterfly splashes its wings near 1 node module and the entire app fails apart.
:'''(2 -
So, for my final year project I'm tasked with creating a mobile app for iOS and Android.
A YouTuber I watch avidly decides to go with Xamarin for his next app. Cool, I think: I'll go with Xamarin for my app too (I'd like to test run the app on PCs just for fun).
Looks for Xamarin tutorials, nice, found one! Goes into VS, creates a new project. I add "Hello World" to the centre of the screen.
*F5* Build started... 5 minutes later I come back and it failed. No reason why it failed, all parentheses closed, semicolon at the end of my only line of code.
Watches YouTuber's new video, he has the same problem ( ´ ▽ ` )ノ. He adds a button, builds, build fails. Tries a second time, build succeeds. And this goes on for a couple of minutes while he's troubleshooting the problem.
Oh well. Time for hell I guess.14 -
Great how I’ve just started a new job, haven’t been given all the licenses I need to run the software, there are multiple products with little to no documentation (and by none I mean the word “Architecture” is all there is in one of the main products ReadMe file) and I’ve a year of this! How is a company that’s this big not in any way documented like! This is gonna be long 😑2
-
So the job was for a web developer, specifically.
We needed a person who was very confident with PHP, JS, HTML, CSS.
This dude comes in, he says he's confident with all of them, we ask him how he would solve a problem we're having and he answers just like we answered the first time. Which is a good start.
By the end of the interview, he just says: "ok, but like I'm not here to work as a developer"
"WTF are you even here for, then?"
"To work on anything else than that"
"But we just need that"
"I won't do it"
"Ok, then, bye"9 -
Recently had an interview with a company. At some point an SELinux question came up and while I didn't provide the best answer ever (I'm hardly familiar with SELinux and mentioned that as well beforehand so they knew), it was technically correct and the reaction of the interviewers was funny.
TI (technical interviewer): say your php script isn't executed and after a while you find out that SELinux is blocking php script execution, how can you fix that?
Me: setenforce 0...? (essentially disabling SELinux at all)
TI: disabling it entirely for getting php execution to work?! That doesn't sound like a good solu...
HRI (HR (non technical) interviewer, also present): *turns to TI* - but, would it solve the problem?
TI: 😐 well, yes, but... That's a bad thing to do so I wouldn't count is corre..
HRI: *still aiming towards TI* but you simply asked him for a way to solve the php execution issue, would his answer work? Regardless of whether it's the best or worst solution, would it be a solution which works?
TI: well... yes...
HRI: then he answered correctly I'd say, next!
(yes, I'm aware that my answer wasn't good as for security at all but it would have solved that problem which is what was asked)18 -
Why should you sing RAID controllers a soothing song before turning off the lights?
They're afRAID of the dark.9 -
Don't really have one but I've git to say that I find it rather cool that Linus Torvalds thought "fuck it, we need an open Unix alternative" and that a very big potion of the world runs on the kernel he wrote for a big part, now.6
-
Spend half the day setting up a dedicated server at work (including getting all the hardware together) and installing CentOS and tweaking around.
For a client? Oh no, there just literally wasn't anything else to do and I didn't want to sit around doing nothing or working on shell scripts AGAIN. (working in support (+ linux server management) and due to the holidays hardly any support requests come in)
*Hmmm, lets install nginx for fun*
"yum install ngi..."
*wait, let's compile from source and make it more fun!*
So yeah, that was my day, I guess.5 -
Mother of fucking god, its astonishing to see how difficult it is to entirely block out Google from your computer.
Actually, its very easy and I wrote something to automate that but the second you block out that goddamned mass surveillance network, every login page of every goddamn site with a fucking recaptcha just doesn't work anymore.
Google, go fuck yourself and with that, every motherfucking site which uses recaptcha.20 -
Anyone who creates a Facebook Libra account and puts money in it and uses it to buy stuff/for transactions should have their fucking voting rights removed and be submitted to a mental health institution.
Just my personal opinion.27 -
I find it so infuriating when someone uploads a lot of data containing other people's data as well without asking those people if that's alright with them. (Contact information, address book, etc).
That you don't care about that/privacy is your choice, even your goddamn right but then please don't take other peoples right to privacy/their own choice away in the fucking process.5 -
This one project at my study.
We always had to do quite some documentation, even some in a way that works the opposite of how my brain works.
That's all fine if you can agree on doing it differently.
Had this teacher who valued documentation above anything else. The project was 10 weeks, after 9 weeks my documentation got approved (yes, not a single line of code yet) and I could finally program for the remaining 5 days.
Still had quite some bugs at say number five, the day of presentation.
I imagined that'd be okay since I only had 4 full days instead of the 5-8 weeks everyone else had.
Every bug was noted and the application was "unstable" and "not nearly good enough".
At that moment I thought like "if this is the dev life, I'm out of here".7 -
Literally translated from dutch but I think you'll get it:
(Debugging stuff with customer)
Me: alright so in what area are you now, our customer panel or your hosting control panel?
Client: Rotterdam, why?
._____________.11 -
Just wrote a (PHP based) proxy which can cache resources being requested and serve them to clients.
The idea is that (I'm going to write a firefox add-on for it too, yes) you can install the add-on and any resource (js/CSS, general web resources which would be downloaded off of googleapi's etc) hosted with Google would be proxied through the server running the proxy, meaning that one wouldn't have to connect to the mass surveillance networks directly anymore as for static resources.
I think checksum verify stuff would still work as the proxy is literally a proxy, the content will be identical to the 'real' resource. (Not sure about this one, enlighten me if this isn't true)
Input appreciated!17