Details
-
AboutAverage fellow that writes coffee, I mean code. I used to publish a lot of YouTube videos. Analysis Paralysis in Development is bad, It's real!
-
SkillsPython / Node / PHP / DevOps / Docker / React / Vue / SysAdmin (AWS/GCP/VPS) / Main Env: Ubuntu (Also use Windows w/VMWare).
-
LocationFL
-
Website
-
Github
Joined devRant on 5/14/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 -
The worst architecture I've seen is WordPress.
How can you be so drunk to design such a filthy mess?
In some way PHP might be to blame. Its API is a fucking mess as well and may have stirred WP developers in this puke around so they couldn't come up with a better CMS architecture.
Don't get me wrong. I do love PHP. But only in it's OO form with namespaces and type hints and composer dependencies.
I've seen enough of PHP functional programming and it still haunts me.8 -
Just spent 3 hours trying to debug something that worked yesterday because SOMEONE thought he had a better idea of how to do it. Holy fucking shit. It worked perfectly and you started deleting my code because you didn't understand it. How about trusting that I know what I'm doing since idk I spent 2 weeks reading up on it to be able to write this. What pisses me off the most is knowing he only does this to my code because he doesn't trust me as I am a) younger than him and b) a woman.
STOP ALREADY. JUST FUCKING STOP. So fucking fed up with having my work scrapped in favor of yours because you are a fucking control freak and think I'm stupid.29 -
Client on fiverr.com won't give me SSH access and I am unable to finish my work...
And the client has no Linux knowledge and is unable to set things up my himself.2 -
All Terms of Services agreement changes, etc. need to be in GitHub. I don't want to reread the whole thing, where's the diff?4
-
I can't stand talking to clients on the phone!
One of my first freelancing clients used to talk to me for an hour at a time. I really wish I could have billed him by the hour, it took him twice as long to explain anything and then I'd have to get back in the mindset for what I was working on. The phone is just so disruptive.
I'm so much happier working for a company where the project manager deals with the client's and product managers.2 -
Our boss(where I used to work as an intern) !!! who wanted us to build game within 6month and then he expected we will make 20games(YES 20) within 6months as we already learned how to make one game.5
-
First day, Boss is 2h late and I have to sit on the floor in the hallway waiting for him. No contact info to find out if I messed up or he.4
-
The Micromanagement God. The guy would come to the office 64 times a day, go behind my desk, stare at the monitors for a while and ask what am I working on.
He would sometimes ask for explanation of how something works because he never saw it before and then give me advice on how to use that thing he never saw before.2 -
I was building a personal website and my friend oversaw it. He said “that looks cool, can I help?” I agreed, why couldn’t he help? Ten minutes in I asked him if he liked our 404 page. He said “what’s the link to the 404 page?” 🤦♂️ He’s not on the team no more.3
-
Need to debug a plugin a Client purchased. Just saw:
if (true) {
$a =1+1;
} else {
$a = 1+1;
}
What the fuck. Don't want to imagine how the rest looks like...13 -
Our company doesn't have much structure. One of 4 people can have me working on a project, or all 4 at the same time. And every few hours 1 of them asks how their project is going and get huffy if I'm working on one of the other guys, claiming top priority. After 3 years, I've been able to just go with it. Half the projects have never actually made it to production. Sometimes, they'll even forget about their projects.4
-
I once had a manager who demanded I physically print all of the Kanban cards and tape them to the office whiteboard. I was told to move the cards across the board after they were moved in TFS. I still had to keep up with my other duties in the QA department too!
Despite that, I still stayed on board with the company (the pay was good, and the work was simple.) As a QA teeter, I uncovered a rather nasty security vulnerability that would have put all of our customers data at reach to anybody. I advised my manager, and was told - just ignore it and ship the code please. I refused.
I was threatened with being fired, verbally assaulted, and challenged at the most trivial ways in everything I did after that.
Jokes on him now. I work from home in my dream job, doing what I love, with a manager who actually gives a rats ass about my concerns.
Moral of the story here - you don't have to agree with your subordinates , but you do need to validate their concerns.4 -
Girl: we need to talk!
Me: Ok...
Girl: you seem to have more time for your computer than me. I want to know how important I am to you.
Me: You are the number 1 in my life.
Girl: *smiles and hugs me*
Me: (thinking)...Just that I start counting from 011 -
Things I've learned throughout my 5 - 6 years as a programmer.
- StackOverflow is full of assholes.
- CMS's are for weaklings.
- The best feeling about waking up in the morning is figuring out how to solve that error in your code.
- You no longer think about normal people things. Your mind is full of code.
- You're practically a computer.
- ALWAYS backup and save your stuff or you WILL regret it. Enable autosave if possible.
- RIP your social life (if your friends don't know squat about programming)
- Darkness is better.
- Being a programmer is amazing.26 -
Bf: what you doing?
Me: coding
Bf: do you ever stop working?!
Me: I'm not 'working', I'm doing my own project.
Bf: but you do that at work. Why do you want to keep doing it?
Me: it's fun?
--- a few days later ---
Bf: what you doing?
Me: reading.
Bf: omg you're not coding! What are you reading?
Me: a book about coding
Bf: *faceplam*15 -
Fact=!rant
Gf: Hey look, YouTube shows a preview of the video on mouse hover
Me: pornhub did it first
Gf:what?
Me:wut?10 -
Boss: “Do you think you can work on Saturday? We really need the help.”
Me: “Yes, of course.”
Boss: “Great, thank you.”
Me: “I’ll probably be late, though, as public transport is slow on the weekends.”
Boss: “Okay, when do you think you will be at the office?”
Me: “Monday”.17 -
"We need you to build a feature on our website to stop people taking screenshots. I can use the print screen key and then easily print out our website design. You need to make the site design harder to copy".
This is an extract from a recent client email I received. To say I'm in shock is an understatement.26