Details
-
AboutI am software Engineer. Came here to get out my frustrations
-
SkillsJava, big data, JavaScript, ruby on rails, Full stack developer confused now
Joined devRant on 7/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
-
"Instead of writing classes in Python, create packages and use functions. Each function should do exactly one thing without being specific to the program you are developing." - Steve Waweru
-
The amount of rants on here I see of 'Devs' complaining that other non-tech people aren't knowledgable/ can't understand 'simple' explanations / etc and are mean, or even cruel to those non-techy people is alarming.
Just because you've spent a lot of time on something youre interested in, doesn't mean:
A. Everyone else is interested in it.
B. Everyone knows everything about it.
These 'Devs' are the reason most Universities require mandatory social classes so they can make sure you can talk to people in a nice manner and get your point across.
Majority of the time I need to explain a concept I find simple or I know to someone, I try to find an analogy about something both parties know. I know that pulling the documentation information and giving to them will just result in more questions and they won't understand.
You just gotta know how to talk to people without getting angry at them for being who they are, human.
String TLDR = "Don't be a dick because someone doesn't know something you do"10 -
So I got the job. Here's a story, never let anyone stop you from accomplishing your dreams!
It all started in 2010. Windows just crashed unrecoverably for the 3rd time in two years. Back then I wasn't good with computers yet so we got our tech guy to look at it and he said: "either pay for a windows license again (we nearly spend 1K on licenses already) or try another operating system which is free: Ubuntu. If you don't like it anyways, we can always switch back to Windows!"
Oh well, fair enough, not much to lose, right! So we went with Ubuntu. Within about 2 hours I could find everything. From the software installer to OpenOffice, browsers, email things and so on. Also I already got the basics of the Linux terminal (bash in this case) like ls, cd, mkdir and a few more.
My parents found it very easy to work with as well so we decided to stick with it.
I already started to experiment with some html/css code because the thought of being able to write my own websites was awesome! Within about a week or so I figured out a simple html site.
Then I started to experiment more and more.
After about a year of trial and error (repeat about 1000+ times) I finally got my first Apache server setup on a VirtualBox running Ubuntu server. Damn, it felt awesome to see my own shit working!
From that moment on I continued to try everything I could with Linux because I found the principle that I basically could do everything I wanted (possible with software solutions) without any limitations (like with Windows/Mac) very fucking awesome. I owned the fucking system.
Then, after some years, I got my first shared hosting plan! It was awesome to see my own (with subdomain) website online, functioning very well!
I started to learn stuff like FTP, SSH and so on.
Went on with trial and error for a while and then the thought occured to me: what if I'd have a little server ONLINE which I could use myself to experiment around?
First rented VPS was there! Couldn't get enough of it and kept experimenting with server thingies, linux in general aaand so on.
Started learning about rsa key based login, firewalls (iptables), brute force prevention (fail2ban), vhosts (apache2 still), SSL (damn this was an interesting one, how the fuck do you do this yourself?!), PHP and many other things.
Then, after a while, the thought came to mind: what if I'd have a dedicated server!?!?!?!
I ordered my first fucking dedicated server. Damn, this was awesome! Already knew some stuff about defending myself from brute force bots and so on so it went pretty well.
Finally made the jump to NginX and CentOS!
Made multiple VPS's for shitloads of purposes and just to learn. Started working with reverse proxies (nginx), proxy servers, SSL for everything (because fuck basic http WITHOUT SSL), vhosts and so on.
Started with simple, one screen linux setup with ubuntu 10.04.
Running a five monitor setup now with many distro's, running about 20 servers with proxies/nginx/apache2/multiple db engines, as much security as I can integrate and this fucking passion just got me my first Linux job!
It's not just an operating system for me, it's a way of life. And with that I don't just mean the operating system, but also the idea behind it :).20 -
Maintain your LinkedIn, write little articles about implementations on a tech blog, check issues on popular github projects and make PRs, create a portfolio website. Register as a company and do some freelance work, even if it's just a cheap website for your grandma's knitting club.
Do the tour/tutorial of every popular language/framework. Learn the basics of react/vue as a backend dev, learn some sql as a frontend dev. Set up a vps server at DO or AWS, host a few small services. Fullstack is bullshit, but communication is key in development, which means you need to know about the whole playing field.
Recruiters can be useful, but knowing developers in your area is even more valuable. So especially if you're unemployed, go to hackathons, conferences and meetups.4 -
Dear people who complain about spending a whole night to find a tiny syntax error; Every time I read one of your rants, I feel like a part of me dies.
As a developer, your job is to create elegant optimized rivers of data, to puzzle with interesting algorithmic problems, to craft beautiful mappings from user input to computer storage and back.
You should strive to write code like a Michelangelo, not like a house painter.
You're arguing about indentation or getting annoyed by a project with braces on the same line as the method name. You're struggling with semicolons, misplaced braces or wrongly spelled keywords.
You're bitching about the medium of your paint, about the hardness of the marble -- when you should be lamenting the absence of your muse or the struggle to capture the essence of elegance in your work.
In other words:
Fix your fucking mindset, and fix your fucking tools. Don't fucking rant about your tabs and spaces. Stop fucking screaming how your bloated swiss-army-knife text editor is soooo much better than a purpose-built IDE, if it fails to draw something red and obnoxious around your fuck ups.
Thanks.62 -
So I put a very strict eslint configuration to a 6 month old project
..
..
..
..
924 errors in 27 files
..
..
..
..
..
I removed eslint from the project8 -
Dear Misinformed idiots,
Just because you watched Silicon Valley doesn't mean you actually understand how Software Development works.
-We don't sit in front of a screen in an AC room googling funny pictures
-We don't think of new Algorithms by pretending to be jerking.
-We don't "get lucky" with our code, it takes hours of studying and research to come up with a solution which actually works.
-And we definitely can't just "create the *next* Google", THAT is not how it works.
I swear to the God ya'll love and cherish, the next person to approach me to turn their shit idea into "The next big thing", I'll leave everything aside and drive a screwdriver through your neck.
- An Engineer tired of everyone's never ending shit storm.10 -
So there was an inspection from government for our bank's IT security. I gave a tour to our server and security systems. I threw all possible acronyms as much as I could remember. Inspector nodded and noted down never uttered a word.
Finally, he breaks his silence, looking at a device he points out and says "What's that ?"
I look at the device then stare at his face back again at the device and to his face I reply "That's AC, Air Conditioner".19 -
Question: Does using cookies for user session handling hinder the scalability of your backend because all the API's have to live on the same domain. Basically if one API starts to get a lot of request and you want to add another server to off balance the load you would have to add an entire webserver rather than just a small micro webserver with the API running on it mainly because cookies are used to authenticate user request and cookies don't survive CORS request. Am I right or don't know what the hell i'm talking about lol need some opinions I suggested we make all API's micro services and use JWT for user sessions12
-
Tonight, I had the pleasure of being challenged to make a virus for a VM over at the awesome "virus aquarium": computernewb.com
I present to you the Eevee fork/bomb.
Tonight, was the first night where I've ever sat down and programmed in VBS. I had a lot of fun doing it too. Right now I'm aiming at corrupting taskkill, tskill, and shutdown for good measure. These are a few of the things that my buddy has pulled on me that has made it difficult for me to continue moving forward.
The other part is to create seperate .exe files that would run my the necessary script. Each of these .exe files will be unique such that it's more difficult to shut all of them down at once.
Despite the fact that this thing will quite literally break your computer, it's fun being challenged to think outside of the box. Quite literally. I've always been careful about what things I touched on a PC, but tonight was fun because I was basically unchained and allowed to run rampant.
As a computer geek I think it's good to let out your inner demon and see what havoc one could wreak.11 -
!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 -
Don’t you love when you put a lot of blood, sweat, and tears into a company and then you get fired because your wife got a flat tire and you had to go help fix it?
When I got to this company they were not using version control, had no tooling in place, and most of our day was spent merging projects by hand and going through a long process to deploy our applications (this company is a primarily Salesforce company).
I got everyone using git and built a node client to transpile JavaScript and SASS, lint code, package everything together, and deploy it to Salesforce. Productivity jumped and the amount of time all of us spent merging code by hand dropped significantly.
A few weeks after finishing this CLI I was moved to another team and subsequently let go because I had to leave early to help my wife fix a flat tire. Now I am freelancing and actually doing pretty damn well for myself. Bonus: I no longer have to work with the disaster that is Salesforce!2 -
CIA, NSA... if anyone 's listening.. Can you guys please tell me my root password.. :/.. I forgot..10
-
People on Stack Overflow are SUCH FUCKING ASSHOLES
"You didn't show us where you declared this unimportant array, please review this article for how to ask questions"
My question doesn't concern the array, my question concerns how the system works, all code I provided was only for clarity. Read my fucking question you arrogant asshole. You have lots of points, fine, go tell your mother, but you assume I don't know how to ask a question which you clearly did not read.10 -
A coworker and me did together a "hackathon by choice" this week to finish a project. We did it only because we thought it would be cool and be able to finish the thing. Well it was surprisingly fun to stay awake 36 hours, coding all through, having a good flow. After that, our boss came and was very proud of our work and he was able to send it for inspection to the client. I stayed a bit longer to fix a few minor bugs, but after 42h I was finally in bed. 😁
Our boss gives us the following Monday off.
But I think on other projects, often deadlines take the fun out of it, if they are not estimated well... I mean you do great, high-professional work but in the end you feel bad, useless, slow and incompetent because of the pressure.2 -
>me on first day as temporary scrum master
>gets invited to 'optional' scrum master meeting
>meeting is with all SMs globally
>at 6PM local time
>POs also joining because why
>first topic is discussing a defect
>a PO has stroke of genoius
>"Our code base would be much easier to maintain if it didn't have bugs!"
>this gonna be a long meeting4 -
Me: so, ifconfig, what is my gateway?
ifconfig: [ip address]
Me: nmap, what is this IP address?
nmap: it's a network switch with an open telnet port.
Me: what happens if I connect to it?
switch: WHAT IS THE PASSWORD?!?!
Me: is it blank?
switch: correct. what do you want to do?
Me: can I look at all the IP and MAC addresses on the network?
switch: WHAT IS THE ADMIN PASSWORD?!?!
Me: is it... admin?
switch: correct. Here's everyone that's connected to the network: [400+ IPs and MACs]
Me: ok python, would you filter through these and tell me what manufacturer each one belongs to?
python: sure.
[~50 manufacturer lookups later]
python: there's a bunch of apple product, a bunch of miscellaneous laptop and printer manufacturers, and some raspberry pis.
Me: raspberry pis?
python: yep. about 20 of them.
Me: What happens if I connect to one?
rpi: WHAT IS THE PASSWORD?!?!
Me: raspberry?
rpi: correct. what do you want to do?
Me: can I make you do my bidding in the background when you aren't being used?
rpi: sure, sounds fine.
I love ignorant sysadmins.8 -
How everyone uses stackoverflow:
1. Work on some project
2. Spot a bug
3. Try to solve the bug and fail.
4. Write a question for SO.
5. Post question on SO.
6. Get the answer and some points.
How I use stackoverflow:
1. Work on some project
2. Find a bug
3. Try to fix the bug and fail
4. Write a question on SO
5. Get scared that I might be downvoted.
6. Spend 45 minutes optimizing the structure of the question.
7. Try additional tests to cover all possible scenarios.
8. Still scared to click post.
9. Scrap everything and restart line by line writing further details of each step in your question.
10. Find the bug myself.
11. Click cancel on the question that took me 3+ hours to write.
12. Cry.20 -
Coding completely changed my life. After roughly 8 years in construction management, and one rough divorce, I decided my life needed a change, so I dropped my high paying construction job and learned web development. 3 years later learning to code was the 2nd best decision I ever made (1st was to get a divorce)2
-
Colegue could not find data when running a very important report.
I did some research and found out that there was no data for for the month they searched . They ensured my boss that they did upload the data and that the program just does not work.
I spent two days of work trying to find out what the problem could be, under boss's pressure.
Still there was no data in the database or a record that there was ever any for that month.
The deadline passed. We got fined and only after that the colegue reilised that she had never generated the data, so there was not even data to upload.
Now it is my fault cause I never told her that she needed to do that.
I am the new guy and she has been working the same job for 7 years now. Like WTF1 -
According to Google these are the hardest programming languages, guess that brainfuck is just a walk in the park then.12