Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "wk202"
Programming is possibly the most relaxing job.
5% time programming
30% time searching the web
50% time thinking
15% time pretending to be thinking18
Programming has taught me that time is a valuable and under appreciated resource.
if a task is repeated multiple times per week / month, you have at your finger tips the ability to automate the hell out of it and let your computer deal with the task instead.1
Programming taught me:
Frustration is an unavoidable and necessary part of the development process for any application or project.
If you aren't frustrated, someone isn't working hard enough, you don't know enough about the project or you haven't even started.
When I learned that there will always be something (or someone) that makes me frustrated. I learned to prepare for, and move past that stage as quickly and professionally as possible.
Frustration went from being an obstacle to just another business process. Humans aren't perfect and some aren't even professional or dependable but we're stuck with each other.
Don't try to make it perfect. For the love of god don't. It will never be and you will never finish anything6
Never assume you know better
Never assume others know better
Never assume others know
Trust, but verify [doveriaj, no proveriaj]8
[Developed a script that will trigger beeping sound on any laptop activity like a Skype message or incoming email]
Work for home Routine:
9:00 AM: Wake up, turn on Laptop, connect to Internet, Sleep again.6
- hold yourself accountable for your mistakes
- keep track your mistakes and learn from them
- put thought in what you do
- be organised
- become comfortable asking for and offering help
- realise that some problems have no universal solution
- don't just copy what others do, but also think for yourself
- learn to be patient2
Spending 8 hours automating a task that takes you 2 minutes to do every other month probably won't show a good ROI9
1. There is nothing in this field that is impossible or out of reach for someone with the correct dedication and perseverance. Even if you suck at a particular topic, I highly believe that you can make sense of it through computer science, be it math, biology physics, finances etc. The field opens the doors to other subjects. This is true for everything else, but I seriously believe that Comp Sci makes it more reachable.
2. You cannot make development a quirky personality trait. There is more to life than just sitting around all day fucking with a computer, but at the same time that is how you hone your skills, find balance!
3. Being attractive and or charismatic in this field pays a lot, but also makes you a target.
4. I have never met more people in my life I wanted to punch to a pulp, and I worked in retail and was in the military....that says a lot.
5. Penises, there are way too many penises in this field. I hate being surrounded by dudes and since I grew up in a nail/hair salon I am more used/enjoy female company more.
6. Stuxnet se la come.10
Programming helped me realise, that I'm growing.
Since I've learned git long time ago, all my projects are archived and I can get back to them. When I look at my old code, I can see, how much I've learned, and how much more of a developer I've become.
And it motivates me to keep going.4
Applies to: instructions, signs, traveling to new locations, arriving on time, etc.
1. Always read the documentation before asking questions.
2. Ask for clarifications as soon as possible.
3. Never underestimate the complexity of a task even when it looks simple. (traffic)
4. Always test the current application before adding a new feature. (shortcuts, baggage, companions)
5. Never trust everything the previous developers say about their code. People forget. See for yourself.
6. No, you will not remember what this part does. Take notes, write comments, docstrings, and give objects reasonable names. (that hookup has a name and is someone's child)
7. Get things working way before the deadline. (check-ins)
Applies to: talking to people, being precise, etc.
8. Don't turn the method definition into an essay.
9. Break things down into smaller pieces, if possible.
10. Avoid misspellings. The computer may not get confused but the next developers will.
Applies to: communication, relationships, etc.
11. Be considerate.
12. People in higher positions make mistakes too.
13. Communicate. Don't expect people to read your mind and don't assume you have all the information you need.
Applies to: utensils, sex toys, compatibility, sexual preferences, etc.
14. Don't do random hacks just to make something work. If it's not the tool for the job, use something else. Wasabi doesn't make a good lube.
15. Product owners and users don't always know what they want. ;)
16. Stop being an asshole unless you have lubes and da hole tyt.
17. Be assertive, not aggressive but spank and choke me anyway.
18. Consider each sprint as a sport. You may have almost killed each other during the game but keep it civil after. (violent love-making)
19. Don't burn the bridge when leaving. Someday, they can refer you to a better job or you can refer them and get money out it. (hookups and prostitutes)
Applies to: beliefs, religion, obsessions, hobbies, etc.
20. Programming languages are not cults. Same with IDEs, tech stacks, etc.
21. Use linters. (check yourself)
22. Be aware of your own bias especially when testing and debugging your own code. (reflect)
23. Being antisocial does not make you a better developer. Stop romanticizing it. (delusions)
Applies to: life in general
24. Be patient. You'll get out of the maze. You always do.
25. Stop blaming inanimate objects for your code not working. Behind every inanimate object is a person responsible for the failure. Most of the time, that person is you. If not, talk to the person and solve the issue.
26. Take breaks.
27. Keep learning new things.
Applies to: negotiation, transactions, relationships, etc.
28. Always send documented proof of requirement changes. (50 shades of grey contract, ew)
Applies to: sex
29. Write tests. Test your tests. Testes. Testicles. Tentacles. Testicular cancer.
30. Hostility never results to productivity. Wank it out, get back to work, and stay calm. (doms in BDSMs are gentle creatures)5
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6
It has taught me to accept that I am frequently wrong. Not just when faced with code but with people too.
All the years of "It can't possibly be MY code that's wrong" which of course always turns into "Well, I guess it was my code..." Had helped me think critically in relationships, politics, and many other areas of my life.
Programming had actually heavily influenced my behavior and I would say it is largely for the better.
However, one negative effect it has had on me is that I am less of an optimist. Code is very "cause and effect". This means a lot of my life is "no surprises" and "you get what you give"
So I often feel like the most likely outcome is probably just the one that's gonna happen. There are no surprises, no miracles. Life is cause and effect.2
Don’t become a software engineer. Also, most software engineers can’t write software. Also, software is going to kill all of us.16
Life lessons learned from programming?
1. Always put things where you look for them
2. You may know better than some people but you never know better than all the people
3. Fuckups happen. Deal with them and move on
4. Take responsibility for your fuckups
5. There is no nice way to tell someone their baby is ugly or that their code is unreadable2
Oh,I have learned a lot, I would not say from programming but from the career as a whole
Never get peer pressured
Always show empathy
If in a leading position, taking care of people is your top priority
Overconfidence will destroy a lot of good work
People by definition will always remember your mistakes
Never get over involved in the company you are working for, it's just a job
Your health is more than important
Nobody knows everything
Always be humble
There is a lot of bullshitters out there
Success is relative
Competition is high and there is always someone with better skill set, so you will suffer if you don't accept that
How ignorant we all are about the world. It's not necessarily a bad thing, just a fact. After a four year degree I've learnt so much, how a computer works from the physical phenomena on the hardware level to the inner workings of an OS to the highest level abstractions of modern web development, a wide array of programming languages covering several different paradigms, mathematics from calculus to statistics to algebra, how to work with databases, how to administrate a server, how to build a website, and much more.
And that's just in a degree. I have knowledge in one domain and I wouldn't even call myself an expert in it. Medicine, physics, biology, the hundreds of branches of engineering from civil to nautical to aerospace to automobile, to geology to meteorology to astronomy, to the practical application of this knowledge in hundreds of trades. There's so much more to know in so much depth and only recently have I realized how little we all know on an individual level.
Finding this out has been a mixed bag, on the one hand it's made me value what I know and what others can teach me a hell of a lot more, on the other, knowing that people haven't realized this and adamantly discuss and impose from a position of ignorance isn't very nice.
tl;dr I know that I know nothing3
Programming has given me an insight into the inner workings of the system that defines every aspect of the modern world. I will never ever be able to look the same way at a game, website, elevator, microwave, the synced traffic lights in a city or really anything that resembles mathematical structure and was built after 1990. Seeing how my friends appreciate all these for their function I often feel like I'm missing out, but I guess they feel the same when the machines don't act as expected.3
1. Nothing lasts forever and you always need to be prepared for change.
That might be technology acquired by other company and dropped completely by all of people or new technology take over the market for a year and is gone after that and no one remember about it.
2. If you go opposite way then all of people around you that might be actually the best way.
That learned me to always look around for new stuff cause this small stuff that people make today can be big company next day just cause they got annoyed by things and start something new.
3. Trust nothing that you see.
Bugs are everywhere
4. Quality and speed doesn’t matter when you start doing something but consistency matters a lot.
When you start doing something you suck and you need to be ok with fact that you’re going to make lots of stupid mistakes and learn from them.
When you start new prototype you don’t need dozen tools to finish it, you don’t need performance or perfection, you need consistency to finish it.
In order for you to become well-versed at something you cannot study it at a distance.
In addition, most of the time the best way to learn something is to start trying to do stuff. If you wanna learn a language, start trying to program in it. Just go for it.5
50% of my work is passed by my co-workers as their work
99% of my work comes from StackOverflow and GitHub
At least, I take public domain work1
To abstract your case,
Full of the catharsis
And exceptions to face.
Didn't commit, oh wait,
More trouble? One reset.
We return and all hail
This programming mindset!2
Some user requirements are completely unnecessary that you can lie about them and no one will figure it out ever2
Programming has taught me
1. Importance of patience, friends and family and yeh StackOverflow too...
2. Importance of small contributions towards dev community.
3. How smaller things can make big changes.
4. Helping others and getting help if you get stuck.
5. Anyone can code, but very few can build robust solutions. Project not just coding but it needs preparation and planning too.
6. Importance of reading documentations, writing test cases, debugger programs.
7. You can learn things even if you have no idea about it. It just takes your interest.
It appears I've discovered myself quite talented at solving problems.
And also, that I'm surrounded by idiots, who don't know what an integer is.
Also, that im an idiot.2
Even if the solution is working, does not mean it is the correct and way of doing it. One can save a lot of time and effort by learning from others instead of sticking to his/her ego.
Life lesson learned:
Despite good intentions, don't overengineer the front-end, when time is heavily constrained and the release is scheduled and is communicated to media outlets immediately after.
A broken release just makes the client send around multiple emails per minute with tens of people in CC.
Shit happens... at least it was a bargain for them.
That we all fail and for every time you think someone else is stupid or falls into mistakes, you will fall into your own mistakes and be stupid in front of someone else, no one is perfect, we are all humans and at the end our work is to tell machines what to do and if they do it wrong, it's because we told them to do it that way and we are wrong.
If i was to start coding today with all the things that are available right now i would be super humbled and would have learnt very quickly .
If you are a beginner and want to get started in coding the first thing you should do is just start.
Coding is all about practice and consistency.
Dont give up
Make google your best friend .
Try to google like crazy and you will be able to get answers to almost any damn question.
Idk if am learning nthe wrong things, but from what i have seen, speed in execution is the top thing that matters most of the time.
And am not talking about your program's execution speed, i am talking about weather programmer could write a code fast enough to impress the authorities and take the prize.
You are writing shitty code that is able to add the feature that your boss wanted in 2 days,no matter how unstable and fake your code is, you are good, and you can expect a promotion anytime soon
But if you are trying to write a code after dedicating time to research and following best practices that is taking you more time than the deadline, you can go fuck yourselves a letter about firing is coming right away7
1) communication is the key
2) if you don't understand something, ask
3) people always lie
4) you can always improove
5) if you don't stand up for yourself, noone will
Not so much that coding made me realise this, it's just something that got confirmed once I started working..
Coding taught me to be patient, understanding, and accept my mistakes.
Don't blame the computer when things are going wrong; it is just doing that it is being told to do. If you acknowledge that you might be to blame too, sit down and have a calm conversation with it (debugging joke😂), things will be alright.
Searching syntax of for loop every time I use it for a language I have been using for the last 5 years is normal.1
Read. Everything. CAREFULLY.
And do some research if needed.
Books are there for a reason.
Seems pretty obvious, uh?
I am not as open minded and patient and a good teammate as I thought I was. Also either I am the biggest asshole on the planet, or I am so unlucky that I meet all kinds of assholes in my workplace, both past and present.
Programming has taught me that if I want to create something digital, I can do it myself or teach myself or work on it with others.
Programming has taught me that I have the power to influence the world I want to see, and to be patient as well.
It's important to have a little fun with what you do. You can work on and on like it's a chore and get along with it just fine, but right below the surface of the tools you use lies something truly interesting. Reading code, documentation, blog posts, what have you, all of it is just as helpful in learning as writing code.
And also, be kind. We all write crap code from time to time. As a beginner, I know I do. It's important to take it all as a learning experience.
Personal favourite quote that puts it very well: 'I guess you could call it a “ failure,” but I prefer the term “learning experience".'
It does not matter how much you try to write a clean code , there is always a room for better one ...
cataloguing and accounting for known unknowns and knowing when exactly you need to turn them into knowns (if ever).
basically getting used to the idea that you're always in some way and to some degree stumbling in/through the dark because your light is too dim to illuminate everything, so you have to choose the right direction to point it in. getting lost isn't not knowing what's everywhere around, it's not knowing what's in the specific direction that you need to go in.
oh and, also, sadly, this shouldn't be true, but at least in my life it is: there's nobody to ask for help when you're the one others come to to ask for help. either I solve something, or it will stay unsolved. which is... stressful and exhausting, and often desperation-inducing, but i guess it is what it is...1
There will always be someone who has had the same problem as you and had most likely found a solution. Just be patient enough to look for it.2
Job is just that - a job, no one cares about you or your feelings, if you’re being treated well, that only means you’re valuable asset, which company doesn’t want to loose, but they will get rid of you on first opportunity, when you’ll appear not as valuable enough or when your opinions/values won’t match.4
No matter how hard you try to cover every requirement, there will always be at least one you missed, if not 100.1
It's good and okay to make mistakes, no one is perfect and it's rare to non-existent to have a code running perfectly after the first try.
tho my perfectionism wants it otherwise but yea
1. The actual "Programming" is only useful for clearing tough , Unrelated interviews most of the time.
2. Software developers are not "really" changing the world. We are just writing pretty websites and apps to make the world lazy, and make the investors a fool. The wall-e future is real, and we are responsible for the bad part of it ( the robots are the good parts and their credit goes to the hardware engineers, we are not them)
3. Ai is just math making guesses based on statistics.
4. That am depressed as fuck since my last internship and don't wanna touch the pc or devlop or "program" anymore5
No matter how large and insurmountable the problem might first seem, it can always be hidden into smaller and smaller parts, until a solution can be found.