Details
-
SkillsJava, C#, C++
Joined devRant on 5/28/2016
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
For those devRanters who are active (or passive) on Twitter, I am looking for fellow programmers to follow.
I am looking for educational, interesting and funny tweets about coding/programming.
Of course if think you think you fit in the description, I would like to follow you too.
Do you have suggestions?14 -
A close friend of mine is in his third term in university studying software engineering, asked me how did I land my first job so quickly after graduation.
His question made me stop for few seconds and ask myself, how would my life would've been without Coursera , Udacity, codeacademy and css-tricks.
I literally spent 2 years wasting time in uni then I discovered these sites and started learning while studying just enough to pass subjects that really has no benefit for the future whatsoever.
Even with subjects like data structures and AI, which should be interesting, it was 40℅ theory and the practical part was to complement the theory part, it was never for real world examples.
Kinda feel bad for my friend because he'll end up feeling the same frustration I went through at university.
Even now a year after graduating I feel that the only benefit of my degree was legal.
When would this silly system change ? If university courses can be specialized like online courses wouldn't it bring better talent to the market? And why governments don't take action towards this?2 -
Not about favorite language but about why PHP is not my favorite language.
I recently launched a web shop built on Prestashop. I found that some product pages are so god damn slow, like taking 50 fuckin' seconds to load. So I started investigating and analyzing the problem. Turns out that for some products we have so many different combinations that it results in a cartesian product totalling about 75K of unique combinations.
Prestashop did a real bad job coding the product controller because for every combination they fetch additional data. So that results in 75K queries being executed for just 1 product detail page. Crazy, even more when you know that the query that loads all these combinations, before iterating through them, takes 7 fuckin' seconds to execute on my dev machine which is a very very fast high end machine.
That said I analyzed the query and now I broke the query down into 3 smaller queries that execute in a much faster 400 ms (in total!) fetching the exact same data.
So what does this have to do with PHP? As PHP is also OO why the fuck would you always put stuff in these god damn associative arrays, that in turn contain associative arrays that contain more arrays containing even more arrays of arrays.
Yes I could do the same in C# and other languages as well but I have never ever encountered that in other languages but always seem to find this in PHP. That's why I hate PHP. Not because of the language but all those fucking retarded assholes putting everything in arrays. Nothing OO about that.2 -
PM: Please get this done by tomorrow. It's just a small change.
Dev: No its not that simple.
PM: Why is it not simple? Please explain so I can understand.
Dev after a hard thought finally explains: blah blah blah
PM: Well, we have promised the client so please do this by tomorrow, thanks.
Dev: *bangwall9 -
So I need to create a nice new web app. Let's look at some cool JS frameworks that I can work with.
*5 mins later* Hm, Angular sounds good, is there any good competitor?
*5 mins later* Wow, React sounds awesome as well. Let me learn it.
Google search result:
"Planning to use react? Check out Vue JS first"
*5 mins later* Ok so vue seems faster than React and much easier to learn. Let me see if Vue is the final choice.
Google search result:
"Angular VS Knockout VS Ember VS React VS Mithril VS Mercury VS Ractive VS Vue VS Riot"
Nope, fuck it63 -
A while ago I had all these ideas for side projects, and I really wanted to create something. However, every time I started to work on it I usually started the IDE, wrote a couple of lines, and quickly lost motivation. This kept going for a while. I just wasn't feeling it and when there is little or no (visible) progress it can be hard for me to continue working.
Then one day I wanted to push through it, and decided to set a rule: I have to make at least one commit per day, no matter how small.
So I (re)started work on a side project, and by the time I was satisfied with what I'd want to commit I've made enough progress to want to continue working on it. This quickly turned minutes of coding into (late) hours. Now I have a couple of side projects going which are progressing quite nicely, and I feel motivated to work on them again.
I don't know if there are any other people on here who've had this feeling, but if you did maybe this'll help you :) I'd love to hear from you how you keep yourself motivated!10 -
This app seems to be mostly web developers so I have a question that will either spark interesting discussion or a blood curdling flame war. Either way:
I'm trying to build a blog site for myself. I'm not a web developer, for the most part I write C software, but I have written web software before. I want to write it, not use a CMS. What are some techniques and tools I should be aware of, so I don't break my keyboard in frustration?11 -
Applied for a £22k Web Developer Job Php laravel in particular and get tasked with this.
Well that isn't hard.31 -
Do any of you guys or gals sit outside and code?
Since 2009 this has been my primary work place (even in the cold and rain), I go to the office for mostly non-coding work and have a pc inside for serious sessions but I'd say 80% of my heads down dev time is spent sitting here. A little quirk is when people call or Skype me they'll immediately say "I can hear birds in the background, where are you??".
Anyway, I'm moving soon and thought I should share while I still can ☺️21 -
You might think that getting your work done super fast is a good idea but it's really not. It takes QA awhile to test your tickets and give feedback. If you clear your sprint board, PMs will add more assignments... Then on top of that extra work, QA will give you feedback from your previous work. You now will be super stressed to get all of this done by the end of the sprint.
It is best to take your time and get it right the first time... I've also learned to make a buffer... which is tickets in my queue I've already completed but did not say I've competed yet. This way I can take extra time on tickets that need TLC and the PM team won't surprise you with backlog tickets. -
Put it on a poster:
"It's ok to:
say "I don't know"
ask for more clarity
stay at home when you feel ill
say you don't understand
ask what acronyms stand for
ask why, and why not
forget things
introduce yourself
depend on the team
ask for help
not know everything
have quiet days
have loud days,
to talk,
joke and laugh
put your headphones on
say "No" when you're too busy
make mistakes
sing
sigh
not check your email out of hours
not check your email constantly during hours
just Slack it
walk over and ask someone face-to-face
go somewhere else to concentrate
offer feedback on other people's work
challenge things you're not comfortable with
say yes when anyone does a coffee run
prefer tea
snack
have a messy desk
have a tidy desk
work how you like to work
ask the management to fix it
have off-days
have days off
(From UK Government Digital Service: https://gds.blog.gov.uk/2016/05/...)7 -
Things I wish I could tell my 18 year old self.
1) Accept you will make mistakes.
2) Truly learn the language you are using.
3) Write idiomatic code for the language you are using.
4) Be upfront about not knowing something.
5) Don't let not knowing something stop you from learning it.
6) None of us knew X until we learned it.
7) Understand your strengths and weaknesses as a developer, play to them.
8) Be willing to try new things.
9) X language isn't ALWAYS the best choice, X paradigm isn't ALWAYS the best choice. Choose wisely.
10) You won't know everything, but you might know more than others.
11) Your ideas and ego don't matter more than ensuring the product works.
12) "Perfection is the enemy of the good [enough]" - Voltaire
13) "Perfection is not achieved when there's nothing more to add, but when there's nothing more to remove." - Einstein.
14) Conflicts happen, deal with it.
15) Develop a toolset and really learn them.
16) Try new tools, they may prove better than what you were using.
17) Don't manage your own memory unless you absolutely have to, you are probably not smarter than the collective intelligence of the team that built the various garbage collection methods.
18) People can be dicks, especially online.
19) If you are new and people are being dicks to you, did you skip past the irc message about etiquette? If you did, you're the dick in this situation.
20) It can be tough, but it is fun, so have fun!6 -
1 - Programmer produces code he believes is bug-free.
2 - Product is tested. 20 bugs are found.
3- Programmer fixes 10 of the bugs and explains to the testing department that the other 10 aren’t really bugs.
4 - Testing department finds that five of the fixes didn’t work and discovers 15 new bugs.
5 - Due to marketing pressure and an extremely premature product announcement based on overly-optimistic programming schedule, the product is released.
6 - Users find 137 new bugs.
7 - Newly-assembled programming team fixes almost all of the 137 bugs, but introduce 456 new ones.
8 - Entire testing department gets fired.
9 - Company is bought in a hostile takeover by competitor using profits from their latest release, which had 783 bugs.
10 - New CEO is brought in by board of directors. He raises the programming team's salary to redo the program from scratch.
11 - Programmer produces code he believes is bug-free.
12 - fml9 -
Fixing someone else's code who left the job.
Production suddenly not working, cannot debug locally, cannot deploy to a test environment because it does not exists anymore.
There should be a contract clause that developer need to support his project for 2 years after he leaves his job.9 -
!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